diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 562703e49ece..c585e3bebb09 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9670,6 +9670,12 @@ name = "Greaka"; keys = [ { fingerprint = "6275 FB5C C9AC 9D85 FF9E 44C5 EE92 A5CD C367 118C"; } ]; }; + greatnatedev = { + email = "Nate@pelmel.net"; + github = "GreatNateDev"; + githubId = 99703235; + name = "Nate"; + }; greg = { email = "greg.hellings@gmail.com"; github = "greg-hellings"; @@ -11637,7 +11643,7 @@ name = "jasonxue"; keys = [ { - fingerprint = "D6D8 A0A8 6FAC 3D8E D85C 523D F7BA 32A3 FCB0 260A"; + fingerprint = "DB16 A6C9 B0A9 B000 44F2 B074 E480 A836 F6DD 2441"; } ]; }; diff --git a/nixos/modules/services/web-apps/dolibarr.nix b/nixos/modules/services/web-apps/dolibarr.nix index 1e22847063b2..0a669ccad2a7 100644 --- a/nixos/modules/services/web-apps/dolibarr.nix +++ b/nixos/modules/services/web-apps/dolibarr.nix @@ -25,12 +25,19 @@ let package = cfg.package.override { inherit (cfg) stateDir; }; cfg = config.services.dolibarr; - vhostCfg = lib.optionalAttrs (cfg.nginx != null) config.services.nginx.virtualHosts."${cfg.domain}"; + + forcedTLS = + if cfg.h2o != null then + cfg.h2o.tls != null && cfg.h2o.tls.policy == "force" + else if cfg.nginx != null then + cfg.nginx.forceSSL + else + false; mkConfigFile = filename: settings: let - # hack in special logic for secrets so we read them from a separate file avoiding the nix store + # hack in special logic for secrets so we read them from a separate file avoiding the Nix store secretKeys = [ "force_install_databasepass" "dolibarr_main_db_pass" @@ -55,6 +62,34 @@ let ${concatStringsSep "\n" (mapAttrsToList (k: v: "\$${k} = ${toStr k v};") settings)} ''; + dbUnit = + { + "mysql" = "mysql.service"; + "postgresql" = "postgresql.target"; + } + .${cfg.database.type}; + + dbPort = + if cfg.database.createLocally then + { + "mysql" = config.services.mysql.settings.mysqld.port; + "postgresql" = config.services.postgresql.settings.port; + } + .${cfg.database.type} + else + cfg.database.port; + + # exclusivity asserted in `assertions` + webServerService = + if cfg.h2o != null then + "h2o.service" + else if cfg.nginx != null then + "nginx.service" + else + null; + + socketOwner = if cfg.h2o != null then config.services.h2o.user else cfg.user; + # see https://github.com/Dolibarr/dolibarr/blob/develop/htdocs/install/install.forced.sample.php for all possible values install = { force_install_noedit = 2; @@ -62,13 +97,18 @@ let force_install_nophpinfo = true; force_install_lockinstall = "444"; force_install_distrib = "nixos"; - force_install_type = "mysqli"; + force_install_type = + { + "mysql" = "mysqli"; + "postgresql" = "pgsql"; + } + .${cfg.database.type}; force_install_dbserver = cfg.database.host; - force_install_port = toString cfg.database.port; + force_install_port = toString dbPort; force_install_database = cfg.database.name; force_install_databaselogin = cfg.database.user; - force_install_mainforcehttps = vhostCfg.forceSSL or false; + force_install_mainforcehttps = forcedTLS; force_install_createuser = false; force_install_dolibarrlogin = null; } @@ -128,6 +168,15 @@ in }; database = { + type = mkOption { + type = types.enum [ + "mysql" + "postgresql" + ]; + example = "postgresql"; + default = "mysql"; + description = "Database engine to use."; + }; host = mkOption { type = types.str; default = "localhost"; @@ -173,6 +222,29 @@ in description = "Dolibarr settings, see for details."; }; + h2o = mkOption { + type = types.nullOr ( + types.submodule (import ../web-servers/h2o/vhost-options.nix { inherit config lib; }) + ); + default = null; + example = + lib.literalExpression # nix + '' + { + acme.enable = true; + tls.policy = "force"; + compress = "ON"; + } + ''; + description = '' + With this option, you can customize an H2O virtual host which already + has sensible defaults for Dolibarr. Set to `{ }` if you do not need any + customization to the virtual host. If enabled, then by default, the + {option}`serverName` is `''${domain}`, If this is set to `null` (the + default), no H2O `hosts` will be configured. + ''; + }; + nginx = mkOption { type = types.nullOr ( types.submodule ( @@ -228,152 +300,240 @@ in }; # implementation - config = mkIf cfg.enable (mkMerge [ - { + config = mkIf cfg.enable { - assertions = [ + assertions = [ + { + assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; + message = "services.dolibarr.database.user must match services.dolibarr.user if the database is to be automatically provisioned"; + } + ( + let + webServers = [ + "h2o" + "nginx" + ]; + checkConfigs = lib.concatMapStringsSep ", " (ws: "services.dolibarr.${ws}") webServers; + in { - assertion = cfg.database.createLocally -> cfg.database.user == cfg.user; - message = "services.dolibarr.database.user must match services.dolibarr.user if the database is to be automatically provisioned"; + assertion = builtins.length (lib.lists.filter (ws: cfg.${ws} != null) webServers) <= 1; + message = '' + At most 1 web server virtual host configuration should be enabled + for Dolibarr at a time. Check ${checkConfigs}. + ''; + } + ) + ]; + + services.dolibarr.settings = { + dolibarr_main_url_root = "https://${cfg.domain}"; + dolibarr_main_document_root = "${package}/htdocs"; + dolibarr_main_url_root_alt = "/custom"; + dolibarr_main_data_root = "${cfg.stateDir}/documents"; + + dolibarr_main_db_host = cfg.database.host; + dolibarr_main_db_port = toString dbPort; + dolibarr_main_db_name = cfg.database.name; + dolibarr_main_db_prefix = "llx_"; + dolibarr_main_db_user = cfg.database.user; + dolibarr_main_db_pass = mkIf (cfg.database.passwordFile != null) '' + file_get_contents("${cfg.database.passwordFile}") + ''; + dolibarr_main_db_type = + { + "mysql" = "mysqli"; + "postgresql" = "pgsql"; + } + .${cfg.database.type}; + dolibarr_main_db_character_set = mkDefault "utf8"; + dolibarr_main_db_collation = mkDefault "utf8_unicode_ci"; + + # Authentication settings + dolibarr_main_authentication = mkDefault "dolibarr"; + + # Security settings + dolibarr_main_prod = true; + dolibarr_main_force_https = forcedTLS; + dolibarr_main_restrict_os_commands = + { + "mysql" = "${pkgs.mariadb}/bin/mysqldump, ${pkgs.mariadb}/bin/mysql"; + "postgresql" = + let + pkg = config.services.postgresql.package; + in + "${pkg}/bin/pg_dump, ${pkg}/bin/psql"; + } + .${cfg.database.type}; + dolibarr_nocsrfcheck = false; + dolibarr_main_instance_unique_id = '' + file_get_contents("${cfg.stateDir}/dolibarr_main_instance_unique_id") + ''; + dolibarr_mailing_limit_sendbyweb = false; + }; + + systemd.tmpfiles.rules = [ + "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group}" + "d '${cfg.stateDir}/documents' 0750 ${cfg.user} ${cfg.group}" + "f '${cfg.stateDir}/conf.php' 0660 ${cfg.user} ${cfg.group}" + "L '${cfg.stateDir}/install.forced.php' - ${cfg.user} ${cfg.group} - ${mkConfigFile "install.forced.php" install}" + ]; + + services.mysql = mkIf (cfg.database.createLocally && cfg.database.type == "mysql") { + enable = mkDefault true; + package = mkDefault pkgs.mariadb; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { + name = cfg.database.user; + ensurePermissions = { + "${cfg.database.name}.*" = "ALL PRIVILEGES"; + }; } ]; + }; - services.dolibarr.settings = { - dolibarr_main_url_root = "https://${cfg.domain}"; - dolibarr_main_document_root = "${package}/htdocs"; - dolibarr_main_url_root_alt = "/custom"; - dolibarr_main_data_root = "${cfg.stateDir}/documents"; - - dolibarr_main_db_host = cfg.database.host; - dolibarr_main_db_port = toString cfg.database.port; - dolibarr_main_db_name = cfg.database.name; - dolibarr_main_db_prefix = "llx_"; - dolibarr_main_db_user = cfg.database.user; - dolibarr_main_db_pass = mkIf (cfg.database.passwordFile != null) '' - file_get_contents("${cfg.database.passwordFile}") - ''; - dolibarr_main_db_type = "mysqli"; - dolibarr_main_db_character_set = mkDefault "utf8"; - dolibarr_main_db_collation = mkDefault "utf8_unicode_ci"; - - # Authentication settings - dolibarr_main_authentication = mkDefault "dolibarr"; - - # Security settings - dolibarr_main_prod = true; - dolibarr_main_force_https = vhostCfg.forceSSL or false; - dolibarr_main_restrict_os_commands = "${pkgs.mariadb}/bin/mysqldump, ${pkgs.mariadb}/bin/mysql"; - dolibarr_nocsrfcheck = false; - dolibarr_main_instance_unique_id = '' - file_get_contents("${cfg.stateDir}/dolibarr_main_instance_unique_id") - ''; - dolibarr_mailing_limit_sendbyweb = false; - }; - - systemd.tmpfiles.rules = [ - "d '${cfg.stateDir}' 0750 ${cfg.user} ${cfg.group}" - "d '${cfg.stateDir}/documents' 0750 ${cfg.user} ${cfg.group}" - "f '${cfg.stateDir}/conf.php' 0660 ${cfg.user} ${cfg.group}" - "L '${cfg.stateDir}/install.forced.php' - ${cfg.user} ${cfg.group} - ${mkConfigFile "install.forced.php" install}" - ]; - - services.mysql = mkIf cfg.database.createLocally { - enable = mkDefault true; - package = mkDefault pkgs.mariadb; - ensureDatabases = [ cfg.database.name ]; - ensureUsers = [ - { - name = cfg.database.user; - ensurePermissions = { - "${cfg.database.name}.*" = "ALL PRIVILEGES"; - }; - } - ]; - }; - - services.nginx.enable = mkIf (cfg.nginx != null) true; - services.nginx.virtualHosts."${cfg.domain}" = mkIf (cfg.nginx != null) ( - lib.mkMerge [ - cfg.nginx - { - root = lib.mkForce "${package}/htdocs"; - locations."/".index = "index.php"; - locations."~ [^/]\\.php(/|$)" = { - extraConfig = '' - fastcgi_split_path_info ^(.+?\.php)(/.*)$; - fastcgi_pass unix:${config.services.phpfpm.pools.dolibarr.socket}; - ''; - }; - } - ] - ); - - systemd.services."phpfpm-dolibarr".after = mkIf cfg.database.createLocally [ "mysql.service" ]; - services.phpfpm.pools.dolibarr = { - inherit (cfg) user group; - phpPackage = pkgs.php83.buildEnv { - extensions = { enabled, all }: enabled ++ [ all.calendar ]; - # recommended by dolibarr web application - extraConfig = '' - session.use_strict_mode = 1 - session.cookie_samesite = "Lax" - ; open_basedir = "${package}/htdocs, ${cfg.stateDir}" - allow_url_fopen = 0 - disable_functions = "pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_get_handler, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, pcntl_async_signals" - ''; - }; - - settings = { - "listen.mode" = "0660"; - "listen.owner" = cfg.user; - "listen.group" = cfg.group; + services.postgresql = mkIf (cfg.database.createLocally && cfg.database.type == "postgresql") { + enable = mkDefault true; + ensureDatabases = [ cfg.database.name ]; + ensureUsers = [ + { + name = cfg.database.user; + ensureDBOwnership = true; } - // cfg.poolConfig; + ]; + authentication = '' + host ${cfg.database.name} ${cfg.database.user} localhost trust + ''; + }; + + services.h2o = mkIf (cfg.h2o != null) { + enable = true; + hosts."${cfg.domain}" = mkMerge [ + { + settings = { + paths = { + "/" = { + "file.dir" = "${package}/htdocs"; + "file.index" = [ + "index.php" + "index.html" + ]; + redirect = { + url = "/index.php/"; + internal = "YES"; + status = 307; + }; + }; + }; + "file.custom-handler" = { + extension = [ ".php" ]; + "fastcgi.document_root" = "${package}/htdocs"; + "fastcgi.connect" = { + port = config.services.phpfpm.pools.dolibarr.socket; + type = "unix"; + }; + }; + }; + } + cfg.h2o + ]; + }; + + services.nginx.enable = mkIf (cfg.nginx != null) true; + services.nginx.virtualHosts."${cfg.domain}" = mkIf (cfg.nginx != null) ( + lib.mkMerge [ + cfg.nginx + { + root = lib.mkForce "${package}/htdocs"; + locations."/".index = "index.php"; + locations."~ [^/]\\.php(/|$)" = { + extraConfig = '' + fastcgi_split_path_info ^(.+?\.php)(/.*)$; + fastcgi_pass unix:${config.services.phpfpm.pools.dolibarr.socket}; + ''; + }; + } + ] + ); + + systemd.services."phpfpm-dolibarr" = { + wantedBy = lib.optional (webServerService != null) webServerService; + before = lib.optional (webServerService != null) webServerService; + after = lib.optional cfg.database.createLocally dbUnit; + requires = lib.optional cfg.database.createLocally dbUnit; + }; + + services.phpfpm.pools.dolibarr = { + inherit (cfg) user group; + phpPackage = pkgs.php83.buildEnv { + extensions = { enabled, all }: enabled ++ [ all.calendar ]; + # recommended by Dolibarr web application + extraConfig = '' + session.use_strict_mode = 1 + session.cookie_samesite = "Lax" + ; open_basedir = "${package}/htdocs, ${cfg.stateDir}" + allow_url_fopen = 0 + disable_functions = "pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_get_handler, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, pcntl_async_signals" + ''; }; - # there are several challenges with dolibarr and NixOS which we can address here - # - the dolibarr installer cannot be entirely automated, though it can partially be by including a file called install.forced.php - # - the dolibarr installer requires write access to its config file during installation, though not afterwards - # - the dolibarr config file generally holds secrets generated by the installer, though the config file is a php file so we can read and write these secrets from an external file - systemd.services.dolibarr-config = { - description = "dolibarr configuration file management via NixOS"; - wantedBy = [ "multi-user.target" ]; + settings = { + "listen.mode" = "0660"; + "listen.owner" = socketOwner; + "listen.group" = cfg.group; + } + // cfg.poolConfig; + }; - script = - let - php = lib.getExe config.services.phpfpm.pools.dolibarr.phpPackage; - in - '' - # extract the 'main instance unique id' secret that the dolibarr installer generated for us, store it in a file for use by our own NixOS generated configuration file - ${php} -r "include '${cfg.stateDir}/conf.php'; file_put_contents('${cfg.stateDir}/dolibarr_main_instance_unique_id', \$dolibarr_main_instance_unique_id);" + # There are several challenges with Dolibarr and NixOS which we can address here + # - the Dolibarr installer cannot be entirely automated, though it can partially be by including a file called install.forced.php + # - the Dolibarr installer requires write access to its config file during installation, though not afterwards + # - the Dolibarr config file generally holds secrets generated by the installer, though the config file is a PHP file so we can read and write these secrets from an external file + systemd.services.dolibarr-config = { + description = "dolibarr configuration file management via NixOS"; + wantedBy = [ "multi-user.target" ]; + after = lib.optional cfg.database.createLocally dbUnit; - # replace configuration file generated by installer with the NixOS generated configuration file - install -m 440 ${mkConfigFile "conf.php" cfg.settings} '${cfg.stateDir}/conf.php' - ''; + script = + let + php = lib.getExe config.services.phpfpm.pools.dolibarr.phpPackage; + in + '' + # extract the 'main instance unique id' secret that the dolibarr installer generated for us, store it in a file for use by our own NixOS generated configuration file + ${php} -r "include '${cfg.stateDir}/conf.php'; file_put_contents('${cfg.stateDir}/dolibarr_main_instance_unique_id', \$dolibarr_main_instance_unique_id);" - serviceConfig = { - Type = "oneshot"; - User = cfg.user; - Group = cfg.group; - RemainAfterExit = "yes"; - }; + # replace configuration file generated by installer with the NixOS generated configuration file + install -m 440 ${mkConfigFile "conf.php" cfg.settings} '${cfg.stateDir}/conf.php' + ''; - unitConfig = { - ConditionFileNotEmpty = "${cfg.stateDir}/conf.php"; + serviceConfig = { + Type = "oneshot"; + User = cfg.user; + Group = cfg.group; + RemainAfterExit = "yes"; + }; + + unitConfig = { + ConditionFileNotEmpty = "${cfg.stateDir}/conf.php"; + }; + }; + + users = { + users = { + dolibarr = mkIf (cfg.user == "dolibarr") { + isSystemUser = true; + group = cfg.group; }; + } + // lib.optionalAttrs (cfg.h2o != null) { + "${config.services.h2o.user}".extraGroups = [ cfg.group ]; + } + // lib.optionalAttrs (cfg.nginx != null) { + "${config.services.nginx.user}".extraGroups = [ cfg.group ]; }; - - users.users.dolibarr = mkIf (cfg.user == "dolibarr") { - isSystemUser = true; - group = cfg.group; - }; - - users.groups = optionalAttrs (cfg.group == "dolibarr") { + groups = optionalAttrs (cfg.group == "dolibarr") { dolibarr = { }; }; - } - (mkIf (cfg.nginx != null) { - users.users."${config.services.nginx.group}".extraGroups = mkIf (cfg.nginx != null) [ cfg.group ]; - }) - ]); + }; + }; } diff --git a/nixos/tests/dolibarr.nix b/nixos/tests/dolibarr.nix index 5a67a4a66e77..97ee0ebc7bb0 100644 --- a/nixos/tests/dolibarr.nix +++ b/nixos/tests/dolibarr.nix @@ -3,58 +3,84 @@ name = "dolibarr"; meta.maintainers = [ ]; - nodes.machine = - { ... }: - { - services.dolibarr = { - enable = true; - domain = "localhost"; - nginx = { - forceSSL = false; - enableACME = false; + nodes = { + nginx_mysql = + { ... }: + { + services.dolibarr = { + enable = true; + domain = "localhost"; + nginx = { + forceSSL = false; + enableACME = false; + }; + database.type = "mysql"; }; + + networking.firewall.allowedTCPPorts = [ 80 ]; }; + h2o_postgresql = + { ... }: + { + services.dolibarr = { + enable = true; + domain = "localhost"; + h2o = { + acme.enable = false; + }; + database.type = "postgresql"; + }; - networking.firewall.allowedTCPPorts = [ 80 ]; - }; + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + }; - testScript = '' - from html.parser import HTMLParser - start_all() + testScript = # python + '' + from html.parser import HTMLParser + start_all() - csrf_token = None - class TokenParser(HTMLParser): - def handle_starttag(self, tag, attrs): - attrs = dict(attrs) # attrs is an assoc list originally - if tag == 'input' and attrs.get('name') == 'token': - csrf_token = attrs.get('value') - print(f'[+] Caught CSRF token: {csrf_token}') - def handle_endtag(self, tag): pass - def handle_data(self, data): pass + csrf_token = None + class TokenParser(HTMLParser): + def handle_starttag(self, tag, attrs): + attrs = dict(attrs) # attrs is an assoc list originally + if tag == 'input' and attrs.get('name') == 'token': + csrf_token = attrs.get('value') + print(f'[+] Caught CSRF token: {csrf_token}') + def handle_endtag(self, tag): pass + def handle_data(self, data): pass - machine.wait_for_unit("phpfpm-dolibarr.service") - machine.wait_for_unit("nginx.service") - machine.wait_for_open_port(80) - # Sanity checks on URLs. - # machine.succeed("curl -fL http://localhost/index.php") - # machine.succeed("curl -fL http://localhost/") - # Perform installation. - machine.succeed('curl -fL -X POST http://localhost/install/check.php -F selectlang=auto') - machine.succeed('curl -fL -X POST http://localhost/install/fileconf.php -F selectlang=auto') - # First time is to write the configuration file correctly. - machine.succeed('curl -fL -X POST http://localhost/install/step1.php -F "testpost=ok" -F "action=set" -F "selectlang=auto"') - # Now, we have a proper conf.php in $stateDir. - assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") - machine.succeed('curl -fL -X POST http://localhost/install/step2.php --data "testpost=ok&action=set&dolibarr_main_db_character_set=utf8&dolibarr_main_db_collation=utf8_unicode_ci&selectlang=auto"') - machine.succeed('curl -fL -X POST http://localhost/install/step4.php --data "testpost=ok&action=set&selectlang=auto"') - machine.succeed('curl -fL -X POST http://localhost/install/step5.php --data "testpost=ok&action=set&login=root&pass=hunter2&pass_verif=hunter2&selectlang=auto"') - # Now, we have installed the machine, let's verify we still have the right configuration. - assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") - # We do not want any redirect now as we have installed the machine. - machine.succeed('curl -f -X GET http://localhost') - # Test authentication to the webservice. - parser = TokenParser() - parser.feed(machine.succeed('curl -f -X GET http://localhost/index.php?mainmenu=login&username=root')) - machine.succeed(f'curl -f -X POST http://localhost/index.php?mainmenu=login&token={csrf_token}&username=root&password=hunter2') - ''; + # wait for app + for machine in (nginx_mysql, h2o_postgresql): + machine.wait_for_unit("phpfpm-dolibarr.service") + + # wait for web servers + nginx_mysql.wait_for_unit("nginx.service") + nginx_mysql.wait_for_open_port(80) + h2o_postgresql.wait_for_unit("h2o.service") + h2o_postgresql.wait_for_open_port(80) + + for machine in (nginx_mysql, h2o_postgresql): + # Sanity checks on URLs. + machine.succeed("curl -fL http://localhost/index.php") + machine.succeed("curl -fL http://localhost/") + # Perform installation. + machine.succeed('curl -fL -X POST http://localhost/install/check.php -F selectlang=auto') + machine.succeed('curl -fL -X POST http://localhost/install/fileconf.php -F selectlang=auto') + # First time is to write the configuration file correctly. + machine.succeed('curl -fL -X POST http://localhost/install/step1.php -F "testpost=ok" -F "action=set" -F "selectlang=auto"') + # Now, we have a proper conf.php in $stateDir. + assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") + machine.succeed('curl -fL -X POST http://localhost/install/step2.php --data "testpost=ok&action=set&dolibarr_main_db_character_set=utf8&dolibarr_main_db_collation=utf8_unicode_ci&selectlang=auto"') + machine.succeed('curl -fL -X POST http://localhost/install/step4.php --data "testpost=ok&action=set&selectlang=auto"') + machine.succeed('curl -fL -X POST http://localhost/install/step5.php --data "testpost=ok&action=set&login=root&pass=hunter2&pass_verif=hunter2&selectlang=auto"') + # Now, we have installed the machine, let's verify we still have the right configuration. + assert 'nixos' in machine.succeed("cat /var/lib/dolibarr/conf.php") + # We do not want any redirect now as we have installed the machine. + machine.succeed('curl -f -X GET http://localhost') + # Test authentication to the webservice. + parser = TokenParser() + parser.feed(machine.succeed('curl -f -X GET http://localhost/index.php?mainmenu=login&username=root')) + machine.succeed(f'curl -f -X POST http://localhost/index.php?mainmenu=login&token={csrf_token}&username=root&password=hunter2') + ''; } diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index f61db1225a89..b57a7bbd905e 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -216,10 +216,6 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp \ --replace-fail \"libGL.so.1\" \"${libGL.out}/lib/libGL.so.1\" - # this works in conjunction with fix-graphics-driver-loading.patch - substituteInPlace src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp \ - --replace-fail \"VBoxDxVk\" \"$out/libexec/virtualbox/VBoxDxVk.so\" - export USER=nix set +x ''; diff --git a/pkgs/by-name/bi/bibiman/package.nix b/pkgs/by-name/bi/bibiman/package.nix index 1fa133b69ce3..a6c049d37067 100644 --- a/pkgs/by-name/bi/bibiman/package.nix +++ b/pkgs/by-name/bi/bibiman/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "bibiman"; - version = "0.13.1"; + version = "0.15.0"; src = fetchFromGitea { domain = "codeberg.org"; owner = "lukeflo"; repo = "bibiman"; tag = "v${version}"; - hash = "sha256-MdUabJQ5x3/n7dfbIjAqK9hDQ+lLNOtXknY4fTSW67Q="; + hash = "sha256-GAPlfHeo/g2QaRW3v9LatqYajJ2gE1ssK77yJPhOKuo="; }; - cargoHash = "sha256-FARk/BCssI35aS4yxUnfGoV6C3i4/a/LQcEMIKD29Ac="; + cargoHash = "sha256-aQ9h+L232dxZRPOQ+6b+vI3v/QdBR4//3HV8K9vwWV8="; nativeInstallCheckInputs = [ versionCheckHook diff --git a/pkgs/by-name/bs/bsc/package.nix b/pkgs/by-name/bs/bsc/package.nix index 274e258dba34..a8c8688ea5f0 100644 --- a/pkgs/by-name/bs/bsc/package.nix +++ b/pkgs/by-name/bs/bsc/package.nix @@ -3,35 +3,34 @@ stdenv, fetchFromGitHub, llvmPackages, + cmake, + nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "bsc"; - version = "3.3.6"; + version = "3.3.12"; src = fetchFromGitHub { owner = "IlyaGrebnov"; repo = "libbsc"; tag = "v${finalAttrs.version}"; - hash = "sha256-iUFKTDSAg2/57TPvR0nlmfVN2Z6O9kZKIg+BQQKvr/o="; + hash = "sha256-3dFwmThnDzbXB6m/rDfbSz4DZAlIsm4gUOT7YwexpKA="; }; enableParallelBuilding = true; + nativeBuildInputs = [ cmake ]; + buildInputs = lib.optional stdenv.hostPlatform.isDarwin llvmPackages.openmp; - postPatch = lib.optional (!stdenv.hostPlatform.isx86) '' - substituteInPlace makefile \ - --replace-fail "-mavx2" "" - - substituteInPlace makefile.cuda \ - --replace-fail "-mavx2" "" + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-fail "check_c_compiler_flag(-march=native COMPILER_SUPPORTS_MARCH_NATIVE_C)" "" \ + --replace-fail "check_cxx_compiler_flag(-march=native COMPILER_SUPPORTS_MARCH_NATIVE_CXX)" "" ''; - makeFlags = [ - "CC=$(CXX)" - "PREFIX=${placeholder "out"}" - ]; + passthru.updateScript = nix-update-script { }; meta = { description = "High performance block-sorting data compression library"; diff --git a/pkgs/by-name/cd/cdncheck/package.nix b/pkgs/by-name/cd/cdncheck/package.nix index 3c178a55b7cc..60b6929118ca 100644 --- a/pkgs/by-name/cd/cdncheck/package.nix +++ b/pkgs/by-name/cd/cdncheck/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "cdncheck"; - version = "1.2.4"; + version = "1.2.5"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "cdncheck"; tag = "v${version}"; - hash = "sha256-O4tw/Uc2EuZerAVD8l2n5HejqWZUcCPHuU757r+uRmY="; + hash = "sha256-Ty+W5uiFkr8MBhWUweHsFQnIZ8R+oJoCcvQabHFdu7U="; }; - vendorHash = "sha256-6GxqDWRnvvj4OM2hqkwWFDvhOm+2VQvoGHivuOtTyCg="; + vendorHash = "sha256-YjkO3QTQZlCfbKm/uYNVwnyQ/1Tde77YB2m7CqKsRtM="; subPackages = [ "cmd/cdncheck/" ]; diff --git a/pkgs/by-name/ch/chisel/package.nix b/pkgs/by-name/ch/chisel/package.nix index 9ebca5d016d6..dfa72d947bfc 100644 --- a/pkgs/by-name/ch/chisel/package.nix +++ b/pkgs/by-name/ch/chisel/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "chisel"; - version = "1.10.1"; + version = "1.11.3"; src = fetchFromGitHub { owner = "jpillora"; repo = "chisel"; tag = "v${version}"; - hash = "sha256-b3r4D/P7D3kfIyMd1s/ntciY04qMrvSTru9+HjAOrnA="; + hash = "sha256-JrDRcp0gImG/5b/BC0KWM2IqJrS2mzO+ZX6kbTtQYlM="; }; - vendorHash = "sha256-+11Pd/QCxoLLkeazmU9/vnPBaB2MZXmx4cEZRDnyRcQ="; + vendorHash = "sha256-2H+YHqYE1xm+7qDG3jfFpwS9FbYkbwJ6uso2At2BZcU="; ldflags = [ "-s" @@ -35,8 +35,8 @@ buildGoModule rec { used to provide a secure endpoint into your network. ''; homepage = "https://github.com/jpillora/chisel"; - changelog = "https://github.com/jpillora/chisel/releases/tag/v${version}"; - license = with lib.licenses; [ mit ]; + changelog = "https://github.com/jpillora/chisel/releases/tag/${src.tag}"; + license = lib.licenses.mit; maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/by-name/co/coverage-reporter/package.nix b/pkgs/by-name/co/coverage-reporter/package.nix new file mode 100644 index 000000000000..7323f06b1403 --- /dev/null +++ b/pkgs/by-name/co/coverage-reporter/package.nix @@ -0,0 +1,39 @@ +{ + lib, + crystal_1_17, + fetchFromGitHub, + versionCheckHook, + ... +}: +crystal_1_17.buildCrystalPackage rec { + pname = "coverage-reporter"; + version = "0.6.17"; + + src = fetchFromGitHub { + owner = "coverallsapp"; + repo = "coverage-reporter"; + tag = "v${version}"; + hash = "sha256-wbxPjNAUubbL9TJnyqR7aYkMmADkIuD2PF00xI2wa84="; + }; + + shardsFile = ./shards.nix; + + installPhase = '' + runHook preInstall + install -Dm755 bin/coveralls $out/bin/coveralls + runHook postInstall + ''; + + doCheck = false; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + meta = { + changelog = "https://github.com/coverallsapp/coverage-reporter/releases/tag/${src.tag}"; + description = "Self-contained, universal coverage uploader binary"; + homepage = "https://github.com/coverallsapp/coverage-reporter"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ quadradical ]; + mainProgram = "coveralls"; + }; +} diff --git a/pkgs/by-name/co/coverage-reporter/shards.nix b/pkgs/by-name/co/coverage-reporter/shards.nix new file mode 100644 index 000000000000..a92b1dee1056 --- /dev/null +++ b/pkgs/by-name/co/coverage-reporter/shards.nix @@ -0,0 +1,32 @@ +{ + "ameba" = { + url = "https://github.com/crystal-ameba/ameba.git"; + rev = "7174e81a13f3cb3b3d317e236616149b4360de18"; + sha256 = "1ivrwnnid7gn1aq78vymxxgyjmrmlw5i59gmwxbz8g0ph4nbrd4p"; + }; + "crystal-kcov" = { + url = "https://github.com/vici37/crystal-kcov.git"; + rev = "7e49fe22d7d47040c9de77eb77a6daa76ce0655d"; + sha256 = "1x9yayzh2jz6gs8hvrlyhywmln8mkhhcm6v9x2i3i7cznjl86la6"; + }; + "db" = { + url = "https://github.com/crystal-lang/crystal-db.git"; + rev = "v0.12.0"; + sha256 = "1in8w2dz7nlhqgc9l6b3pi6f944m29nhbg3p5j40qzvsrr8lqaj7"; + }; + "spectator" = { + url = "https://gitlab.com/arctic-fox/spectator.git"; + rev = "v0.12.0"; + sha256 = "1fi8zmcdfyr16pz8dvs39b93zgiirgsyrrp3ysdrlf9mjah0nss8"; + }; + "sqlite3" = { + url = "https://github.com/crystal-lang/crystal-sqlite3.git"; + rev = "v0.20.0"; + sha256 = "0mqy6rc26i0sf2fdllbbzdhbd1d35npmpqqjz0b1n1vrzrm6fg05"; + }; + "webmock" = { + url = "https://github.com/manastech/webmock.cr.git"; + rev = "v0.14.0"; + sha256 = "1h008sx33xq0hha2lxd5dsh2wr7rzlv4nifgr4k5knpw5ahq1f88"; + }; +} diff --git a/pkgs/by-name/cr/cruise/package.nix b/pkgs/by-name/cr/cruise/package.nix new file mode 100644 index 000000000000..087e97b4feef --- /dev/null +++ b/pkgs/by-name/cr/cruise/package.nix @@ -0,0 +1,31 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + nix-update-script, +}: + +buildGoModule (finalAttrs: { + pname = "cruise"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "NucleoFusion"; + repo = "cruise"; + tag = "v${finalAttrs.version}"; + hash = "sha256-0xIugbLlKlMODbMvsFzQXjKNNGY61tF4P/0loPlfs6o="; + }; + + vendorHash = "sha256-Zx1rZl5ljlsBNV1eQKPtQ+SgJV9l5rS8hwBe8nX9dYQ="; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "TUI for managing Docker containers, images, volumes, networks, and more"; + homepage = "https://github.com/NucleoFusion/cruise"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ greatnatedev ]; + mainProgram = "cruise"; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/de/debian-devscripts/package.nix b/pkgs/by-name/de/debian-devscripts/package.nix index 089ea98cbbfe..f0c27ba249f0 100644 --- a/pkgs/by-name/de/debian-devscripts/package.nix +++ b/pkgs/by-name/de/debian-devscripts/package.nix @@ -30,14 +30,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "debian-devscripts"; - version = "2.25.15+deb13u1"; + version = "2.25.19"; src = fetchFromGitLab { domain = "salsa.debian.org"; owner = "debian"; repo = "devscripts"; tag = "v${finalAttrs.version}"; - hash = "sha256-szyVLpeIQozPXwBgL4nIYog4znUzweIt8q7nczo5q+g="; + hash = "sha256-xRWWdM2l1F1Z7U+ThxWvH5wL2ZY+sR8+Jx6h/7mo9dQ="; }; patches = [ @@ -136,7 +136,12 @@ stdenv.mkDerivation (finalAttrs: { ln -s pts-subscribe $out/bin/pts-unsubscribe ''; - passthru.updateScript = nix-update-script { }; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^v([0-9.]+)$" + ]; + }; meta = { description = "Debian package maintenance scripts"; diff --git a/pkgs/by-name/du/dupe-krill/package.nix b/pkgs/by-name/du/dupe-krill/package.nix index a1d4a949dd08..ce44e817d740 100644 --- a/pkgs/by-name/du/dupe-krill/package.nix +++ b/pkgs/by-name/du/dupe-krill/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "dupe-krill"; - version = "1.4.9"; + version = "1.5.0"; src = fetchFromGitHub { owner = "kornelski"; repo = "dupe-krill"; rev = "v${version}"; - hash = "sha256-ze9OQHNtujzn2rY24bmFUkz5AYsjoMrwqm4jyQoF53Y="; + hash = "sha256-Udj5Uc1P/c/wiF42m/qPrTtSvMpNsXjqP0LR08zslNI="; }; - cargoHash = "sha256-OMXxMWMQIYXe41sxM+KQRMRicH61dIXUe51zdXn8ZYM="; + cargoHash = "sha256-iNkuhohlqjbcn/R6tCkI5rvSbyZw4Ynac27Lb8tycp8="; meta = with lib; { description = "Fast file deduplicator"; diff --git a/pkgs/by-name/eq/equicord/package.nix b/pkgs/by-name/eq/equicord/package.nix index 7127edef1e46..810c6e30404b 100644 --- a/pkgs/by-name/eq/equicord/package.nix +++ b/pkgs/by-name/eq/equicord/package.nix @@ -18,19 +18,19 @@ stdenv.mkDerivation (finalAttrs: { # the Equicord repository. Dates as tags (and automatic releases) were the compromise # we came to with upstream. Please do not change the version schema (e.g., to semver) # unless upstream changes the tag schema from dates. - version = "2025-10-05"; + version = "2025-10-12"; src = fetchFromGitHub { owner = "Equicord"; repo = "Equicord"; tag = "${finalAttrs.version}"; - hash = "sha256-29akM1A7wFI+uZJ2r6K+2djYoZ6zI/rcYROU++x4j8k="; + hash = "sha256-SH8zRLBmglsSFAg0kNmab2BV+Hx2ZCl/wd3KptUWezY="; }; pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; - hash = "sha256-SsvkIgIXKYBgiHOMt9+IX8pXSYvXr8ESgHJm0mzBWlU="; + hash = "sha256-gl/4+AN3+YOl3uCYholPU8jo0IayazlY987fwhtHCuk="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/fe/feroxbuster/package.nix b/pkgs/by-name/fe/feroxbuster/package.nix index edd176cb8460..0066b5c86ada 100644 --- a/pkgs/by-name/fe/feroxbuster/package.nix +++ b/pkgs/by-name/fe/feroxbuster/package.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "feroxbuster"; - version = "2.12.0"; + version = "2.13.0"; src = fetchFromGitHub { owner = "epi052"; repo = "feroxbuster"; tag = "v${version}"; - hash = "sha256-uVRZp9r3888k//UsNUr7NKQcmFe2/RLmlIt/RgZ3Ips="; + hash = "sha256-4YjZhBG+4Oo8mfEslNCNl0KFiqWsoreo9cPGYUoDJlk="; }; - cargoHash = "sha256-W6sNc8RVItOGHIw3vmtZlJayqrzvmuET2B2AIl7LAL4="; + cargoHash = "sha256-D5wiNzB83AWAy2N2ykzu6PNJPZ2PT/qtLPeiQzT2OxE="; OPENSSL_NO_VENDOR = true; @@ -43,7 +43,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Recursive content discovery tool"; homepage = "https://github.com/epi052/feroxbuster"; - changelog = "https://github.com/epi052/feroxbuster/releases/tag/v${src.tag}"; + changelog = "https://github.com/epi052/feroxbuster/releases/tag/${src.tag}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; platforms = platforms.unix; diff --git a/pkgs/by-name/gd/gdtoolkit_4/package.nix b/pkgs/by-name/gd/gdtoolkit_4/package.nix index 049a5c7956d1..575ac5e55647 100644 --- a/pkgs/by-name/gd/gdtoolkit_4/package.nix +++ b/pkgs/by-name/gd/gdtoolkit_4/package.nix @@ -27,14 +27,14 @@ let in python.pkgs.buildPythonApplication rec { pname = "gdtoolkit"; - version = "4.3.4"; + version = "4.5.0"; format = "setuptools"; src = fetchFromGitHub { owner = "Scony"; repo = "godot-gdscript-toolkit"; tag = version; - hash = "sha256-D67iwGGF3CrdAi/XKGVkusZlFCsMPIKdVpKDwcVQMrI="; + hash = "sha256-Jam7Txm+Fq5zEkJZMmbWW5Ok4ThsPyi6NIeawQot0RE="; }; disabled = python.pythonOlder "3.7"; diff --git a/pkgs/by-name/gf/gfold/package.nix b/pkgs/by-name/gf/gfold/package.nix index 59efe0677e21..638214c3443b 100644 --- a/pkgs/by-name/gf/gfold/package.nix +++ b/pkgs/by-name/gf/gfold/package.nix @@ -4,36 +4,41 @@ lib, rustPlatform, testers, + mold, + nix-update-script, }: -let +rustPlatform.buildRustPackage (finalAttrs: { pname = "gfold"; - version = "2025.7.0"; -in -rustPlatform.buildRustPackage { - inherit pname version; + version = "2025.9.0"; src = fetchFromGitHub { owner = "nickgerace"; repo = "gfold"; - rev = version; - hash = "sha256-EWQ17aEOEZnYEe3WJpyNuC+r4tv8DP1fYFH6fII2p+8="; + rev = finalAttrs.version; + hash = "sha256-sPvhZaDGInXH2PT8fg28m7wyDZiIE4fFScNO8WIjV9s="; }; - cargoHash = "sha256-3hzcYPD/w2vbsSuuHNAD2Oyqw0B0PIdERGgCAvAiQpk="; + cargoHash = "sha256-pbIE8QXY8lYsDGdmGVsOPesVTaHRjDBSd7ihQhN2XrI="; - passthru.tests.version = testers.testVersion { - package = gfold; - command = "gfold --version"; - inherit version; + nativeBuildInputs = [ mold ]; + + passthru = { + updateScript = nix-update-script { }; + + tests.version = testers.testVersion { + package = gfold; + command = "gfold --version"; + inherit (finalAttrs) version; + }; }; - meta = with lib; { + meta = { description = "CLI tool to help keep track of your Git repositories, written in Rust"; homepage = "https://github.com/nickgerace/gfold"; - license = licenses.asl20; - maintainers = [ maintainers.sigmanificient ]; - platforms = platforms.unix; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ sigmanificient ]; + platforms = lib.platforms.unix; mainProgram = "gfold"; }; -} +}) diff --git a/pkgs/by-name/jd/jdt-language-server/package.nix b/pkgs/by-name/jd/jdt-language-server/package.nix index b2ee06595b5c..c7987d0602b3 100644 --- a/pkgs/by-name/jd/jdt-language-server/package.nix +++ b/pkgs/by-name/jd/jdt-language-server/package.nix @@ -7,15 +7,15 @@ }: let - timestamp = "202507311558"; + timestamp = "202510022025"; in stdenv.mkDerivation (finalAttrs: { pname = "jdt-language-server"; - version = "1.49.0"; + version = "1.51.0"; src = fetchurl { url = "https://download.eclipse.org/jdtls/milestones/${finalAttrs.version}/jdt-language-server-${finalAttrs.version}-${timestamp}.tar.gz"; - hash = "sha256-o/n7WSH1Jz0Pj+Q2WzY/utG9wuhpkdsxSbLXbxJlvNc="; + hash = "sha256-ilk3IReIG/W9wCIPIlRHKEa4gTfAWPNEsAp9QUJ3RaE="; }; sourceRoot = "."; @@ -60,7 +60,10 @@ stdenv.mkDerivation (finalAttrs: { description = "Java language server"; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; license = lib.licenses.epl20; - maintainers = with lib.maintainers; [ matt-snider ]; + maintainers = with lib.maintainers; [ + matt-snider + wenjinnn + ]; platforms = lib.platforms.all; mainProgram = "jdtls"; }; diff --git a/pkgs/by-name/kt/ktx-tools/package.nix b/pkgs/by-name/kt/ktx-tools/package.nix index 0533aecb78a1..2668f899b568 100644 --- a/pkgs/by-name/kt/ktx-tools/package.nix +++ b/pkgs/by-name/kt/ktx-tools/package.nix @@ -10,13 +10,13 @@ }: stdenv.mkDerivation rec { pname = "ktx-tools"; - version = "4.4.1"; + version = "4.4.2"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "KTX-Software"; rev = "v${version}"; - hash = "sha256-dAb1ze2YpgQYu+fNONWLCG8/ckj0SeedxIUNmlSh5J0="; + hash = "sha256-yBRLKa0h64vDBvaessh2FwP16d8+jvW6udbyZvOMzTQ="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/le/leo-editor/package.nix b/pkgs/by-name/le/leo-editor/package.nix index 669d500df467..9422e4f37580 100644 --- a/pkgs/by-name/le/leo-editor/package.nix +++ b/pkgs/by-name/le/leo-editor/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "leo-editor"; - version = "6.8.6.1"; + version = "6.8.7"; src = fetchFromGitHub { owner = "leo-editor"; repo = "leo-editor"; tag = "v${finalAttrs.version}"; - hash = "sha256-3ojiIjsGJpPgVSUi0QhIddqwsDxfRWxhxAQ5YmzwZiQ="; + hash = "sha256-GbbSPZQEPufRcF2aLjr9vEVLZlUIgAEP1QkaNILwJV4="; }; dontBuild = true; diff --git a/pkgs/by-name/mi/mindustry/package.nix b/pkgs/by-name/mi/mindustry/package.nix index 5d8bb5542fbd..a3ae173eed8d 100644 --- a/pkgs/by-name/mi/mindustry/package.nix +++ b/pkgs/by-name/mi/mindustry/package.nix @@ -38,7 +38,7 @@ let pname = "mindustry"; - version = "151.1"; + version = "152.2"; buildVersion = makeBuildVersion version; jdk = jdk17; @@ -48,14 +48,14 @@ let owner = "Anuken"; repo = "Mindustry"; tag = "v${version}"; - hash = "sha256-/WBO66Ii/1IuL3VaQNCTrcK43VWS8FVLYPxxtJMYKus="; + hash = "sha256-DRH6Gd/NOXvTZAMu3qcpEk6Ii1l7NMPLd8+RLUyt7yE="; }; Arc = fetchFromGitHub { name = "Arc-source"; owner = "Anuken"; repo = "Arc"; tag = "v${version}"; - hash = "sha256-jI9bvo8MEEe1guM8YuQmGOi/wP5eFH88dvsin7sAPY0="; + hash = "sha256-TfDgzApR9LlnVVUOgIZu5pSLzbGlqrsXqzUN88lYN8s="; }; soloud = fetchFromGitHub { owner = "Anuken"; diff --git a/pkgs/by-name/na/natscli/package.nix b/pkgs/by-name/na/natscli/package.nix index 23f7c5b6be0c..4288ac816353 100644 --- a/pkgs/by-name/na/natscli/package.nix +++ b/pkgs/by-name/na/natscli/package.nix @@ -7,16 +7,19 @@ buildGoModule rec { pname = "natscli"; - version = "0.2.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "nats-io"; repo = "natscli"; tag = "v${version}"; - hash = "sha256-5iGU23HsaMuRDcy3qeCJZE3p2ikaIlLnuWyGfCAlMYQ="; + hash = "sha256-GaP1qC90agVJa7t8aAyB+t++URxbQzkrCJ+KAVFqoBA="; }; - vendorHash = "sha256-8JtMcEI3UMMuTa9jmkTspjKtseIb2XUcbNuWlrkAVfg="; + proxyVendor = true; + vendorHash = "sha256-8Kva9aMWzGctpq51jVOz6umVTNB9NaGHIGoKmw7gl3I="; + + subPackages = [ "nats" ]; ldflags = [ "-s" @@ -33,13 +36,12 @@ buildGoModule rec { ''; doInstallCheck = true; - versionCheckProgram = "${placeholder "out"}/bin/nats"; meta = { description = "NATS Command Line Interface"; homepage = "https://github.com/nats-io/natscli"; - changelog = "https://github.com/nats-io/natscli/releases/tag/v${version}"; + changelog = "https://github.com/nats-io/natscli/releases/tag/${src.tag}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ fab ]; mainProgram = "nats"; diff --git a/pkgs/by-name/qu/quickshell/package.nix b/pkgs/by-name/qu/quickshell/package.nix index caffa9179cb3..dbbe5f9ce567 100644 --- a/pkgs/by-name/qu/quickshell/package.nix +++ b/pkgs/by-name/qu/quickshell/package.nix @@ -22,7 +22,7 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "quickshell"; - version = "0.2.0"; + version = "0.2.1"; # github mirror: https://github.com/quickshell-mirror/quickshell src = fetchFromGitea { @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "quickshell"; repo = "quickshell"; tag = "v${finalAttrs.version}"; - hash = "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k="; + hash = "sha256-e++Ogy91Sv7gGLMdAqZaBzbH/UmPWZ4GAt7VDCA66aU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/sk/skippy-xd/package.nix b/pkgs/by-name/sk/skippy-xd/package.nix index 09b6c5a4d129..66b449bf2ca0 100644 --- a/pkgs/by-name/sk/skippy-xd/package.nix +++ b/pkgs/by-name/sk/skippy-xd/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "skippy-xd"; - version = "2025.09.07"; + version = "2025.10.05"; src = fetchFromGitHub { owner = "felixfung"; repo = "skippy-xd"; tag = "v${finalAttrs.version}"; - hash = "sha256-PxVU0atl5OLINFTM1n3REVA/M9iozkHOW9kPgTU/+qI="; + hash = "sha256-WrB633mhZwoP+54mjSE+3gSU/VsdBZVITfD0dkYaoa8="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/by-name/so/sonata/package.nix b/pkgs/by-name/so/sonata/package.nix index 0e2f2ca7d74c..0c4c9fda7aba 100644 --- a/pkgs/by-name/so/sonata/package.nix +++ b/pkgs/by-name/so/sonata/package.nix @@ -15,7 +15,6 @@ let inherit (python3Packages) buildPythonApplication - isPy3k dbus-python pygobject3 mpd2 @@ -31,11 +30,9 @@ buildPythonApplication rec { owner = "multani"; repo = "sonata"; tag = "v${version}"; - sha256 = "sha256-80F2dVaRawnI0E+GzaxRUudaLWWHGUjICCEbXHVGy+E="; + hash = "sha256-80F2dVaRawnI0E+GzaxRUudaLWWHGUjICCEbXHVGy+E="; }; - disabled = !isPy3k; - nativeBuildInputs = [ gettext gobject-introspection @@ -93,7 +90,9 @@ buildPythonApplication rec { - Available in 24 languages ''; homepage = "https://www.nongnu.org/sonata/"; - license = lib.licenses.gpl3; + changelog = "https://github.com/multani/sonata/blob/${src.tag}/CHANGELOG"; + license = lib.licenses.gpl3Plus; + maintainers = [ ]; platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ty/typstyle/package.nix b/pkgs/by-name/ty/typstyle/package.nix index b0a4920344c4..2115346fa317 100644 --- a/pkgs/by-name/ty/typstyle/package.nix +++ b/pkgs/by-name/ty/typstyle/package.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "typstyle"; - version = "0.13.17"; + version = "0.13.18"; src = fetchFromGitHub { owner = "typstyle-rs"; repo = "typstyle"; tag = "v${finalAttrs.version}"; - hash = "sha256-JsRMs6ARiXs/S/ybkzNo4giR3BvGbOm8X/UH08kvznU="; + hash = "sha256-sQZbk4XlhpFR4FUgD7Z0EoZVUMQaJQ2baTWbOp4I3QA="; }; - cargoHash = "sha256-G7X5FoWHEWFoLqfHmbuSylG7/xp4aXrSugnGc20oZcE="; + cargoHash = "sha256-anA7jJEK/Wr6trpc/6x2kExt8j9J3fxxgpWusQbbPaM="; # Disabling tests requiring network access checkFlags = [ diff --git a/pkgs/by-name/yq/yq-go/package.nix b/pkgs/by-name/yq/yq-go/package.nix index f0bc3296e454..e400e15a5478 100644 --- a/pkgs/by-name/yq/yq-go/package.nix +++ b/pkgs/by-name/yq/yq-go/package.nix @@ -11,16 +11,16 @@ buildGoModule (finalAttrs: { pname = "yq-go"; - version = "4.47.2"; + version = "4.48.1"; src = fetchFromGitHub { owner = "mikefarah"; repo = "yq"; tag = "v${finalAttrs.version}"; - hash = "sha256-hN2ps2JeEfTIbAWr0pSfz/qJa1plwIIbe7s3xT0m4hA="; + hash = "sha256-cY+z4im2pB2ehV8AXNUHzzTjPvopd7KX8aRE8oYIgE0="; }; - vendorHash = "sha256-Yy0ty7jIu5HMp59r987gZApcrb38JvcXfuEqCur1AwY="; + vendorHash = "sha256-p+7dD3NVXg3XZowIgDaGs1MSaxXY5OPLmnw44p4m4A4="; nativeBuildInputs = lib.optionalAttrs (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ installShellFiles diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index 89c73997a163..b04c7a1e1c23 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "8.0.1"; + version = "8.0.2"; src = fetchFromGitHub { owner = "elementary"; repo = "wingpanel-indicator-sound"; - rev = version; - sha256 = "sha256-oWgq8rgdK81QsN/LhVUk6YgKYG4pFjVfu00t974n+i8="; + tag = version; + hash = "sha256-a2yl6HKNLo3660OPEp/9AtwpPerLGYD/k8fl+R5ct/g="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/qtpbfimageplugin/default.nix b/pkgs/development/libraries/qtpbfimageplugin/default.nix index 52c83faa3c97..8f7c53a7ca80 100644 --- a/pkgs/development/libraries/qtpbfimageplugin/default.nix +++ b/pkgs/development/libraries/qtpbfimageplugin/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "qtpbfimageplugin"; - version = "5.0"; + version = "5.1"; src = fetchFromGitHub { owner = "tumic0"; repo = "QtPBFImagePlugin"; tag = version; - hash = "sha256-ruaYJ3onc1banwgpZ0Gh7n8fZ9t7DQ6D6gshXH2IXfc="; + hash = "sha256-3Tfh92ozitvL9EiGJy8Q20C8zDx5eNNJFa7KDXDuS6Y="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix index 93c9dd8f7f8d..8fb6e9b2a44e 100644 --- a/pkgs/development/python-modules/aiohomekit/default.nix +++ b/pkgs/development/python-modules/aiohomekit/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "aiohomekit"; - version = "3.2.19"; + version = "3.2.20"; pyproject = true; disabled = pythonOlder "3.10"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "Jc2k"; repo = "aiohomekit"; tag = version; - hash = "sha256-ML7j5OBbQyF+2Q1WHBwJfnRUnG8kf+cog1nMRp6fOSE="; + hash = "sha256-iVLW7oaYJ2imVs0aMUpGbiCyE86JOaHZJr86ZGRkfLM="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/boto3-stubs/default.nix b/pkgs/development/python-modules/boto3-stubs/default.nix index d3d4bbbbed44..e5fff3953c3d 100644 --- a/pkgs/development/python-modules/boto3-stubs/default.nix +++ b/pkgs/development/python-modules/boto3-stubs/default.nix @@ -351,7 +351,6 @@ mypy-boto3-workspaces, mypy-boto3-workspaces-web, mypy-boto3-xray, - pythonOlder, setuptools, types-s3transfer, typing-extensions, @@ -359,15 +358,13 @@ buildPythonPackage rec { pname = "boto3-stubs"; - version = "1.40.49"; + version = "1.40.50"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchPypi { pname = "boto3_stubs"; inherit version; - hash = "sha256-ibamRZP51BuARy1iSBSMQe7FaRcukXUxI4KDjqfwkJI="; + hash = "sha256-KYKK38uGKbXihUaOuJYQ8fxx+WStCRPeMEmgqdXeC+E="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/kegtron-ble/default.nix b/pkgs/development/python-modules/kegtron-ble/default.nix index 875b65cb1ef3..0e9984381019 100644 --- a/pkgs/development/python-modules/kegtron-ble/default.nix +++ b/pkgs/development/python-modules/kegtron-ble/default.nix @@ -7,22 +7,19 @@ poetry-core, pytest-cov-stub, pytestCheckHook, - pythonOlder, sensor-state-data, }: buildPythonPackage rec { pname = "kegtron-ble"; - version = "0.4.0"; + version = "1.0.2"; pyproject = true; - disabled = pythonOlder "3.9"; - src = fetchFromGitHub { owner = "Bluetooth-Devices"; repo = "kegtron-ble"; tag = "v${version}"; - hash = "sha256-O5I5shW8nL2RAQptS2Bp/GI/4L6o0xXXmwYvRq0MM8o="; + hash = "sha256-aPWf+EHr6Et4OHJ8ZN9M1NxKhaf7piEQilzAsBO3d5E="; }; build-system = [ poetry-core ]; @@ -43,7 +40,7 @@ buildPythonPackage rec { meta = with lib; { description = "Library for Kegtron BLE devices"; homepage = "https://github.com/Bluetooth-Devices/kegtron-ble"; - changelog = "https://github.com/Bluetooth-Devices/kegtron-ble/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/Bluetooth-Devices/kegtron-ble/blob/${src.tag}/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ fab ]; }; diff --git a/pkgs/development/python-modules/kestra/default.nix b/pkgs/development/python-modules/kestra/default.nix index c6039c8a121c..73df35cd2b36 100644 --- a/pkgs/development/python-modules/kestra/default.nix +++ b/pkgs/development/python-modules/kestra/default.nix @@ -4,7 +4,10 @@ fetchFromGitHub, setuptools, requests, + amazon-ion, + python-dateutil, pytestCheckHook, + pytest-mock, requests-mock, }: buildPythonPackage rec { @@ -25,14 +28,10 @@ buildPythonPackage rec { setuptools ]; - preBuild = '' - # Required for building the library (https://github.com/kestra-io/libs/blob/v0.20.0/python/setup.py#L20) - # The path resolve to CWD, so README.md isn't picked in the parent folder - ln -s ../README.md README.md - ''; - dependencies = [ requests + amazon-ion + python-dateutil ]; pythonImportsCheck = [ @@ -42,6 +41,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook requests-mock + pytest-mock ]; meta = { diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix index c142f6c6d2e3..0f23f05161c8 100644 --- a/pkgs/development/python-modules/mocket/default.nix +++ b/pkgs/development/python-modules/mocket/default.nix @@ -36,12 +36,12 @@ buildPythonPackage rec { pname = "mocket"; - version = "3.13.11"; + version = "3.14.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-kdG2Md90YknRA265u+JjHuiKw/6h1NcdwYOLXy8UF1o="; + hash = "sha256-68bjR5lf1sKxShM4p3Fm7ff8HvmTk2Fdz53CwfHI9Q8="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/pycobertura/default.nix b/pkgs/development/python-modules/pycobertura/default.nix new file mode 100644 index 000000000000..dd2b6b42a202 --- /dev/null +++ b/pkgs/development/python-modules/pycobertura/default.nix @@ -0,0 +1,73 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pythonOlder, + setuptools, + setuptools-git, + click, + jinja2, + lxml, + tabulate, + ruamel-yaml, + pytestCheckHook, + mock, +}: + +buildPythonPackage rec { + pname = "pycobertura"; + version = "4.1.0"; + pyproject = true; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "aconrad"; + repo = "pycobertura"; + tag = "v${version}"; + hash = "sha256-OzOxoF3OmgtzWuNNyecyxFRcPq8gAPQZ2XAdrkJjnhk="; + }; + + postPatch = '' + # Remove build-system requirements as we handle them through Nix + sed -i '/\[build-system\]/,/build-backend/d' pyproject.toml + ''; + + build-system = [ + setuptools + setuptools-git + ]; + + dependencies = [ + click + jinja2 + lxml + tabulate + ruamel-yaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + mock + ]; + + disabledTests = [ + # Tests require git and a git repository + "test_filesystem_git_integration" + "test_filesystem_git_integration__not_found" + "test_filesystem_git_has_file_integration" + "test_filesystem_git_has_file_integration__not_found" + "test_filesystem_factory" + ]; + + pythonImportsCheck = [ "pycobertura" ]; + + meta = { + description = "Cobertura coverage parser that can diff reports and show coverage progress"; + homepage = "https://github.com/aconrad/pycobertura"; + changelog = "https://github.com/aconrad/pycobertura/blob/${version}/CHANGES.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ lovesegfault ]; + mainProgram = "pycobertura"; + }; +} diff --git a/pkgs/development/python-modules/pydo/default.nix b/pkgs/development/python-modules/pydo/default.nix new file mode 100644 index 000000000000..e578191af04c --- /dev/null +++ b/pkgs/development/python-modules/pydo/default.nix @@ -0,0 +1,60 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + aioresponses, + azure-core, + azure-identity, + isodate, + msrest, + responses, + pytestCheckHook, + pytest-asyncio, +}: + +buildPythonPackage rec { + pname = "pydo"; + version = "0.17.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "digitalocean"; + repo = "pydo"; + tag = "v${version}"; + hash = "sha256-Tge8geMR0aP/tUmsrGWdCUvA5tu6Y7KgZv4r5iRtRz8="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + aioresponses + azure-core + azure-identity + isodate + msrest + responses + ]; + + pythonImportsCheck = [ "pydo" ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + # integration tests require hitting the live api with a + # digital ocean token + disabledTestPaths = [ + "tests/integration/" + ]; + + meta = { + description = "Official DigitalOcean Client based on the DO OpenAPIv3 specification"; + homepage = "https://github.com/digitalocean/pydo"; + changelog = "https://github.com/digitalocean/pydo/releases/tag/v${version}"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ ethancedwards8 ]; + }; +} diff --git a/pkgs/development/python-modules/pydy/default.nix b/pkgs/development/python-modules/pydy/default.nix index b4172a855052..67666c4fb32d 100644 --- a/pkgs/development/python-modules/pydy/default.nix +++ b/pkgs/development/python-modules/pydy/default.nix @@ -8,34 +8,21 @@ setuptools, pytestCheckHook, cython, - fetchpatch2, + nix-update-script, }: buildPythonPackage rec { pname = "pydy"; - version = "0.7.1"; + version = "0.8.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-aaRinJMGR8v/OVkeSp1hA4+QLOrmDWq50wvA6b/suvk="; + hash = "sha256-G3iqMzy/W3ctz/c4T3LqYyTTMVbly1GMkmMLi96mzMc="; }; build-system = [ setuptools ]; - patches = [ - # Migrate tests to pytest - (fetchpatch2 { - url = "https://github.com/pydy/pydy/commit/e679638fecf80def25f5ed20f01c49c5d931e4d8.patch?full_index=1"; - hash = "sha256-wJmYkyc5Yh0152OyNL5ZbZJxmpX7C65Hqrms4gm3zt0="; - excludes = [ - ".github/workflows/oldest.yml" - ".github/workflows/tests.yml" - "bin/test" - ]; - }) - ]; - dependencies = [ numpy scipy @@ -49,6 +36,8 @@ buildPythonPackage rec { pythonImportsCheck = [ "pydy" ]; + passthru.updateScript = nix-update-script { }; + meta = { description = "Python tool kit for multi-body dynamics"; homepage = "http://pydy.org"; diff --git a/pkgs/development/python-modules/pyfunctional/default.nix b/pkgs/development/python-modules/pyfunctional/default.nix index e3a42ca3cd59..704870e9e14f 100644 --- a/pkgs/development/python-modules/pyfunctional/default.nix +++ b/pkgs/development/python-modules/pyfunctional/default.nix @@ -10,7 +10,7 @@ buildPythonPackage { pname = "pyfunctional"; - version = "1.4.3"; + version = "1.5.0"; pyproject = true; src = fetchFromGitHub { diff --git a/pkgs/development/python-modules/ray/default.nix b/pkgs/development/python-modules/ray/default.nix index e9d48ee56f23..f8d0544838ae 100644 --- a/pkgs/development/python-modules/ray/default.nix +++ b/pkgs/development/python-modules/ray/default.nix @@ -64,7 +64,7 @@ let pname = "ray"; - version = "2.49.2"; + version = "2.50.0"; in buildPythonPackage rec { inherit pname version; @@ -78,35 +78,28 @@ buildPythonPackage rec { platforms = { aarch64-darwin = "macosx_12_0_arm64"; aarch64-linux = "manylinux2014_aarch64"; - x86_64-darwin = "macosx_12_0_x86_64"; x86_64-linux = "manylinux2014_x86_64"; }; # ./pkgs/development/python-modules/ray/prefetch.sh # Results are in ./ray-hashes.nix hashes = { x86_64-linux = { - cp310 = "sha256-dFZodq979OSOpLmzt1s02wU9EGTMTUsWcNxM549olK8="; - cp311 = "sha256-VAd93jOMX/ujSaSrYbcjUqPDvmnqW08bQ22Y1AsxJ2M="; - cp312 = "sha256-LsqqUfWIzN2ithVjqL44Q79l36qoOiQFiKMH9Ou4JHE="; - cp313 = "sha256-t9ghTP+G3wRP7HJ+7qvMw7/JsCcdKNYbqSwJ8NEn0B0="; + cp310 = "sha256-yDG/+6D28N+iW2XFuAACLHI0y+wbmKjt4X+XzIJfcA0="; + cp311 = "sha256-A7Zfzo7eJuKlI2XyCWfAmzo16dfSuFZkXcxoBDWkfkM="; + cp312 = "sha256-IUoAZIlBnHhnFcsqgbPFLIjgjqMpX0i6l6tpuIjY+Bg="; + cp313 = "sha256-g40spgZcElW2xw8dIEHKC2qzq6uQgzA7ZdezE4wCLeI="; }; aarch64-linux = { - cp310 = "sha256-6uB7P+1F9bBBqL+Xlc0m+tJGS+USbv1EfkSEkFoptnc="; - cp311 = "sha256-6tqd2JzNpkOjxsLLpwFrWYmEMtEm4Qs4/tUtdBZTZPQ="; - cp312 = "sha256-3Q2NhkHRQvr+bYPofTwZvVY30h40YI0/9prXHqPi9GI="; - cp313 = "sha256-tMeGlojFGOkC97Yojt7CNlq00opGQpHm0KcEDH0Btfc="; - }; - x86_64-darwin = { - cp310 = "sha256-PkQb8qzX82jPRRMnUgZsXDuD2IzV+Fdi5wN3S7pPK20="; - cp311 = "sha256-ns6VehOYX3u/QHf0/wIEMU1+malB+V3/Kha0U9U3bcM="; - cp312 = "sha256-Z4TgduRBgiLvjuO2qL/rhn2Hl4A7Jbz8zjvzvFQUvvE="; - cp313 = "sha256-svTw/tk2+vaI6H/9zJNWwDRRPAAlmi8ahYnjRfz728A="; + cp310 = "sha256-AGKn+lY/QkZlsc3sD+6ccHCNqAfsxZFsSZJaIUOIl9A="; + cp311 = "sha256-sTkjnzAUDpgve8X7HMJpSKCnbJgOujce/d4/sEXQp+Q="; + cp312 = "sha256-z94CocsRRIF1ir/kC0uMMa/hmRUIhzciUUZiVnVpEcs="; + cp313 = "sha256-E1xwySvTwwUEQckFV26HG4edykhmSSGMRSQaPsRXI5k="; }; aarch64-darwin = { - cp310 = "sha256-CL7EZ1drwDDYvQY4AE4bjgdViJKTSREpiKS9SShoTow="; - cp311 = "sha256-T7n5v2L9XJLSLaIM0qrLSt4fsjAzdl+pJ08KDFC8QvY="; - cp312 = "sha256-1tYS3lxjQbd2/HXt7uW2mLtK9+6Eov8wVSsyqebkp3I="; - cp313 = "sha256-Li/iD6kFYuc2MNqf95MtPtZQfnMpHE2b31ZlN66d7d8="; + cp310 = "sha256-sWTWr0IMejioMj+P83iLjFfO9GebNIg1ShI3GqwBh04="; + cp311 = "sha256-YZsua4gNWvEm3x382qJzFO3UPSxtYxXgHR4xGDmr/+Q="; + cp312 = "sha256-5oOYG1H/U0wJpIs6W2X8YYht49qKroc4I5WR2rK2fOU="; + cp313 = "sha256-w9qWaV4/Y70O7K1tMOx89tAwmoc44xrCcJV4ErzBzYs="; }; }; in @@ -233,7 +226,6 @@ buildPythonPackage rec { platforms = [ "aarch64-darwin" "aarch64-linux" - "x86_64-darwin" "x86_64-linux" ]; }; diff --git a/pkgs/development/python-modules/ray/prefetch.sh b/pkgs/development/python-modules/ray/prefetch.sh index 56722c405849..6be6d515c0b6 100755 --- a/pkgs/development/python-modules/ray/prefetch.sh +++ b/pkgs/development/python-modules/ray/prefetch.sh @@ -19,7 +19,7 @@ prefetch() { echo } -for system in "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"; do +for system in "x86_64-linux" "aarch64-linux" "aarch64-darwin"; do echo "${system} = {" >>$outfile for python_version in "310" "311" "312" "313"; do prefetch "$python_version" "$system" diff --git a/pkgs/kde/generated/sources/frameworks.json b/pkgs/kde/generated/sources/frameworks.json index 83acf6a73c42..4b0d09e80eea 100644 --- a/pkgs/kde/generated/sources/frameworks.json +++ b/pkgs/kde/generated/sources/frameworks.json @@ -1,362 +1,362 @@ { "attica": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/attica-6.18.0.tar.xz", - "hash": "sha256-6ysr4zzINRLHevJVn8r3/FitGRq7gs9AsXsunoQA4zY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/attica-6.19.0.tar.xz", + "hash": "sha256-MIE++1d/dbh+7E8CMAqQbl85qN0sfnSIlYp//qqu4ag=" }, "baloo": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/baloo-6.18.0.tar.xz", - "hash": "sha256-aAsB7Xx4m37w7o8U+v+vLovfh6VqJusqb5WkcuVjCQM=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/baloo-6.19.0.tar.xz", + "hash": "sha256-rz1dhdTtIpY1ZPpsxVV9SJ8Xy6MNWDCLuoxMk9ToRog=" }, "bluez-qt": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/bluez-qt-6.18.0.tar.xz", - "hash": "sha256-k0CEkHWnqj/p8h4tK4OJYsCuhO36FqS0zxf0AiMFzrM=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/bluez-qt-6.19.0.tar.xz", + "hash": "sha256-JC2gUwckI/4jpnaz1NCvC29bBWYDPC9KqhT94farC6Q=" }, "breeze-icons": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/breeze-icons-6.18.0.tar.xz", - "hash": "sha256-R5bE7mBZp3etjZVKRYToH99QR6lKeYj8N0BSxCe8C2A=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/breeze-icons-6.19.0.tar.xz", + "hash": "sha256-LKyjXEgnH9xkGzKBKemUSK4f2rxEcmKpLkgFMh0iqkw=" }, "extra-cmake-modules": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/extra-cmake-modules-6.18.0.tar.xz", - "hash": "sha256-stIiLP5azlAsYL2Kd6ebwCMPSM7oMmXIncwmGLlg4pM=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/extra-cmake-modules-6.19.0.tar.xz", + "hash": "sha256-pPDB2BgfQ+mvS5tEaWx3dgtbydrlvbkh8JC85mTpyoQ=" }, "frameworkintegration": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/frameworkintegration-6.18.0.tar.xz", - "hash": "sha256-zFM2+O0Z2gYfdm1IVNdunNQkrECCy0TftOfPE2rqtFQ=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/frameworkintegration-6.19.0.tar.xz", + "hash": "sha256-+2vBKzQrZoEb1SgSRI2KZ+H+bg038cZsVBaIUhR+WaQ=" }, "kapidox": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kapidox-6.18.0.tar.xz", - "hash": "sha256-2184y3MtbUutE0jiz3iS6MepAYurAMha3WMVB/S4Z38=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kapidox-6.19.0.tar.xz", + "hash": "sha256-fQ6FrtCRz4xyWuT7llxAOolEOiaeU56jySskd/hSjFM=" }, "karchive": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/karchive-6.18.0.tar.xz", - "hash": "sha256-+iT3A6p5nk/1ucwuSmKHRZEuv8yfDGu22SEG/54C4m8=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/karchive-6.19.0.tar.xz", + "hash": "sha256-lEMy2ALQ4SjOvQh//VC3JtEANHlzwgN8YFHHLVRRKp4=" }, "kauth": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kauth-6.18.0.tar.xz", - "hash": "sha256-jG/uaUguej389+rMqctqGR7F0bCeClOeH31ddtCEA+k=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kauth-6.19.0.tar.xz", + "hash": "sha256-+GNjrrf5IjpCm2NW+qh9L9sazeTCdQs3mUMEtck3GqU=" }, "kbookmarks": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kbookmarks-6.18.0.tar.xz", - "hash": "sha256-QahF/9nv+42ULQTXb8OliwvyPT/TauuiHImrnrD8T4U=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kbookmarks-6.19.0.tar.xz", + "hash": "sha256-ej1/2/5Md4exoZQey/omH9RPp71NgnVnLg0iwqNQQ5A=" }, "kcalendarcore": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcalendarcore-6.18.0.tar.xz", - "hash": "sha256-TSMwrzXVbFnuafCPOEW6vumJbQABK8z7sUO9xXG8WOc=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcalendarcore-6.19.0.tar.xz", + "hash": "sha256-nmVjbDLNS8jL9mDE3YGwcyGX729ZP2ugr4pheIcItvw=" }, "kcmutils": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcmutils-6.18.0.tar.xz", - "hash": "sha256-YRTB7I63NzRhmpnklW3ORJgorzNsLNkdGb/rA+IhUo8=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcmutils-6.19.0.tar.xz", + "hash": "sha256-N2CkbM8ZbMUNDQsA1Ecb7HRo8Ta+V6GQNYvD5Dekj1M=" }, "kcodecs": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcodecs-6.18.0.tar.xz", - "hash": "sha256-JH7amt5QJpkGLHuqynu5NpGjCPICwWWVRlKHXr53dCY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcodecs-6.19.0.tar.xz", + "hash": "sha256-OmHCaLy8Tzr0FuLPbTCokaxwNUyXV1ifup7g6ulkrtE=" }, "kcolorscheme": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcolorscheme-6.18.0.tar.xz", - "hash": "sha256-FOmedMxjZkCsjXBfKHjXLQN5//Zx51wPE4MCSJiY1lE=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcolorscheme-6.19.0.tar.xz", + "hash": "sha256-wnjPCG1Emdzr06oOYZBxZXjcBuyAxj2V3msMQEV2U/A=" }, "kcompletion": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcompletion-6.18.0.tar.xz", - "hash": "sha256-bQaIH/Ls5MKd9cPL43AMteNCUGRoamZ+hPBvKlcyocU=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcompletion-6.19.0.tar.xz", + "hash": "sha256-i3HW6Is446rNJZGAW/KtnBK3vwLX+b3kDYr4apBu3UA=" }, "kconfig": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kconfig-6.18.0.tar.xz", - "hash": "sha256-UXy/Z0ffkonW/Ohgpz1J5ZNUaFM0rkaOzVPxBn2dYYs=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kconfig-6.19.0.tar.xz", + "hash": "sha256-1P++zQaQgHEiN0kn8Zbra2XzdT8ipqFhCeBKp+mLMus=" }, "kconfigwidgets": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kconfigwidgets-6.18.0.tar.xz", - "hash": "sha256-qlp75ieKGXM/d+akNfhMPnGSayjxrDdmMTd4iQ1kCBM=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kconfigwidgets-6.19.0.tar.xz", + "hash": "sha256-HXhbaDB8BUphM7jk5GK1afAux624qv4blfSVMbmof3w=" }, "kcontacts": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcontacts-6.18.0.tar.xz", - "hash": "sha256-pTLEfDwsgYKyrp54P/UhMRiWJRwqHdvjZLNJH5TBALY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcontacts-6.19.0.tar.xz", + "hash": "sha256-ydAy89mIBQ40SbAJ2WHxN/+dgcwSj2O67KzLKnGPWUk=" }, "kcoreaddons": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcoreaddons-6.18.0.tar.xz", - "hash": "sha256-4dA8/H1FmH7DHzEQT0cygSmA4AOL6rIiYz2hEI629C8=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcoreaddons-6.19.0.tar.xz", + "hash": "sha256-flMza5BpC3C3GvI6sGlkx1yd6+o8182gl40yulhuk5o=" }, "kcrash": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kcrash-6.18.0.tar.xz", - "hash": "sha256-pmKTghsVH1dfz7WYSFeHSeJIxbqi8mKshnJdD2SzJOA=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kcrash-6.19.0.tar.xz", + "hash": "sha256-f+sBC3WgfFElsvNq2Jie7NtqXUHeFCxVLXHhzsQxYt0=" }, "kdav": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kdav-6.18.0.tar.xz", - "hash": "sha256-w/BI18qfCUZHu2h/HqIYugC/OrOwej0au8KdrWd8VSY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kdav-6.19.0.tar.xz", + "hash": "sha256-d1O5qH2bWpn/wKjFnpjb1mrK3lcp1a4vCm0/vmbqCpI=" }, "kdbusaddons": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kdbusaddons-6.18.0.tar.xz", - "hash": "sha256-3Olc0Ubhi0AMTfMeqMm7uo+RnjKaUtwaGWNRhKyF5Jo=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kdbusaddons-6.19.0.tar.xz", + "hash": "sha256-BfSupUzov55i69SHkems66XLxarxlaMs4kl/rCtkqg0=" }, "kdeclarative": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kdeclarative-6.18.0.tar.xz", - "hash": "sha256-3EKnTGQoHmeY0HzZ7VMm9vPYIkfy4p58qYVaNss6Hmw=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kdeclarative-6.19.0.tar.xz", + "hash": "sha256-DHGpoI9EeyD6Br6DbQWbLNR5HpcuJ52ZRk4t0Nv/epA=" }, "kded": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kded-6.18.0.tar.xz", - "hash": "sha256-yQ4+5r+ZHzIKxCiywSavv+ETCnTu5nJAWBBYgwcuWII=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kded-6.19.0.tar.xz", + "hash": "sha256-nFoEInv2PzbIeLfmklR2yMgFrL21Q7imwUw13kagvAI=" }, "kdesu": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kdesu-6.18.0.tar.xz", - "hash": "sha256-MgOwRxE88IvKOYHt5lfkW0F6fNDyh5u0+ekBrU5ZRhY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kdesu-6.19.0.tar.xz", + "hash": "sha256-Avku35BqOXsFVU/0vWcc1/WsbCzvVnMlQaLCfMA9IJ8=" }, "kdnssd": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kdnssd-6.18.0.tar.xz", - "hash": "sha256-xI8ogdlmTA7hK3CRxWy7HpWafpYM8tUsbIfm/KrxPH8=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kdnssd-6.19.0.tar.xz", + "hash": "sha256-mk6eZTxmcLRoFRbOrePSZk1Xf15vAXPXu5u+XdAJwnE=" }, "kdoctools": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kdoctools-6.18.0.tar.xz", - "hash": "sha256-5z3bLfsbBh4C03hh71jC1Y2vGBfhzlQ3N/96vyhLyYQ=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kdoctools-6.19.0.tar.xz", + "hash": "sha256-wgSLKXkkdUD5uiL9fG83LOhpaZw6PoGpevL6L3M8dLw=" }, "kfilemetadata": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kfilemetadata-6.18.0.tar.xz", - "hash": "sha256-BcSwlViFtG/tbcI5mHYP2uWVmalgFZ7ET3eddJigiDQ=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kfilemetadata-6.19.0.tar.xz", + "hash": "sha256-XUZSJYJqBmByNPKaZESIMWftKpIccRXCLjCDQyEVQcE=" }, "kglobalaccel": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kglobalaccel-6.18.0.tar.xz", - "hash": "sha256-y5p7DukzZWIHlY+ylb8U+/vIKNXZaPYB/SitaHf9tDg=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kglobalaccel-6.19.0.tar.xz", + "hash": "sha256-G751AmWDGXZ8BIA56NrCvRe8EgQi2OWO9vIrpjhArkk=" }, "kguiaddons": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kguiaddons-6.18.0.tar.xz", - "hash": "sha256-LiuHKALRsnsYVRL/qYlZBueqNDjL8TeEbM/4IWu+xGY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kguiaddons-6.19.0.tar.xz", + "hash": "sha256-rENBbFunkMiYzTuAbGur5FtB33LsxlpDKMwaUyyooeY=" }, "kholidays": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kholidays-6.18.0.tar.xz", - "hash": "sha256-SdyJLZjuSTppbdcw9aDhYktGyn10aih38FcAer6fIVE=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kholidays-6.19.0.tar.xz", + "hash": "sha256-eHYRbcAi/nIilDBc1Y3eU/0hvNZkGIrSas7tY+Vd3IY=" }, "ki18n": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/ki18n-6.18.0.tar.xz", - "hash": "sha256-0Mv780J8A2jaoj+faLPLWwOtN7aCBZFJGz6ooKKL6mE=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/ki18n-6.19.0.tar.xz", + "hash": "sha256-YI/yY0zRlzaoCRx1DHGyPbCzP9gegvufxLzOdnEihKY=" }, "kiconthemes": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kiconthemes-6.18.0.tar.xz", - "hash": "sha256-uXFGCUn6/Jjnrik/NWNcL9YQGm/Eay9PzmS7IUQOzgQ=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kiconthemes-6.19.0.tar.xz", + "hash": "sha256-sLZzcbphh0l2qE/v5ZLnhvx/+5xUVDkUq8IKMiQb4uk=" }, "kidletime": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kidletime-6.18.0.tar.xz", - "hash": "sha256-RK/IhUOyPFGetfVefFEgzNbU6y6qpb7iTj+15KaV2rc=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kidletime-6.19.0.tar.xz", + "hash": "sha256-34LDhv743JjqWXb/7x2hFTnBkU0ht3POYvRTO1rRb2U=" }, "kimageformats": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kimageformats-6.18.0.tar.xz", - "hash": "sha256-nTc+9TYqqNcVQc7CiVQVyVypFGJtyw3WsM7vSR3LrkY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kimageformats-6.19.0.tar.xz", + "hash": "sha256-/IJTJqprjBMhlH/1I9PQBu70xl/eQPN5xpANBpZ/rhw=" }, "kio": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kio-6.18.0.tar.xz", - "hash": "sha256-qXrOwUB+HwDKdOY5ZOdgiCjUQxv+CuvpAQwpa7Y4e9o=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kio-6.19.0.tar.xz", + "hash": "sha256-Bt5M5ckarJGhJ8UL2cqtb73vJsbIYWTtKKVGqOTPBWc=" }, "kirigami": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kirigami-6.18.0.tar.xz", - "hash": "sha256-4FdL9fUwp82Y4DQkmGgfQ3S+/xCOdCYgY7EF4cl3+GY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kirigami-6.19.0.tar.xz", + "hash": "sha256-jGaF3eVfABzGIbOMYUhtDp4u9/sdUCyl3QSREiKep8w=" }, "kitemmodels": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kitemmodels-6.18.0.tar.xz", - "hash": "sha256-iHZTsVca0K/UuDatJFGkKwdlfQ7t4aJijpxpECziPeE=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kitemmodels-6.19.0.tar.xz", + "hash": "sha256-ludKExANAmasMb/RUnkBY38r9Na8fUakl+bckpG9uY4=" }, "kitemviews": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kitemviews-6.18.0.tar.xz", - "hash": "sha256-90wD4uw2cjjsOVsfJDiHiZnCvj4ptBtr1KPM0ERA4po=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kitemviews-6.19.0.tar.xz", + "hash": "sha256-1YZVEu7jOZfpe3ZqysyzIja5Pg+BoaeRIGXMfAKz8lI=" }, "kjobwidgets": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kjobwidgets-6.18.0.tar.xz", - "hash": "sha256-5zn/JUxPo0wN4Aqi2d7uE4E12ZzQtG712yU8GMArzpg=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kjobwidgets-6.19.0.tar.xz", + "hash": "sha256-29STbQiZDNdnSWkiqhDor5iu7rofkjOpNwFWTgMurHU=" }, "knewstuff": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/knewstuff-6.18.0.tar.xz", - "hash": "sha256-fnIXNav34vb4wPQjJPiFvK0RFMMXrHm/q8cF+4AY26U=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/knewstuff-6.19.0.tar.xz", + "hash": "sha256-cJD7gvBPpjS6mK0VDIgSPIDBF9Wu2FWWM9gx4chZGv8=" }, "knotifications": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/knotifications-6.18.0.tar.xz", - "hash": "sha256-WTywDJ4EAYR3uhRgMfbUb0B5xjfGpGYwVmcS2EK586g=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/knotifications-6.19.0.tar.xz", + "hash": "sha256-hvJkXyvENEDxGQmb8lqlMp6EV3YahV5L1fCKX3gJsrY=" }, "knotifyconfig": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/knotifyconfig-6.18.0.tar.xz", - "hash": "sha256-moF/tOGDO+AUNwutxr2/Rk8aoE4FQBb8O8r9BToZrag=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/knotifyconfig-6.19.0.tar.xz", + "hash": "sha256-zRkzumhjATnNG/RW8IWzPgw1T9Dx8OTEaCKwnrXFwx8=" }, "kpackage": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kpackage-6.18.0.tar.xz", - "hash": "sha256-G8LkO/IjncIOg2twh3Yx4QMFf7FKlGcpDHb6Rf8Chw4=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kpackage-6.19.0.tar.xz", + "hash": "sha256-muRBkwlV5eu8o2JDvzJmOLe628dMVvickGwIHAS3AJ0=" }, "kparts": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kparts-6.18.0.tar.xz", - "hash": "sha256-hG5SLmr/KiGQZKUum67v37y+px2tsYELnFjLnEGCFgQ=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kparts-6.19.0.tar.xz", + "hash": "sha256-zdw7ak/Ao/QfpXkZl8nd9MqYhVg5vkZevl0MPO/jUNg=" }, "kpeople": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kpeople-6.18.0.tar.xz", - "hash": "sha256-Cbop7+thLu9OVIFPH5Hi0HyJQubPLCMXbZ8wbWhUTSs=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kpeople-6.19.0.tar.xz", + "hash": "sha256-VA/GQ5l8ShxNB+bDxbsrxeEfWtYQLglX+UNCKqki9zE=" }, "kplotting": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kplotting-6.18.0.tar.xz", - "hash": "sha256-yf25n9HHX1iOLxXvhDM/6t8yeoeMJDJOREk9A+WT68k=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kplotting-6.19.0.tar.xz", + "hash": "sha256-UgM0fVQ5oz0cLDMcWuIfvDKUBKp8AWkrLBxIuVCNgpI=" }, "kpty": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kpty-6.18.0.tar.xz", - "hash": "sha256-P4AGOPzA2+oIEJMKHy3s+muJS7AHMv+GRhgsff0qx20=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kpty-6.19.0.tar.xz", + "hash": "sha256-eFRMFs7Mfbz/0DNb+UXuyBAxFXhuEVgjVIGsFS9LtAw=" }, "kquickcharts": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kquickcharts-6.18.0.tar.xz", - "hash": "sha256-lB6tN40C4FgbcGY5x89HQzmBj2zUjZGGRngvcbx/dMs=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kquickcharts-6.19.0.tar.xz", + "hash": "sha256-UPBHDpYflfq3XLSuiIvdQjm0YvGH1yWkdu8boM5q9DU=" }, "krunner": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/krunner-6.18.0.tar.xz", - "hash": "sha256-aaILTlVNh2PvSlKXjkYFa1mO+47FhKx75b8GyjGNtRw=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/krunner-6.19.0.tar.xz", + "hash": "sha256-1ZyhpxQlKb3KKPU53Hs3hPl1vmizbGnQw+aDWWbsMqs=" }, "kservice": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kservice-6.18.0.tar.xz", - "hash": "sha256-0IrKdNzFTaKd0re8QE7Z5uxoisx3g5tLj7w3K16jULg=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kservice-6.19.0.tar.xz", + "hash": "sha256-gV4IST5ruQ+C6Scmr/eL3PE1ipQpcvx1ES6Zy4QJYb0=" }, "kstatusnotifieritem": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kstatusnotifieritem-6.18.0.tar.xz", - "hash": "sha256-14qiDhhY9wBHjuzttJcUFg1eBLSg0Xe8pDVaoaD31zA=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kstatusnotifieritem-6.19.0.tar.xz", + "hash": "sha256-XkDLPu6a1WldUEx5BHUiNgHoVpz+X7w3F0gNovNVaUk=" }, "ksvg": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/ksvg-6.18.0.tar.xz", - "hash": "sha256-DqsrpTKQa2Eq/uL7+oAqiNf0Vw1MMilyy23r0yAHXBA=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/ksvg-6.19.0.tar.xz", + "hash": "sha256-kqLLxGBKPqhtm4rZIa3/k2RhVgF7yPpcdZWO8yS16e8=" }, "ktexteditor": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/ktexteditor-6.18.0.tar.xz", - "hash": "sha256-T4q7BDagxspQH3vjkZdXVssH+OQD06/n7C8C0Sv3tRY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/ktexteditor-6.19.0.tar.xz", + "hash": "sha256-8jgpEP4y6Sv9B9706PU9WNhXJRlKJEEj2TirDEKoB/E=" }, "ktexttemplate": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/ktexttemplate-6.18.0.tar.xz", - "hash": "sha256-y7ZQXDWo7cDm/vt9JP3oJ17v3Jc1QHKXrOAqfEDzfgY=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/ktexttemplate-6.19.0.tar.xz", + "hash": "sha256-QIc1OsION2o9zi70m8YviFbrO3kzcH+vYrsxsXnBHIM=" }, "ktextwidgets": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/ktextwidgets-6.18.0.tar.xz", - "hash": "sha256-mvsTaAbouVw0IR4drmbkzxTXqsKrJE1SZMqsToI9jt8=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/ktextwidgets-6.19.0.tar.xz", + "hash": "sha256-2fpJ7pXPAzIdKy2JvWlSc0Mjt1otmDuXcC0UvOSAnxY=" }, "kunitconversion": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kunitconversion-6.18.0.tar.xz", - "hash": "sha256-I6Sl2ZRmb52ypaPCUQOPLvHZeEEZUJJXAvt5BgztMcg=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kunitconversion-6.19.0.tar.xz", + "hash": "sha256-1PDjnidZbGVQ8/xy+2ew1JZqz9fXAqARoPykILb5s5M=" }, "kuserfeedback": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kuserfeedback-6.18.0.tar.xz", - "hash": "sha256-tiOrUaW2krGzhdlAy0wArgENzdjCotbiMVn/gVuPHlI=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kuserfeedback-6.19.0.tar.xz", + "hash": "sha256-Z2jnP9IaKQ+Si41XFPYjHKXfinLfYl9DrI96trtxH58=" }, "kwallet": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kwallet-6.18.0.tar.xz", - "hash": "sha256-yGMOGygLmu5E8zZzAvzjgTcKYRVX8ZQZCLkobjiR0WM=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kwallet-6.19.0.tar.xz", + "hash": "sha256-HeSj9gsMFw2NnQR27Y4M/fN/ZxG/TlB6j37EJo6txK0=" }, "kwidgetsaddons": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kwidgetsaddons-6.18.0.tar.xz", - "hash": "sha256-DC+wB0T/2ey3Ux7lp5wdtLQGdT8lBWUSLzrdk88gCvs=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kwidgetsaddons-6.19.0.tar.xz", + "hash": "sha256-YiqW9pf4O4zw4qvocLNkivzhAVDL6/tGyzdpt3pphno=" }, "kwindowsystem": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kwindowsystem-6.18.0.tar.xz", - "hash": "sha256-oKBGA5oRuuus2W2DbldluYFCb2DSzqn/mpm6jb5WF44=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kwindowsystem-6.19.0.tar.xz", + "hash": "sha256-fvhwzGw3/JjkZVwmfNoGmygllkBSTRCI1ENDUIJ+Wdo=" }, "kxmlgui": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/kxmlgui-6.18.0.tar.xz", - "hash": "sha256-bV4kDINWaEGawDZmb6TJnjR5eVxpiBAHY/gQyog1xAE=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/kxmlgui-6.19.0.tar.xz", + "hash": "sha256-KcKdxxwWaK7xjc0KjIZXOfXcwuL1zqZr7HXSQIB/2e4=" }, "modemmanager-qt": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/modemmanager-qt-6.18.0.tar.xz", - "hash": "sha256-yMDBxtbIFe+hG44xu7P16AFHidfgur+hV0KAvmeR0BM=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/modemmanager-qt-6.19.0.tar.xz", + "hash": "sha256-NnFIx/fE7Ikjyvy6StDcUAQ0yV25Y3VXBKJSHMbC8NA=" }, "networkmanager-qt": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/networkmanager-qt-6.18.0.tar.xz", - "hash": "sha256-SSg2p0oDukP6z1LoJ0KPiI8T1uK7g3SBmGlwcoCgMQw=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/networkmanager-qt-6.19.0.tar.xz", + "hash": "sha256-g7oQYAgNwZPGKDdCHhy3llAKuzkxtQWugnXEQGdK/8Q=" }, "prison": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/prison-6.18.0.tar.xz", - "hash": "sha256-OKTxVLObTS5LhtFvhIRgOdJ71wyybs1Ii1kfYS3UFB4=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/prison-6.19.0.tar.xz", + "hash": "sha256-v9Yj+V4AryXsSZZmeQEMQR74eYt8GjHCWEhMMQZ9U1Y=" }, "purpose": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/purpose-6.18.0.tar.xz", - "hash": "sha256-pCjk9JVlgkCJngLxW3qSMOPDMGlyO0Phc0wh+hojuCU=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/purpose-6.19.0.tar.xz", + "hash": "sha256-eZ/z5phyQA0vpuXiyR/tZu1r0NepFj78AE7uC/bQk6I=" }, "qqc2-desktop-style": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/qqc2-desktop-style-6.18.0.tar.xz", - "hash": "sha256-kaYOD++ilKM38lGcd/8kBbhu/5nz6g6Pw+NCZe9GcPI=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/qqc2-desktop-style-6.19.0.tar.xz", + "hash": "sha256-aPm5P26LD7okTwItg2fvRzVCK+dG5nUnZKs4h+BfhTU=" }, "solid": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/solid-6.18.0.tar.xz", - "hash": "sha256-d2jB2n7jSp43z7a1tyfmkMgBNMpCS1Ji5APkjM+BLd8=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/solid-6.19.0.tar.xz", + "hash": "sha256-OsmpiyAe7eGuB4KxoyCidVdnK+jTxcgbukRnUXk8o8s=" }, "sonnet": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/sonnet-6.18.0.tar.xz", - "hash": "sha256-LZTJV6PF8iMmU614KykeK5We6m3Kg8wJyuYhvJg0qyU=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/sonnet-6.19.0.tar.xz", + "hash": "sha256-SxAqNZxdoXloYtvCT7OVwSIIR/BYT6epdOwRjWRKz6A=" }, "syndication": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/syndication-6.18.0.tar.xz", - "hash": "sha256-oC92+KlCKF+KZCM/sJ9k0o9R7vnpb0td19E9TIOTO5Q=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/syndication-6.19.0.tar.xz", + "hash": "sha256-FhEQdE1bx7mw+GBo2FAY2mEpyMB6pHScmhi963XBcWY=" }, "syntax-highlighting": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/syntax-highlighting-6.18.0.tar.xz", - "hash": "sha256-i+gFciGpgsjR/kL5VFT6yWEOtRl1ImxmUmiSk80zW/0=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/syntax-highlighting-6.19.0.tar.xz", + "hash": "sha256-E6cuibrgr5NqLVSwJHPpbepWDv/EsD/UPWnkWCwdvRk=" }, "threadweaver": { - "version": "6.18.0", - "url": "mirror://kde/stable/frameworks/6.18/threadweaver-6.18.0.tar.xz", - "hash": "sha256-puf0yQubkwTvZ6D/+t13ZVdXxl977gDDWziu/IaeMng=" + "version": "6.19.0", + "url": "mirror://kde/stable/frameworks/6.19/threadweaver-6.19.0.tar.xz", + "hash": "sha256-2NTQtuYrBnqM5P7Xrv7tAu1DpD+X8IXbO67fkhAHDaE=" } } \ No newline at end of file diff --git a/pkgs/kde/third-party/kzones/default.nix b/pkgs/kde/third-party/kzones/default.nix index de2ff39b311b..5da477491e50 100644 --- a/pkgs/kde/third-party/kzones/default.nix +++ b/pkgs/kde/third-party/kzones/default.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "kzones"; - version = "0.9"; + version = "0.9.1"; src = fetchFromGitHub { owner = "gerritdevriese"; repo = "kzones"; rev = "v${finalAttrs.version}"; - hash = "sha256-xqTQiL+7T6p+Y86eC5InAk6waYoM82iFoLflkN6/dG8="; + hash = "sha256-RhdSzDF7F4CL1zGP8OPd1ywgyE2CMIzMqaMv1M+RMlA="; }; nativeBuildInputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93d806edc233..6669a742b8fa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6812,6 +6812,8 @@ with pkgs; premake = premake4; + pycobertura = with python3Packages; toPythonApplication pycobertura; + pycritty = with python3Packages; toPythonApplication pycritty; qtcreator = qt6Packages.callPackage ../development/tools/qtcreator { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3b2b596a1e4d..f4e64f622f8f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12766,6 +12766,8 @@ self: super: with self; { pycmus = callPackage ../development/python-modules/pycmus { }; + pycobertura = callPackage ../development/python-modules/pycobertura { }; + pycocotools = callPackage ../development/python-modules/pycocotools { }; pycodestyle = callPackage ../development/python-modules/pycodestyle { }; @@ -12912,6 +12914,8 @@ self: super: with self; { pydmd = callPackage ../development/python-modules/pydmd { }; + pydo = callPackage ../development/python-modules/pydo { }; + pydocstyle = callPackage ../development/python-modules/pydocstyle { }; pydocumentdb = callPackage ../development/python-modules/pydocumentdb { };