Merge staging-next into staging

authored by github-actions[bot] and committed by GitHub 4fd286e7 e9de3673

+846 -267
+3 -2
doc/languages-frameworks/python.section.md
··· 74 74 75 75 #### `buildPythonPackage` function {#buildpythonpackage-function} 76 76 77 - The `buildPythonPackage` function is implemented in 78 - `pkgs/development/interpreters/python/mk-python-derivation.nix` 77 + The `buildPythonPackage` function has its name binding in 78 + `pkgs/development/interpreters/python/python-packages-base.nix` and is 79 + implemented in `pkgs/development/interpreters/python/mk-python-derivation.nix` 79 80 using setup hooks. 80 81 81 82 The following is an example:
+6
maintainers/maintainer-list.nix
··· 6227 6227 githubId = 303897; 6228 6228 name = "Fabián Heredia Montiel"; 6229 6229 }; 6230 + fabianrig = { 6231 + email = "fabianrig@posteo.de"; 6232 + github = "fabianrig"; 6233 + githubId = 88741530; 6234 + name = "Fabian Rigoll"; 6235 + }; 6230 6236 fadenb = { 6231 6237 email = "tristan.helmich+nixos@gmail.com"; 6232 6238 github = "fadenb";
+2
nixos/doc/manual/release-notes/rl-2405.section.md
··· 85 85 86 86 - [ollama](https://ollama.ai), server for running large language models locally. 87 87 88 + - [Mihomo](https://github.com/MetaCubeX/mihomo), a rule-based proxy in Go. Available as [services.mihomo.enable](#opt-services.mihomo.enable). 89 + 88 90 - [hebbot](https://github.com/haecker-felix/hebbot), a Matrix bot to generate "This Week in X" like blog posts. Available as [services.hebbot](#opt-services.hebbot.enable). 89 91 90 92 - [Python Matter Server](https://github.com/home-assistant-libs/python-matter-server), a
+59 -26
nixos/modules/image/repart-image.nix
··· 2 2 # NixOS module that can be imported. 3 3 4 4 { lib 5 + , stdenvNoCC 5 6 , runCommand 6 - , runCommandLocal 7 7 , python3 8 8 , black 9 9 , ruff ··· 26 26 , xz 27 27 28 28 # arguments 29 + , name 30 + , version 29 31 , imageFileBasename 30 32 , compression 31 33 , fileSystems 32 - , partitions 34 + , partitionsJSON 33 35 , split 34 36 , seed 35 37 , definitionsDirectory 36 38 , sectorSize 37 39 , mkfsEnv ? {} 40 + , createEmpty ? true 38 41 }: 39 42 40 43 let ··· 52 55 mypy --strict $out 53 56 ''; 54 57 55 - amendedRepartDefinitions = runCommandLocal "amended-repart.d" {} '' 56 - definitions=$(${amendRepartDefinitions} ${partitions} ${definitionsDirectory}) 57 - cp -r $definitions $out 58 - ''; 59 - 60 58 fileSystemToolMapping = { 61 59 "vfat" = [ dosfstools mtools ]; 62 60 "ext4" = [ e2fsprogs.bin ]; ··· 78 76 "xz" = "xz --keep --verbose --threads=0 -${toString compression.level}"; 79 77 }."${compression.algorithm}"; 80 78 in 81 - 82 - runCommand imageFileBasename 83 - { 79 + stdenvNoCC.mkDerivation (finalAttrs: 80 + (if (version != null) 81 + then { pname = name; inherit version; } 82 + else { inherit name; } 83 + ) // { 84 84 __structuredAttrs = true; 85 85 86 86 nativeBuildInputs = [ 87 87 systemd 88 88 fakeroot 89 89 util-linux 90 + ] ++ lib.optionals (compression.enable) [ 90 91 compressionPkg 91 92 ] ++ fileSystemTools; 92 93 93 94 env = mkfsEnv; 94 95 96 + inherit partitionsJSON definitionsDirectory; 97 + 98 + # relative path to the repart definitions that are read by systemd-repart 99 + finalRepartDefinitions = "repart.d"; 100 + 95 101 systemdRepartFlags = [ 96 102 "--dry-run=no" 97 - "--empty=create" 98 103 "--size=auto" 99 104 "--seed=${seed}" 100 - "--definitions=${amendedRepartDefinitions}" 105 + "--definitions=${finalAttrs.finalRepartDefinitions}" 101 106 "--split=${lib.boolToString split}" 102 107 "--json=pretty" 108 + ] ++ lib.optionals createEmpty [ 109 + "--empty=create" 103 110 ] ++ lib.optionals (sectorSize != null) [ 104 111 "--sector-size=${toString sectorSize}" 105 112 ]; 106 113 107 - passthru = { 108 - inherit amendRepartDefinitions amendedRepartDefinitions; 109 - }; 110 - } '' 111 - mkdir -p $out 112 - cd $out 114 + dontUnpack = true; 115 + dontConfigure = true; 116 + doCheck = false; 117 + 118 + patchPhase = '' 119 + runHook prePatch 120 + 121 + amendedRepartDefinitionsDir=$(${amendRepartDefinitions} $partitionsJSON $definitionsDirectory) 122 + ln -vs $amendedRepartDefinitionsDir $finalRepartDefinitions 123 + 124 + runHook postPatch 125 + ''; 126 + 127 + buildPhase = '' 128 + runHook preBuild 113 129 114 - echo "Building image with systemd-repart..." 115 - unshare --map-root-user fakeroot systemd-repart \ 116 - ''${systemdRepartFlags[@]} \ 117 - ${imageFileBasename}.raw \ 118 - | tee repart-output.json 130 + echo "Building image with systemd-repart..." 131 + unshare --map-root-user fakeroot systemd-repart \ 132 + ''${systemdRepartFlags[@]} \ 133 + ${imageFileBasename}.raw \ 134 + | tee repart-output.json 119 135 136 + runHook postBuild 137 + ''; 138 + 139 + installPhase = '' 140 + runHook preInstall 141 + 142 + mkdir -p $out 143 + '' 120 144 # Compression is implemented in the same derivation as opposed to in a 121 145 # separate derivation to allow users to save disk space. Disk images are 122 146 # already very space intensive so we want to allow users to mitigate this. 123 - if ${lib.boolToString compression.enable}; then 147 + + lib.optionalString compression.enable 148 + '' 124 149 for f in ${imageFileBasename}*; do 125 150 echo "Compressing $f with ${compression.algorithm}..." 126 151 # Keep the original file when compressing and only delete it afterwards 127 152 ${compressionCommand} $f && rm $f 128 153 done 129 - fi 130 - '' 154 + '' + '' 155 + mv -v repart-output.json ${imageFileBasename}* $out 156 + 157 + runHook postInstall 158 + ''; 159 + 160 + passthru = { 161 + inherit amendRepartDefinitions; 162 + }; 163 + })
+26 -16
nixos/modules/image/repart.nix
··· 211 211 ''; 212 212 }; 213 213 214 + finalPartitions = lib.mkOption { 215 + type = lib.types.attrs; 216 + internal = true; 217 + readOnly = true; 218 + description = lib.mdDoc '' 219 + Convenience option to access partitions with added closures. 220 + ''; 221 + }; 222 + 214 223 }; 215 224 216 225 config = { ··· 224 233 "zstd" = ".zst"; 225 234 "xz" = ".xz"; 226 235 }."${cfg.compression.algorithm}"; 236 + 237 + makeClosure = paths: pkgs.closureInfo { rootPaths = paths; }; 238 + 239 + # Add the closure of the provided Nix store paths to cfg.partitions so 240 + # that amend-repart-definitions.py can read it. 241 + addClosure = _name: partitionConfig: partitionConfig // ( 242 + lib.optionalAttrs 243 + (partitionConfig.storePaths or [ ] != [ ]) 244 + { closure = "${makeClosure partitionConfig.storePaths}/store-paths"; } 245 + ); 227 246 in 228 247 { 229 248 name = lib.mkIf (config.system.image.id != null) (lib.mkOptionDefault config.system.image.id); ··· 239 258 "xz" = 3; 240 259 }."${cfg.compression.algorithm}"; 241 260 }; 261 + 262 + finalPartitions = lib.mapAttrs addClosure cfg.partitions; 242 263 }; 243 264 244 265 system.build.image = ··· 247 268 (f: f != null) 248 269 (lib.mapAttrsToList (_n: v: v.repartConfig.Format or null) cfg.partitions); 249 270 250 - makeClosure = paths: pkgs.closureInfo { rootPaths = paths; }; 251 - 252 - # Add the closure of the provided Nix store paths to cfg.partitions so 253 - # that amend-repart-definitions.py can read it. 254 - addClosure = _name: partitionConfig: partitionConfig // ( 255 - lib.optionalAttrs 256 - (partitionConfig.storePaths or [ ] != [ ]) 257 - { closure = "${makeClosure partitionConfig.storePaths}/store-paths"; } 258 - ); 259 - 260 - finalPartitions = lib.mapAttrs addClosure cfg.partitions; 261 271 262 272 format = pkgs.formats.ini { }; 263 273 264 274 definitionsDirectory = utils.systemdUtils.lib.definitions 265 275 "repart.d" 266 276 format 267 - (lib.mapAttrs (_n: v: { Partition = v.repartConfig; }) finalPartitions); 277 + (lib.mapAttrs (_n: v: { Partition = v.repartConfig; }) cfg.finalPartitions); 268 278 269 - partitions = pkgs.writeText "partitions.json" (builtins.toJSON finalPartitions); 279 + partitionsJSON = pkgs.writeText "partitions.json" (builtins.toJSON cfg.finalPartitions); 270 280 271 281 mkfsEnv = mkfsOptionsToEnv cfg.mkfsOptions; 272 282 in 273 283 pkgs.callPackage ./repart-image.nix { 274 284 systemd = cfg.package; 275 - inherit (cfg) imageFileBasename compression split seed sectorSize; 276 - inherit fileSystems definitionsDirectory partitions mkfsEnv; 285 + inherit (cfg) name version imageFileBasename compression split seed sectorSize; 286 + inherit fileSystems definitionsDirectory partitionsJSON mkfsEnv; 277 287 }; 278 288 279 - meta.maintainers = with lib.maintainers; [ nikstur ]; 289 + meta.maintainers = with lib.maintainers; [ nikstur willibutz ]; 280 290 281 291 }; 282 292 }
+1
nixos/modules/module-list.nix
··· 1018 1018 ./services/networking/lxd-image-server.nix 1019 1019 ./services/networking/magic-wormhole-mailbox-server.nix 1020 1020 ./services/networking/matterbridge.nix 1021 + ./services/networking/mihomo.nix 1021 1022 ./services/networking/minidlna.nix 1022 1023 ./services/networking/miniupnpd.nix 1023 1024 ./services/networking/miredo.nix
+118
nixos/modules/services/networking/mihomo.nix
··· 1 + # NOTE: 2 + # cfg.configFile contains secrets such as proxy servers' credential! 3 + # we dont want plaintext secrets in world-readable `/nix/store`. 4 + 5 + { lib 6 + , config 7 + , pkgs 8 + , ... 9 + }: 10 + let 11 + cfg = config.services.mihomo; 12 + in 13 + { 14 + options.services.mihomo = { 15 + enable = lib.mkEnableOption "Mihomo, A rule-based proxy in Go."; 16 + 17 + package = lib.mkPackageOption pkgs "mihomo" { }; 18 + 19 + configFile = lib.mkOption { 20 + default = null; 21 + type = lib.types.nullOr lib.types.path; 22 + description = "Configuration file to use."; 23 + }; 24 + 25 + webui = lib.mkOption { 26 + default = null; 27 + type = lib.types.nullOr lib.types.path; 28 + description = '' 29 + Local web interface to use. 30 + 31 + You can also use the following website, just in case: 32 + - metacubexd: 33 + - https://d.metacubex.one 34 + - https://metacubex.github.io/metacubexd 35 + - https://metacubexd.pages.dev 36 + - yacd: 37 + - https://yacd.haishan.me 38 + - clash-dashboard (buggy): 39 + - https://clash.razord.top 40 + ''; 41 + }; 42 + 43 + extraOpts = lib.mkOption { 44 + default = null; 45 + type = lib.types.nullOr lib.types.str; 46 + description = "Extra command line options to use."; 47 + }; 48 + 49 + tunMode = lib.mkEnableOption '' 50 + necessary permission for Mihomo's systemd service for TUN mode to function properly. 51 + 52 + Keep in mind, that you still need to enable TUN mode manually in Mihomo's configuration. 53 + ''; 54 + }; 55 + 56 + config = lib.mkIf cfg.enable { 57 + ### systemd service 58 + systemd.services."mihomo" = { 59 + description = "Mihomo daemon, A rule-based proxy in Go."; 60 + documentation = [ "https://wiki.metacubex.one/" ]; 61 + requires = [ "network-online.target" ]; 62 + after = [ "network-online.target" ]; 63 + wantedBy = [ "multi-user.target" ]; 64 + serviceConfig = 65 + { 66 + ExecStart = lib.concatStringsSep " " [ 67 + (lib.getExe cfg.package) 68 + "-d /var/lib/private/mihomo" 69 + (lib.optionalString (cfg.configFile != null) "-f \${CREDENTIALS_DIRECTORY}/config.yaml") 70 + (lib.optionalString (cfg.webui != null) "-ext-ui ${cfg.webui}") 71 + (lib.optionalString (cfg.extraOpts != null) cfg.extraOpts) 72 + ]; 73 + 74 + DynamicUser = true; 75 + StateDirectory = "mihomo"; 76 + LoadCredential = "config.yaml:${cfg.configFile}"; 77 + 78 + ### Hardening 79 + AmbientCapabilities = ""; 80 + CapabilityBoundingSet = ""; 81 + DeviceAllow = ""; 82 + LockPersonality = true; 83 + MemoryDenyWriteExecute = true; 84 + NoNewPrivileges = true; 85 + PrivateDevices = true; 86 + PrivateMounts = true; 87 + PrivateTmp = true; 88 + PrivateUsers = true; 89 + ProcSubset = "pid"; 90 + ProtectClock = true; 91 + ProtectControlGroups = true; 92 + ProtectHome = true; 93 + ProtectHostname = true; 94 + ProtectKernelLogs = true; 95 + ProtectKernelModules = true; 96 + ProtectKernelTunables = true; 97 + ProtectProc = "invisible"; 98 + ProtectSystem = "strict"; 99 + RestrictRealtime = true; 100 + RestrictSUIDSGID = true; 101 + RestrictNamespaces = true; 102 + RestrictAddressFamilies = "AF_INET AF_INET6"; 103 + SystemCallArchitectures = "native"; 104 + SystemCallFilter = "@system-service bpf"; 105 + UMask = "0077"; 106 + } 107 + // lib.optionalAttrs cfg.tunMode { 108 + AmbientCapabilities = "CAP_NET_ADMIN"; 109 + CapabilityBoundingSet = "CAP_NET_ADMIN"; 110 + PrivateDevices = false; 111 + PrivateUsers = false; 112 + RestrictAddressFamilies = "AF_INET AF_INET6 AF_NETLINK"; 113 + }; 114 + }; 115 + }; 116 + 117 + meta.maintainers = with lib.maintainers; [ Guanran928 ]; 118 + }
+9 -2
nixos/modules/services/x11/window-managers/nimdow.nix
··· 8 8 { 9 9 options = { 10 10 services.xserver.windowManager.nimdow.enable = mkEnableOption (lib.mdDoc "nimdow"); 11 + services.xserver.windowManager.nimdow.package = mkOption { 12 + type = types.package; 13 + default = pkgs.nimdow; 14 + defaultText = "pkgs.nimdow"; 15 + description = lib.mdDoc "nimdow package to use"; 16 + }; 11 17 }; 12 18 19 + 13 20 config = mkIf cfg.enable { 14 21 services.xserver.windowManager.session = singleton { 15 22 name = "nimdow"; 16 23 start = '' 17 - ${pkgs.nimdow}/bin/nimdow & 24 + ${cfg.package}/bin/nimdow & 18 25 waitPID=$! 19 26 ''; 20 27 }; 21 - environment.systemPackages = [ pkgs.nimdow ]; 28 + environment.systemPackages = [ cfg.package pkgs.st ]; 22 29 }; 23 30 }
+2
nixos/tests/all-tests.nix
··· 529 529 memcached = handleTest ./memcached.nix {}; 530 530 merecat = handleTest ./merecat.nix {}; 531 531 metabase = handleTest ./metabase.nix {}; 532 + mihomo = handleTest ./mihomo.nix {}; 532 533 mindustry = handleTest ./mindustry.nix {}; 533 534 minecraft = handleTest ./minecraft.nix {}; 534 535 minecraft-server = handleTest ./minecraft-server.nix {}; ··· 581 582 ndppd = handleTest ./ndppd.nix {}; 582 583 nebula = handleTest ./nebula.nix {}; 583 584 netbird = handleTest ./netbird.nix {}; 585 + nimdow = handleTest ./nimdow.nix {}; 584 586 neo4j = handleTest ./neo4j.nix {}; 585 587 netdata = handleTest ./netdata.nix {}; 586 588 networking.networkd = handleTest ./networking.nix { networkd = true; };
+44
nixos/tests/mihomo.nix
··· 1 + import ./make-test-python.nix ({ pkgs, ... }: { 2 + name = "mihomo"; 3 + meta.maintainers = with pkgs.lib.maintainers; [ Guanran928 ]; 4 + 5 + nodes.machine = { 6 + environment.systemPackages = [ pkgs.curl ]; 7 + 8 + services.nginx = { 9 + enable = true; 10 + statusPage = true; 11 + }; 12 + 13 + services.mihomo = { 14 + enable = true; 15 + configFile = pkgs.writeTextFile { 16 + name = "config.yaml"; 17 + text = '' 18 + mixed-port: 7890 19 + external-controller: 127.0.0.1:9090 20 + authentication: 21 + - "user:supersecret" 22 + ''; 23 + }; 24 + }; 25 + }; 26 + 27 + testScript = '' 28 + # Wait until it starts 29 + machine.wait_for_unit("nginx.service") 30 + machine.wait_for_unit("mihomo.service") 31 + machine.wait_for_open_port(80) 32 + machine.wait_for_open_port(7890) 33 + machine.wait_for_open_port(9090) 34 + 35 + # Proxy 36 + machine.succeed("curl --fail --max-time 10 --proxy http://user:supersecret@localhost:7890 http://localhost") 37 + machine.succeed("curl --fail --max-time 10 --proxy socks5://user:supersecret@localhost:7890 http://localhost") 38 + machine.fail("curl --fail --max-time 10 --proxy http://user:supervillain@localhost:7890 http://localhost") 39 + machine.fail("curl --fail --max-time 10 --proxy socks5://user:supervillain@localhost:7890 http://localhost") 40 + 41 + # Web UI 42 + machine.succeed("curl --fail http://localhost:9090") == '{"hello":"clash"}' 43 + ''; 44 + })
+25
nixos/tests/nimdow.nix
··· 1 + import ./make-test-python.nix ({ pkgs, ...} : { 2 + name = "nimdow"; 3 + meta = with pkgs.lib.maintainers; { 4 + maintainers = [ marcusramberg ]; 5 + }; 6 + 7 + nodes.machine = { lib, ... }: { 8 + imports = [ ./common/x11.nix ./common/user-account.nix ]; 9 + test-support.displayManager.auto.user = "alice"; 10 + services.xserver.displayManager.defaultSession = lib.mkForce "none+nimdow"; 11 + services.xserver.windowManager.nimdow.enable = true; 12 + }; 13 + 14 + testScript = { ... }: '' 15 + with subtest("ensure x starts"): 16 + machine.wait_for_x() 17 + machine.wait_for_file("/home/alice/.Xauthority") 18 + machine.succeed("xauth merge ~alice/.Xauthority") 19 + 20 + with subtest("ensure we can open a new terminal"): 21 + machine.send_key("meta_l-ret") 22 + machine.wait_for_window(r"alice.*?machine") 23 + machine.screenshot("terminal") 24 + ''; 25 + })
+5 -6
pkgs/applications/editors/cpeditor/default.nix
··· 5 5 , qtbase 6 6 , qttools 7 7 , wrapQtAppsHook 8 + , syntax-highlighting 8 9 , cmake 9 10 , ninja 10 11 , python3 ··· 13 14 14 15 stdenv.mkDerivation rec { 15 16 pname = "cpeditor"; 16 - version = "6.11.2"; 17 + version = "7.0.1"; 17 18 18 19 src = fetchFromGitHub { 19 20 owner = "cpeditor"; 20 21 repo = "cpeditor"; 21 22 rev = version; 22 - sha256 = "sha256-zotbXzRjIwZdYluJiz6GWUIOXl/wz1TWt+dcTwMhURo="; 23 + hash = "sha256-t7nn3sO45dOQq5OMWhaseO9XHicQ/1fjukXal5yPMgY"; 23 24 fetchSubmodules = true; 24 25 }; 25 26 26 27 nativeBuildInputs = [ cmake ninja pkg-config wrapQtAppsHook python3 ]; 27 - buildInputs = [ qtbase qttools ]; 28 + buildInputs = [ qtbase qttools syntax-highlighting ]; 28 29 29 30 postPatch = '' 30 - substituteInPlace src/Core/Runner.cpp --replace "/bin/bash" "${runtimeShell}" 31 + substituteInPlace src/Core/Runner.cpp --replace-fail "/bin/bash" "${runtimeShell}" 31 32 ''; 32 - 33 - env.NIX_CFLAGS_COMPILE = "-std=c++14"; 34 33 35 34 meta = with lib; { 36 35 description = "An IDE specially designed for competitive programming";
-59
pkgs/applications/gis/qgis/set-pyqt-package-dirs-ltr.patch
··· 1 - diff --git a/cmake/FindPyQt5.cmake b/cmake/FindPyQt5.cmake 2 - index b51fd0075e..87ee317e05 100644 3 - --- a/cmake/FindPyQt5.cmake 4 - +++ b/cmake/FindPyQt5.cmake 5 - @@ -25,7 +25,7 @@ ELSE(EXISTS PYQT5_VERSION_STR) 6 - IF(SIP_BUILD_EXECUTABLE) 7 - # SIP >= 5.0 path 8 - 9 - - FILE(GLOB _pyqt5_metadata "${Python_SITEARCH}/PyQt5-*.dist-info/METADATA") 10 - + FILE(GLOB _pyqt5_metadata "@pyQt5PackageDir@/PyQt5-*.dist-info/METADATA") 11 - IF(_pyqt5_metadata) 12 - FILE(READ ${_pyqt5_metadata} _pyqt5_metadata_contents) 13 - STRING(REGEX REPLACE ".*\nVersion: ([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${_pyqt5_metadata_contents}) 14 - @@ -34,8 +34,8 @@ ELSE(EXISTS PYQT5_VERSION_STR) 15 - ENDIF(_pyqt5_metadata) 16 - 17 - IF(PYQT5_VERSION_STR) 18 - - SET(PYQT5_MOD_DIR "${Python_SITEARCH}/PyQt5") 19 - - SET(PYQT5_SIP_DIR "${Python_SITEARCH}/PyQt5/bindings") 20 - + SET(PYQT5_MOD_DIR "@pyQt5PackageDir@/PyQt5") 21 - + SET(PYQT5_SIP_DIR "@pyQt5PackageDir@/PyQt5/bindings") 22 - FIND_PROGRAM(__pyuic5 "pyuic5") 23 - GET_FILENAME_COMPONENT(PYQT5_BIN_DIR ${__pyuic5} DIRECTORY) 24 - 25 - diff --git a/cmake/FindQsci.cmake b/cmake/FindQsci.cmake 26 - index 69e41c1fe9..5456c3d59b 100644 27 - --- a/cmake/FindQsci.cmake 28 - +++ b/cmake/FindQsci.cmake 29 - @@ -24,7 +24,7 @@ ELSE(QSCI_MOD_VERSION_STR) 30 - IF(SIP_BUILD_EXECUTABLE) 31 - # SIP >= 5.0 path 32 - 33 - - FILE(GLOB _qsci_metadata "${Python_SITEARCH}/QScintilla*.dist-info/METADATA") 34 - + FILE(GLOB _qsci_metadata "@qsciPackageDir@/QScintilla*.dist-info/METADATA") 35 - IF(_qsci_metadata) 36 - FILE(READ ${_qsci_metadata} _qsci_metadata_contents) 37 - STRING(REGEX REPLACE ".*\nVersion: ([^\n]+).*$" "\\1" QSCI_MOD_VERSION_STR ${_qsci_metadata_contents}) 38 - @@ -33,7 +33,7 @@ ELSE(QSCI_MOD_VERSION_STR) 39 - ENDIF(_qsci_metadata) 40 - 41 - IF(QSCI_MOD_VERSION_STR) 42 - - SET(QSCI_SIP_DIR "${PYQT5_SIP_DIR}") 43 - + SET(QSCI_SIP_DIR "@qsciPackageDir@/PyQt5/bindings") 44 - SET(QSCI_FOUND TRUE) 45 - ENDIF(QSCI_MOD_VERSION_STR) 46 - 47 - diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt 48 - index 4cd19c3af4..668cc6a5e6 100644 49 - --- a/python/CMakeLists.txt 50 - +++ b/python/CMakeLists.txt 51 - @@ -206,7 +206,7 @@ if (WITH_GUI) 52 - install(FILES ${QGIS_PYTHON_OUTPUT_DIRECTORY}/_gui.pyi DESTINATION ${QGIS_PYTHON_DIR}) 53 - endif() 54 - if(QSCI_SIP_DIR) 55 - - set(SIP_EXTRA_OPTIONS ${SIP_EXTRA_OPTIONS} -I ${QSCI_SIP_DIR}) 56 - + set(SIP_BUILD_EXTRA_OPTIONS ${SIP_BUILD_EXTRA_OPTIONS} --include-dir=${QSCI_SIP_DIR}) 57 - else() 58 - message(STATUS "Qsci sip file not found - disabling bindings for derived classes") 59 - set(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} HAVE_QSCI_SIP)
+38 -30
pkgs/applications/gis/qgis/unwrapped-ltr.nix
··· 1 1 { lib 2 - , callPackage 3 2 , fetchFromGitHub 4 - , fetchpatch 5 3 , makeWrapper 6 4 , mkDerivation 7 5 , substituteAll 8 6 , wrapGAppsHook 7 + , wrapQtAppsHook 9 8 10 9 , withGrass ? true 11 10 , withWebKit ? false 12 11 13 12 , bison 14 13 , cmake 14 + , draco 15 15 , exiv2 16 16 , fcgi 17 17 , flex ··· 25 25 , netcdf 26 26 , ninja 27 27 , openssl 28 - # , pdal 28 + , pdal 29 29 , postgresql 30 30 , proj 31 31 , protobuf ··· 36 36 , qtbase 37 37 , qtkeychain 38 38 , qtlocation 39 + , qtmultimedia 39 40 , qtsensors 40 41 , qtserialport 41 42 , qtwebkit ··· 63 64 owslib 64 65 psycopg2 65 66 pygments 66 - pyqt-builder 67 67 pyqt5 68 + pyqt-builder 68 69 python-dateutil 69 70 pytz 70 71 pyyaml ··· 76 77 urllib3 77 78 ]; 78 79 in mkDerivation rec { 79 - version = "3.28.15"; 80 + version = "3.34.4"; 80 81 pname = "qgis-ltr-unwrapped"; 81 82 82 83 src = fetchFromGitHub { 83 84 owner = "qgis"; 84 85 repo = "QGIS"; 85 86 rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; 86 - hash = "sha256-R6p1MVeCMbaD74Eqn+OLQkTYP+00y9mBucJR1JXPEJ4="; 87 + hash = "sha256-yEltpPhNFT/XB1EB5FvhCKcP0YY4j/q7luhd1mI0ZJU="; 87 88 }; 88 89 89 90 passthru = { ··· 94 95 nativeBuildInputs = [ 95 96 makeWrapper 96 97 wrapGAppsHook 98 + wrapQtAppsHook 97 99 98 100 bison 99 101 cmake ··· 102 104 ]; 103 105 104 106 buildInputs = [ 105 - openssl 106 - proj 107 - geos 108 - sqlite 109 - gsl 110 - qwt 107 + draco 111 108 exiv2 112 - protobuf 113 109 fcgi 110 + geos 111 + gsl 112 + hdf5 114 113 libspatialindex 115 114 libspatialite 116 - postgresql 117 - txt2tags 118 115 libzip 119 - hdf5 120 116 netcdf 121 - qtbase 122 - qtsensors 117 + openssl 118 + pdal 119 + postgresql 120 + proj 121 + protobuf 123 122 qca-qt5 123 + qscintilla 124 + qt3d 125 + qtbase 124 126 qtkeychain 125 - qscintilla 126 127 qtlocation 128 + qtmultimedia 129 + qtsensors 127 130 qtserialport 128 131 qtxmlpatterns 129 - qt3d 130 - # pdal 132 + qwt 133 + sqlite 134 + txt2tags 131 135 zstd 132 136 ] ++ lib.optional withGrass grass 133 137 ++ lib.optional withWebKit qtwebkit ··· 135 139 136 140 patches = [ 137 141 (substituteAll { 138 - src = ./set-pyqt-package-dirs-ltr.patch; 142 + src = ./set-pyqt-package-dirs.patch; 139 143 pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}"; 140 144 qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}"; 141 145 }) 142 - (fetchpatch { 143 - name = "qgis-3.28.9-exiv2-0.28.patch"; 144 - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-geosciences/qgis/files/qgis-3.28.9-exiv2-0.28.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0"; 145 - hash = "sha256-mPRo0A7ko4GCHJrfJ2Ls0dUKvkFtDmhKekI2CR9StMw="; 146 - }) 147 146 ]; 148 147 149 - # PDAL is disabled until https://github.com/qgis/QGIS/pull/54940 150 - # is backported. 148 + # Add path to Qt platform plugins 149 + # (offscreen is needed by "${APIS_SRC_DIR}/generate_console_pap.py") 150 + preBuild = '' 151 + export QT_QPA_PLATFORM_PLUGIN_PATH=${qtbase.bin}/lib/qt-${qtbase.version}/plugins/platforms 152 + ''; 153 + 151 154 cmakeFlags = [ 155 + "-DCMAKE_BUILD_TYPE=Release" 152 156 "-DWITH_3D=True" 153 - "-DWITH_PDAL=False" # TODO: re-enable PDAL 157 + "-DWITH_PDAL=True" 154 158 "-DENABLE_TESTS=False" 155 159 ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" 156 160 ++ lib.optional withGrass (let ··· 158 162 gminor = lib.versions.minor grass.version; 159 163 in "-DGRASS_PREFIX${gmajor}=${grass}/grass${gmajor}${gminor}" 160 164 ); 165 + 166 + qtWrapperArgs = [ 167 + "--set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-${qtbase.version}/plugins/platforms" 168 + ]; 161 169 162 170 dontWrapGApps = true; # wrapper params passed below 163 171
+12 -13
pkgs/applications/misc/rofimoji/default.nix pkgs/by-name/ro/rofimoji/package.nix
··· 1 - { buildPythonApplication 1 + { lib 2 + , python3Packages 2 3 , fetchFromGitHub 3 - , lib 4 - , python3 5 4 , installShellFiles 6 5 7 6 , waylandSupport ? true 8 7 , x11Support ? true 9 8 10 - , configargparse 11 9 , rofi 12 10 , wl-clipboard 13 11 , wtype ··· 15 13 , xsel 16 14 }: 17 15 18 - buildPythonApplication rec { 16 + python3Packages.buildPythonApplication rec { 19 17 pname = "rofimoji"; 20 - version = "6.1.0"; 21 - format = "pyproject"; 18 + version = "6.2.0"; 19 + pyproject = true; 22 20 23 21 src = fetchFromGitHub { 24 22 owner = "fdw"; 25 23 repo = "rofimoji"; 26 - rev = "refs/tags/${version}"; 27 - sha256 = "sha256-eyzdTMLW9nk0x74T/AhvoVSrxXugc1HgNJy8EB5BApE="; 24 + rev = version; 25 + hash = "sha256-9P9hXBEfq6sqCvb2SfPBNadEoXAdWF3cmcKGEOK+EHE="; 28 26 }; 29 27 30 28 nativeBuildInputs = [ 31 - python3.pkgs.poetry-core 29 + python3Packages.poetry-core 32 30 installShellFiles 33 31 ]; 34 32 35 33 # `rofi` and the `waylandSupport` and `x11Support` dependencies 36 34 # contain binaries needed at runtime. 37 - propagatedBuildInputs = with lib; [ configargparse rofi ] 38 - ++ optionals waylandSupport [ wl-clipboard wtype ] 39 - ++ optionals x11Support [ xdotool xsel ]; 35 + propagatedBuildInputs = [ python3Packages.configargparse rofi ] 36 + ++ lib.optionals waylandSupport [ wl-clipboard wtype ] 37 + ++ lib.optionals x11Support [ xdotool xsel ]; 40 38 41 39 # The 'extractors' sub-module is used for development 42 40 # and has additional dependencies. ··· 52 50 description = "A simple emoji and character picker for rofi"; 53 51 mainProgram = "rofimoji"; 54 52 homepage = "https://github.com/fdw/rofimoji"; 53 + changelog = "https://github.com/fdw/rofimoji/blob/${src.rev}/CHANGELOG.md"; 55 54 license = licenses.mit; 56 55 platforms = platforms.linux; 57 56 maintainers = with maintainers; [ justinlovinger ];
+2 -2
pkgs/applications/networking/flexget/default.nix
··· 6 6 7 7 python3.pkgs.buildPythonApplication rec { 8 8 pname = "flexget"; 9 - version = "3.11.24"; 9 + version = "3.11.25"; 10 10 pyproject = true; 11 11 12 12 # Fetch from GitHub in order to use `requirements.in` ··· 14 14 owner = "Flexget"; 15 15 repo = "Flexget"; 16 16 rev = "refs/tags/v${version}"; 17 - hash = "sha256-GivnZ7WWoS4fc7/uUfZFTdT0W+pW7W6Vhb56CmkEb0k="; 17 + hash = "sha256-bvCogSBB990LIkk273EMTlqNN303JKr5WCI8g7hLU9Q="; 18 18 }; 19 19 20 20 postPatch = ''
+2 -2
pkgs/applications/science/electronics/dataexplorer/default.nix
··· 8 8 9 9 stdenv.mkDerivation rec { 10 10 pname = "dataexplorer"; 11 - version = "3.8.3"; 11 + version = "3.8.5"; 12 12 13 13 src = fetchurl { 14 14 url = "mirror://savannah/dataexplorer/dataexplorer-${version}-src.tar.gz"; 15 - sha256 = "sha256-vU9klb6Mweg8yxnClsIdelG4uW92if64SJ7UHumYYbs="; 15 + sha256 = "sha256-b68xIZNbzHdPyZwLngcnjcoBtI6AeTdrblz/qx/HbGQ="; 16 16 }; 17 17 18 18 nativeBuildInputs = [ ant makeWrapper ];
+1 -1
pkgs/by-name/au/authentik/ldap.nix
··· 4 4 pname = "authentik-ldap-outpost"; 5 5 inherit (authentik) version src; 6 6 7 - vendorHash = "sha256-74rSuZrO5c7mjhHh0iQlJEkOslsFrcDb1aRXXC4RsUM="; 7 + vendorHash = "sha256-UIJBCTq7AJGUDIlZtJaWCovyxlMPzj2BCJQqthybEz4="; 8 8 9 9 CGO_ENABLED = 0; 10 10
+55 -9
pkgs/by-name/au/authentik/package.nix
··· 11 11 , makeWrapper }: 12 12 13 13 let 14 - version = "2023.10.7"; 14 + version = "2024.2.2"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = "goauthentik"; 18 18 repo = "authentik"; 19 19 rev = "version/${version}"; 20 - hash = "sha256-+1IdXRt28UZ2KTa0zsmjneNUOcutP99UUwqcYyVyqTI="; 20 + hash = "sha256-2B1RgKY5tpDBdzguEyWqzg15w5x/dLS2ffjbnxbpINs="; 21 21 }; 22 22 23 23 meta = with lib; { ··· 32 32 website = buildNpmPackage { 33 33 pname = "authentik-website"; 34 34 inherit version src meta; 35 - npmDepsHash = "sha256-4dgFxEvMnp+35nSQNsEchtN1qoS5X2KzEbLPvMnyR+k="; 35 + npmDepsHash = "sha256-paACBXG7hEQSLekxCvxNns2Tg9rN3DUgz6o3A/lAhA8="; 36 36 37 37 NODE_ENV = "production"; 38 38 NODE_OPTIONS = "--openssl-legacy-provider"; ··· 82 82 ln -s ${src}/website $out/ 83 83 ln -s ${clientapi} $out/web/node_modules/@goauthentik/api 84 84 ''; 85 - npmDepsHash = "sha256-5aCKlArtoEijGqeYiY3zoV0Qo7/Xt5hSXbmy2uYZpok="; 85 + npmDepsHash = "sha256-Xtzs91m+qu7jTwr0tMeS74gjlZs4vufGGlplPVf9yew="; 86 86 87 87 postPatch = '' 88 88 cd web ··· 105 105 python = python3.override { 106 106 self = python; 107 107 packageOverrides = final: prev: { 108 + django-tenants = prev.buildPythonPackage rec { 109 + pname = "django-tenants"; 110 + version = "unstable-2024-01-11"; 111 + src = fetchFromGitHub { 112 + owner = "rissson"; 113 + repo = pname; 114 + rev = "a7f37c53f62f355a00142473ff1e3451bb794eca"; 115 + hash = "sha256-YBT0kcCfETXZe0j7/f1YipNIuRrcppRVh1ecFS3cvNo="; 116 + }; 117 + format = "setuptools"; 118 + doCheck = false; # Tests require postgres 119 + 120 + propagatedBuildInputs = with prev; [ 121 + django 122 + psycopg 123 + gunicorn 124 + ]; 125 + }; 126 + 127 + tenant-schemas-celery = prev.buildPythonPackage rec { 128 + pname = "tenant-schemas-celery"; 129 + version = "2.2.0"; 130 + src = fetchFromGitHub { 131 + owner = "maciej-gol"; 132 + repo = pname; 133 + rev = version; 134 + hash = "sha256-OpIJobjWZE5GQGnHADioeoJo3A6DAKh0HdO10k4rsX4="; 135 + }; 136 + format = "setuptools"; 137 + doCheck = false; 138 + 139 + propagatedBuildInputs = with prev; [ 140 + freezegun 141 + more-itertools 142 + psycopg2 143 + ]; 144 + }; 145 + 108 146 authentik-django = prev.buildPythonPackage { 109 147 pname = "authentik-django"; 110 148 inherit version src meta; 111 149 pyproject = true; 112 150 113 151 postPatch = '' 152 + rm lifecycle/system_migrations/tenant_files.py 114 153 substituteInPlace authentik/root/settings.py \ 115 154 --replace-fail 'Path(__file__).absolute().parent.parent.parent' "\"$out\"" 116 155 substituteInPlace authentik/lib/default.yml \ 117 - --replace-fail '/blueprints' "$out/blueprints" 156 + --replace-fail '/blueprints' "$out/blueprints" \ 157 + --replace-fail './media' '/var/lib/authentik/media' 118 158 substituteInPlace pyproject.toml \ 119 159 --replace-fail 'dumb-init = "*"' "" \ 120 - --replace-fail 'djangorestframework-guardian' 'djangorestframework-guardian2' 160 + --replace-fail 'djangorestframework-guardian' 'djangorestframework-guardian2' \ 161 + --replace-fail 'version = "4.9.4"' 'version = "*"' \ 162 + --replace-fail 'version = "<2"' 'version = "*"' 121 163 substituteInPlace authentik/stages/email/utils.py \ 122 164 --replace-fail 'web/' '${webui}/' 123 165 ''; 124 166 125 167 nativeBuildInputs = [ prev.poetry-core ]; 126 168 127 - propagatedBuildInputs = with prev; [ 169 + propagatedBuildInputs = with final; [ 128 170 argon2-cffi 129 171 celery 130 172 channels ··· 140 182 django-model-utils 141 183 django-prometheus 142 184 django-redis 185 + django-storages 186 + django-tenants 143 187 djangorestframework 144 188 djangorestframework-guardian2 145 189 docker ··· 153 197 kubernetes 154 198 ldap3 155 199 lxml 200 + jsonpatch 156 201 opencontainers 157 202 packaging 158 203 paramiko ··· 164 209 pyyaml 165 210 requests-oauthlib 166 211 sentry-sdk 212 + service-identity 167 213 structlog 168 214 swagger-spec-validator 215 + tenant-schemas-celery 169 216 twilio 170 217 twisted 171 218 ua-parser ··· 178 225 wsproto 179 226 xmlsec 180 227 zxcvbn 181 - jsonpatch 182 228 ] ++ [ 183 229 codespell 184 230 ]; ··· 212 258 213 259 CGO_ENABLED = 0; 214 260 215 - vendorHash = "sha256-74rSuZrO5c7mjhHh0iQlJEkOslsFrcDb1aRXXC4RsUM="; 261 + vendorHash = "sha256-UIJBCTq7AJGUDIlZtJaWCovyxlMPzj2BCJQqthybEz4="; 216 262 217 263 postInstall = '' 218 264 mv $out/bin/server $out/bin/authentik
+48
pkgs/by-name/cu/cups-printers/package.nix
··· 1 + { lib 2 + , fetchFromGitHub 3 + , python3 4 + }: 5 + 6 + python3.pkgs.buildPythonApplication rec { 7 + pname = "cups-printers"; 8 + version = "1.0.0"; 9 + pyproject = true; 10 + 11 + src = fetchFromGitHub { 12 + owner = "audiusGmbH"; 13 + repo = "cups-printers"; 14 + rev = "refs/tags/${version}"; 15 + hash = "sha256-HTR9t9ElQmCzJfdWyu+JQ8xBfDNpXl8XtNsJxGSfBXk="; 16 + }; 17 + 18 + pythonRelaxDeps = [ 19 + "validators" 20 + ]; 21 + 22 + nativeBuildInputs = with python3.pkgs; [ 23 + poetry-core 24 + pythonRelaxDepsHook 25 + ]; 26 + 27 + propagatedBuildInputs = with python3.pkgs; [ 28 + pycups 29 + typer 30 + validators 31 + ] ++ typer.optional-dependencies.all; 32 + 33 + # Project has no tests 34 + doCheck = false; 35 + 36 + pythonImportsCheck = [ 37 + "cups_printers" 38 + ]; 39 + 40 + meta = with lib; { 41 + description = "Tool for interacting with a CUPS server"; 42 + homepage = "https://github.com/audiusGmbH/cups-printers"; 43 + changelog = "https://github.com/audiusGmbH/cups-printers/blob/${version}/CHANGELOG.md"; 44 + license = licenses.mit; 45 + maintainers = with maintainers; [ fab ]; 46 + mainProgram = "cups-printers"; 47 + }; 48 + }
+28
pkgs/by-name/hi/hifiscan/package.nix
··· 1 + { lib 2 + , python3Packages 3 + , fetchPypi 4 + }: 5 + let 6 + pname = "hifiscan"; 7 + version = "1.5.2"; 8 + hash = "sha256-8eystqjNdDP2X9beogRcsa+Wqu50uMHZv59jdc5GjUc="; 9 + in 10 + python3Packages.buildPythonApplication { 11 + inherit pname version; 12 + 13 + pythonPath = with python3Packages; [ eventkit numpy sounddevice pyqt6 pyqt6-sip pyqtgraph ]; 14 + 15 + dontUseSetuptoolsCheck = true; 16 + 17 + src = fetchPypi { 18 + inherit pname version hash; 19 + }; 20 + 21 + meta = with lib; { 22 + homepage = "https://github.com/erdewit/HiFiScan"; 23 + description = "Optimize the audio quality of your loudspeakers"; 24 + license = licenses.bsd2; 25 + maintainers = with maintainers; [ cab404 ]; 26 + mainProgram = "hifiscan"; 27 + }; 28 + }
+6
pkgs/by-name/mi/mihomo/package.nix
··· 1 1 { lib 2 2 , fetchFromGitHub 3 3 , buildGoModule 4 + , nixosTests 4 5 }: 5 6 6 7 buildGoModule rec { ··· 30 31 31 32 # network required 32 33 doCheck = false; 34 + 35 + 36 + passthru.tests = { 37 + mihomo = nixosTests.mihomo; 38 + }; 33 39 34 40 meta = with lib; { 35 41 description = "A rule-based tunnel in Go";
+8 -4
pkgs/by-name/ni/nimdow/package.nix
··· 1 - { lib, buildNimPackage, fetchFromGitHub, testers }: 1 + { lib, buildNimPackage, fetchFromGitHub, nixosTests, testers }: 2 2 3 3 buildNimPackage (finalAttrs: { 4 4 pname = "nimdow"; ··· 25 25 substituteInPlace src/nimdowpkg/config/configloader.nim --replace "/usr/share/nimdow" "$out/share/nimdow" 26 26 ''; 27 27 28 - passthru.tests.version = testers.testVersion { 29 - package = finalAttrs.finalPackage; 30 - version = "v${finalAttrs.version}"; 28 + passthru.tests = { 29 + nimdow = nixosTests.nimdow; 30 + version = testers.testVersion { 31 + package = finalAttrs.finalPackage; 32 + version = "v${finalAttrs.version}"; 33 + }; 31 34 }; 32 35 33 36 meta = with lib; 34 37 finalAttrs.src.meta // { 35 38 description = "Nim based tiling window manager"; 39 + platforms = platforms.linux; 36 40 license = [ licenses.gpl2 ]; 37 41 maintainers = [ maintainers.marcusramberg ]; 38 42 mainProgram = "nimdow";
+2 -2
pkgs/by-name/qa/qadwaitadecorations/package.nix
··· 19 19 20 20 in stdenv.mkDerivation (finalAttrs: { 21 21 pname = "qadwaitadecorations"; 22 - version = "0.1.4"; 22 + version = "0.1.5"; 23 23 24 24 src = fetchFromGitHub { 25 25 owner = "FedoraQt"; 26 26 repo = "QAdwaitaDecorations"; 27 27 rev = finalAttrs.version; 28 - hash = "sha256-vG6nK+9hUX0ZxNFz5ZA/EC1rSFTGl5rDTBlsraRlrTU="; 28 + hash = "sha256-aqjm93tmBfDkmce1WG5xx8MCDCvo6AOrRHArj/+Ko9E="; 29 29 }; 30 30 31 31 nativeBuildInputs = [
+83
pkgs/by-name/re/resonance/package.nix
··· 1 + { lib 2 + , cargo 3 + , dbus 4 + , desktop-file-utils 5 + , fetchFromGitHub 6 + , glib 7 + , gst_all_1 8 + , gtk4 9 + , libadwaita 10 + , libxml2 11 + , meson 12 + , ninja 13 + , nix-update-script 14 + , openssl 15 + , pkg-config 16 + , python3 17 + , python3Packages 18 + , rustPlatform 19 + , rustc 20 + , sqlite 21 + , stdenv 22 + , wrapGAppsHook4 23 + }: 24 + stdenv.mkDerivation (finalAttrs: { 25 + pname = "resonance"; 26 + version = "0-unstable-2023-06-06"; 27 + 28 + src = fetchFromGitHub { 29 + owner = "nate-xyz"; 30 + repo = "resonance"; 31 + rev = "97826093e22418c0efdb4e61cc75d981bb82c120"; 32 + hash = "sha256-DgNUjb8+2WTw91OGgFf97YL6lnODtkftYAP/c05RUPI="; 33 + }; 34 + 35 + cargoDeps = rustPlatform.fetchCargoTarball { 36 + src = finalAttrs.src; 37 + hash = "sha256-/v3OokClOk95GOzidBHRkUG7kjHQm35yPeC1n3PzcyM="; 38 + }; 39 + 40 + nativeBuildInputs = [ 41 + cargo 42 + desktop-file-utils 43 + meson 44 + ninja 45 + pkg-config 46 + python3 47 + rustPlatform.cargoSetupHook 48 + rustc 49 + wrapGAppsHook4 50 + ]; 51 + 52 + buildInputs = [ 53 + dbus 54 + glib 55 + gtk4 56 + libadwaita 57 + libxml2 58 + openssl 59 + sqlite 60 + ] ++ (with gst_all_1; [ 61 + gst-libav 62 + gst-plugins-bad 63 + gst-plugins-base 64 + gst-plugins-good 65 + gst-plugins-ugly 66 + gstreamer 67 + ]); 68 + 69 + preFixup = '' 70 + gappsWrapperArgs+=(--prefix PYTHONPATH : ${python3.pkgs.makePythonPath (with python3Packages; [ tqdm mutagen loguru ])}) 71 + ''; 72 + 73 + passthru.updateScript = nix-update-script { }; 74 + 75 + meta = with lib; { 76 + description = "Intuitive GTK4/LibAdwaita music player"; 77 + homepage = "https://github.com/nate-xyz/resonance"; 78 + license = licenses.gpl3Plus; 79 + mainProgram = "resonance"; 80 + maintainers = with maintainers; [ Guanran928 ]; 81 + platforms = platforms.linux; 82 + }; 83 + })
+47
pkgs/by-name/te/technitium-dns-server/package.nix
··· 1 + { 2 + lib, 3 + stdenvNoCC, 4 + fetchurl, 5 + makeWrapper, 6 + dotnet-sdk_8, 7 + }: 8 + stdenvNoCC.mkDerivation rec { 9 + pname = "technitium-dns-server"; 10 + version = "12.1"; 11 + 12 + src = fetchurl { 13 + url = "https://download.technitium.com/dns/archive/${version}/DnsServerPortable.tar.gz"; 14 + hash = "sha256-G0M2xuYBZA3XXXaPs4pLrJmzAMbVJhiqISAvuCw3iZo="; 15 + }; 16 + 17 + sourceRoot = "."; 18 + 19 + nativeBuildInputs = [ makeWrapper ]; 20 + 21 + installPhase = '' 22 + runHook preInstall 23 + 24 + mkdir -p $out/{bin,share/${pname}-${version}} 25 + cp -r * $out/share/${pname}-${version}/. 26 + rm $out/share/${pname}-${version}/start.{sh,bat} 27 + rm $out/share/${pname}-${version}/DnsServerApp.exe 28 + rm $out/share/${pname}-${version}/env-vars 29 + # Remove systemd.service in favor of a separate module (including firewall configuration). 30 + rm $out/share/${pname}-${version}/systemd.service 31 + 32 + makeWrapper "${dotnet-sdk_8}/bin/dotnet" $out/bin/technitium-dns-server \ 33 + --add-flags "$out/share/${pname}-${version}/DnsServerApp.dll" 34 + 35 + runHook postInstall 36 + ''; 37 + 38 + meta = { 39 + changelog = "https://github.com/TechnitiumSoftware/DnsServer/blob/master/CHANGELOG.md"; 40 + description = "Authorative and Recursive DNS server for Privacy and Security"; 41 + homepage = "https://github.com/TechnitiumSoftware/DnsServer"; 42 + license = lib.licenses.gpl3Only; 43 + mainProgram = "technitium-dns-server"; 44 + maintainers = with lib.maintainers; [ fabianrig ]; 45 + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; 46 + }; 47 + }
+3 -2
pkgs/data/themes/andromeda-gtk-theme/default.nix
··· 10 10 repo = "Andromeda-gtk"; 11 11 rev = "250751a546dd0fa2e67eef86d957fbf993b61dfe"; 12 12 hash = "sha256-exr9j/jW2P9cBhKUPQy3AtK5Vgav5vOyWInXUyVhBk0="; 13 - name = "Andromeda-gtk"; 13 + name = "Andromeda"; 14 14 }) 15 15 16 16 (fetchFromGitHub { ··· 18 18 repo = "Andromeda-gtk"; 19 19 rev = "11a6194d19cb846447db048455a5e782ec830ae1"; 20 20 hash = "sha256-Yy3mih0nyA+ahLqj2D99EKqtmWYJRsvQMkmlLfUPcqQ="; 21 - name = "Andromeda-gtk-standard-buttons"; 21 + name = "Andromeda-standard-buttons"; 22 22 }) 23 23 ]; 24 24 ··· 35 35 cp -a Andromeda* $out/share/themes 36 36 37 37 # remove uneeded files, which are not distributed in https://www.gnome-look.org/p/2039961/ 38 + rm -rf $out/share/themes/*/.gitignore 38 39 rm -rf $out/share/themes/*/Art 39 40 rm -rf $out/share/themes/*/LICENSE 40 41 rm -rf $out/share/themes/*/README.md
+2 -2
pkgs/development/compilers/circt/default.nix
··· 17 17 in 18 18 stdenv.mkDerivation rec { 19 19 pname = "circt"; 20 - version = "1.68.0"; 20 + version = "1.70.0"; 21 21 src = fetchFromGitHub { 22 22 owner = "llvm"; 23 23 repo = "circt"; 24 24 rev = "firtool-${version}"; 25 - hash = "sha256-N2OpKzniVUqi+L48mD5W1wW1GdECPVWZCo30f4XD3n0="; 25 + hash = "sha256-OELkfyN0fxnQIGQxfwuRM/+DYdb+8m5wlT/H+eQNjq0="; 26 26 fetchSubmodules = true; 27 27 }; 28 28
+10
pkgs/development/libraries/libdbi-drivers/default.nix
··· 16 16 17 17 buildInputs = [ libdbi sqlite postgresql ] ++ lib.optional (libmysqlclient != null) libmysqlclient; 18 18 19 + patches = [ 20 + # https://sourceforge.net/p/libdbi-drivers/libdbi-drivers/ci/24f48b86c8988ee3aaebc5f303d71e9d789f77b6 21 + ./libdbi-drivers-0.9.0-buffer_overflow.patch 22 + ]; 23 + 19 24 postPatch = '' 20 25 sed -i '/SQLITE3_LIBS/ s/-lsqlite/-lsqlite3/' configure; 21 26 ''; ··· 40 45 "--with-pgsql_incdir=${postgresql}/include" 41 46 "--with-pgsql_libdir=${postgresql.lib}/lib" 42 47 ]; 48 + 49 + env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isClang [ 50 + "-Wno-error=incompatible-function-pointer-types" 51 + "-Wno-error=int-conversion" 52 + ]); 43 53 44 54 installFlags = [ "DESTDIR=\${out}" ]; 45 55
+11
pkgs/development/libraries/libdbi-drivers/libdbi-drivers-0.9.0-buffer_overflow.patch
··· 1 + --- a/drivers/sqlite3/dbd_sqlite3.c 2 + +++ b/drivers/sqlite3/dbd_sqlite3.c 3 + @@ -1451,7 +1451,7 @@ static int getTables(char** tables, int 4 + break; 5 + } 6 + 7 + - word_lower[item-start+1]; 8 + + char word_lower[item-start+1]; 9 + strncpy(word_lower,start,item-start); 10 + word_lower[item-start] = '\0'; 11 + int i = 0;
+2 -12
pkgs/development/libraries/pdal/default.nix
··· 2 2 , stdenv 3 3 , callPackage 4 4 , fetchFromGitHub 5 - , fetchpatch 6 5 , testers 7 6 8 7 , enableE57 ? lib.meta.availableOn stdenv.hostPlatform libe57format ··· 28 27 29 28 stdenv.mkDerivation (finalAttrs: { 30 29 pname = "pdal"; 31 - version = "2.6.3"; 30 + version = "2.7.0"; 32 31 33 32 src = fetchFromGitHub { 34 33 owner = "PDAL"; 35 34 repo = "PDAL"; 36 35 rev = finalAttrs.version; 37 - sha256 = "sha256-wrgEbCYOGW1yrVxyX+UDa5jcUqab3letEGuvWnYvtac="; 36 + sha256 = "sha256-knyDVUZH+X563UzKkvDpi08EcXU5s4+Jvya3Xprpt1A="; 38 37 }; 39 - 40 - patches = [ 41 - # Fix running tests 42 - # https://github.com/PDAL/PDAL/issues/4280 43 - (fetchpatch { 44 - url = "https://patch-diff.githubusercontent.com/raw/PDAL/PDAL/pull/4291.patch"; 45 - sha256 = "sha256-jFS+trwMRBfm+MpT0CcuD/hdYmfyuQj2zyoe06B6G9U="; 46 - }) 47 - ]; 48 38 49 39 nativeBuildInputs = [ 50 40 cmake
+2 -2
pkgs/development/ocaml-modules/mdx/default.nix
··· 6 6 7 7 buildDunePackage rec { 8 8 pname = "mdx"; 9 - version = "2.3.1"; 9 + version = "2.4.1"; 10 10 11 11 minimalOCamlVersion = "4.08"; 12 12 13 13 src = fetchurl { 14 14 url = "https://github.com/realworldocaml/mdx/releases/download/${version}/mdx-${version}.tbz"; 15 - hash = "sha256-mkCkX6p41H4pOSvU/sJg0UAWysGweOSrAW6jrcCXQ/M="; 15 + hash = "sha256-GkDMkcxVPe0KIMmNQ0NUlTvbdZ7Mka02u7mn3QQSrxM="; 16 16 }; 17 17 18 18 nativeBuildInputs = [ cppo ];
+2 -2
pkgs/development/python-modules/approvaltests/default.nix
··· 20 20 21 21 buildPythonPackage rec { 22 22 pname = "approvaltests"; 23 - version = "11.1.1"; 23 + version = "11.1.2"; 24 24 pyproject = true; 25 25 26 26 disabled = pythonOlder "3.8"; ··· 29 29 owner = "approvals"; 30 30 repo = "ApprovalTests.Python"; 31 31 rev = "refs/tags/v${version}"; 32 - hash = "sha256-kVGCAht3ZP6ENhFJG3LoYs6PTH7OSNoj/h5QACwjKG8="; 32 + hash = "sha256-VM4TP98bS9NmhxZz+YHMJrHKr5g6E6aYidxjKQyXp7k="; 33 33 }; 34 34 35 35 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/argostranslate/default.nix
··· 18 18 in 19 19 buildPythonPackage rec { 20 20 pname = "argostranslate"; 21 - version = "1.9.1"; 21 + version = "1.9.3"; 22 22 23 23 format = "setuptools"; 24 24 25 25 src = fetchPypi { 26 26 inherit pname version; 27 - sha256 = "sha256-OlVrRfBhbJpIFjWdLQsn7zEteRP6UfkIpGT4Y933QKk="; 27 + sha256 = "sha256-N1Dh8238cDKpIMeQT645lDvYMbOWjVqGuWxt37+TQmQ="; 28 28 }; 29 29 30 30 propagatedBuildInputs = [
+11 -2
pkgs/development/python-modules/catppuccin/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "catppuccin"; 13 - version = "2.1.0"; 13 + version = "1.3.2"; 14 + # Note: updating to later versions breaks catppuccin-gtk 15 + # It would be ideal to only update this after catppuccin-gtk 16 + # gets support for the newer version 17 + 14 18 pyproject = true; 15 19 16 20 src = fetchFromGitHub { 17 21 owner = "catppuccin"; 18 22 repo = "python"; 19 23 rev = "refs/tags/v${version}"; 20 - hash = "sha256-/RINDyO0cngDy9APqsFHBFBKi8aDf7Tah/IIFdXQURo="; 24 + hash = "sha256-spPZdQ+x3isyeBXZ/J2QE6zNhyHRfyRQGiHreuXzzik="; 21 25 }; 22 26 23 27 build-system = [ ··· 33 37 nativeCheckInputs = [ 34 38 pytestCheckHook 35 39 ] ++ lib.flatten (lib.attrValues optional-dependencies); 40 + 41 + # can be removed next version 42 + disabledTestPaths = [ 43 + "tests/test_flavour.py" # would download a json to check correctness of flavours 44 + ]; 36 45 37 46 pythonImportsCheck = [ "catppuccin" ]; 38 47
+26
pkgs/development/python-modules/eventkit/default.nix
··· 1 + { buildPythonPackage 2 + , lib 3 + , fetchPypi 4 + , numpy 5 + }: 6 + let 7 + pname = "eventkit"; 8 + version = "1.0.3"; 9 + hash = "sha256-mUl/bzxjilD/dhby+M2Iexi7/zdl3BvYaBVU2xRnyTM="; 10 + in buildPythonPackage { 11 + inherit pname version; 12 + 13 + src = fetchPypi { 14 + inherit pname version hash; 15 + }; 16 + 17 + propagatedBuildInputs = [ numpy ]; 18 + dontUseSetuptoolsCheck = true; 19 + 20 + meta = with lib; { 21 + homepage = "https://github.com/erdewit/eventkit"; 22 + description = "Event-driven data pipelines"; 23 + license = licenses.bsd2; 24 + maintainers = with maintainers; [ cab404 ]; 25 + }; 26 + }
+2 -2
pkgs/development/python-modules/extract-msg/default.nix
··· 16 16 17 17 buildPythonPackage rec { 18 18 pname = "extract-msg"; 19 - version = "0.48.2"; 19 + version = "0.48.3"; 20 20 pyproject = true; 21 21 22 22 disabled = pythonOlder "3.7"; ··· 25 25 owner = "TeamMsgExtractor"; 26 26 repo = "msg-extractor"; 27 27 rev = "refs/tags/v${version}"; 28 - hash = "sha256-qCOi4CRBGF5MuGcHVUk+zb76pchZXbE1cBUIlzl9++w="; 28 + hash = "sha256-oN5blYU8LR2O1LEb6naL33UXjBk9xpINl4h6HSaN7PQ="; 29 29 }; 30 30 31 31 pythonRelaxDeps = [
+32 -9
pkgs/development/python-modules/htmldate/default.nix
··· 1 1 { lib 2 + , backports-datetime-fromisoformat 2 3 , buildPythonPackage 3 - , fetchPypi 4 - , pythonOlder 5 4 , charset-normalizer 6 5 , dateparser 6 + , faust-cchardet 7 + , fetchPypi 7 8 , lxml 8 9 , pytestCheckHook 9 10 , python-dateutil 11 + , pythonOlder 12 + , setuptools 10 13 , urllib3 11 - , backports-datetime-fromisoformat 12 14 }: 13 15 14 16 buildPythonPackage rec { 15 17 pname = "htmldate"; 16 - version = "1.7.0"; 17 - format = "setuptools"; 18 + version = "1.8.0"; 19 + pyproject = true; 18 20 19 21 disabled = pythonOlder "3.6"; 20 22 21 23 src = fetchPypi { 22 24 inherit pname version; 23 - hash = "sha256-AqgA3SJMv3S/SDsEL2ThT1e6DkDGtEBLKE6YvGwwto0="; 25 + hash = "sha256-+Ux9AX9Coc9CLlp8XvEMrLridohjFPJ6mGRkYn8wuxU="; 24 26 }; 25 27 28 + nativeBuildInputs = [ 29 + setuptools 30 + ]; 31 + 26 32 propagatedBuildInputs = [ 27 33 charset-normalizer 28 34 dateparser ··· 33 39 backports-datetime-fromisoformat 34 40 ]; 35 41 42 + passthru.optional-dependencies = { 43 + speed = [ 44 + faust-cchardet 45 + urllib3 46 + ] ++ lib.optionals (pythonOlder "3.11") [ 47 + backports-datetime-fromisoformat 48 + ] ++ urllib3.optional-dependencies.brotli; 49 + all = [ 50 + faust-cchardet 51 + urllib3 52 + ] ++ lib.optionals (pythonOlder "3.11") [ 53 + backports-datetime-fromisoformat 54 + ] ++ urllib3.optional-dependencies.brotli; 55 + }; 56 + 36 57 nativeCheckInputs = [ 37 58 pytestCheckHook 38 59 ]; ··· 44 65 "test_download" 45 66 ]; 46 67 47 - pythonImportsCheck = [ "htmldate" ]; 68 + pythonImportsCheck = [ 69 + "htmldate" 70 + ]; 48 71 49 72 meta = with lib; { 50 - description = "Fast and robust extraction of original and updated publication dates from URLs and web pages"; 51 - mainProgram = "htmldate"; 73 + description = "Module for the extraction of original and updated publication dates from URLs and web pages"; 52 74 homepage = "https://htmldate.readthedocs.io"; 53 75 changelog = "https://github.com/adbar/htmldate/blob/v${version}/CHANGELOG.md"; 54 76 license = licenses.gpl3Plus; 55 77 maintainers = with maintainers; [ jokatzke ]; 78 + mainProgram = "htmldate"; 56 79 }; 57 80 }
+2 -2
pkgs/development/python-modules/langsmith/default.nix
··· 15 15 16 16 buildPythonPackage rec { 17 17 pname = "langsmith"; 18 - version = "0.1.29"; 18 + version = "0.1.31"; 19 19 pyproject = true; 20 20 21 21 disabled = pythonOlder "3.8"; ··· 24 24 owner = "langchain-ai"; 25 25 repo = "langsmith-sdk"; 26 26 rev = "refs/tags/v${version}"; 27 - hash = "sha256-E+N+Ge4BnkR4fvoe6HeTJOX1t+XYBpPitrQClLUzkK0="; 27 + hash = "sha256-eQ2oP1I7uc9s9vrDqKCIqMGuh1+MjUpLFukp3Fg0RM0="; 28 28 }; 29 29 30 30 sourceRoot = "${src.name}/python";
+2 -2
pkgs/development/python-modules/microsoft-kiota-serialization-json/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "kiota-serialization-json"; 15 - version = "1.0.0"; 15 + version = "1.1.0"; 16 16 pyproject = true; 17 17 18 18 disabled = pythonOlder "3.8"; ··· 21 21 owner = "microsoft"; 22 22 repo = "kiota-serialization-json-python"; 23 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-DhuDIRTm6xATnXpQ+xLpMuaBcWxZHdr8dO1Rl8OvCKQ="; 24 + hash = "sha256-igMqwoKArfQ37pzdjUICgXY795dfg/MX65iwTVe0sLM="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+10 -10
pkgs/development/python-modules/mypy-boto3/default.nix
··· 47 47 }; 48 48 in 49 49 rec { 50 - mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.34.54" "sha256-ZglQkseFlqe160S+v5baZ3rfI5QqKsh9IIRPOJEcD3E="; 50 + mypy-boto3-accessanalyzer = buildMypyBoto3Package "accessanalyzer" "1.34.67" "sha256-tgiKSWgKebdPAsyuJTQoFGR9BSLfGMeTVbi1rnPnvfQ="; 51 51 52 52 mypy-boto3-account = buildMypyBoto3Package "account" "1.34.0" "sha256-C2iAiA83tZ/7XRlccf1iddDfDNkuO2F0B5aOxKbHy2Q="; 53 53 ··· 141 141 142 142 mypy-boto3-clouddirectory = buildMypyBoto3Package "clouddirectory" "1.34.0" "sha256-lWJQClNEhyq9CN8ThcHtVcEsowIp+V8RXh4rgHAclfM="; 143 143 144 - mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.34.65" "sha256-CQJJPyXyPnCNYxKUt3m7uz6UaFQt1+JH3m6KyOJHelQ="; 144 + mypy-boto3-cloudformation = buildMypyBoto3Package "cloudformation" "1.34.66" "sha256-KV3bh48/S2FIm4O9S62Uk4LeuKR4/1rmbCLKP/urvpU="; 145 145 146 146 mypy-boto3-cloudfront = buildMypyBoto3Package "cloudfront" "1.34.0" "sha256-3n/WEiQdcE253J+CFsskoYlNMXASdzkhPTWneSHDKoM="; 147 147 ··· 161 161 162 162 mypy-boto3-codeartifact = buildMypyBoto3Package "codeartifact" "1.34.0" "sha256-iUgoanqMSyxRopVctyFLiu+otFSgRvdgQPw4mKX3QIk="; 163 163 164 - mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.34.64" "sha256-ZsTKKDanTLB4jFOGLQTLPEterhabpShrchHvvWcUBMo="; 164 + mypy-boto3-codebuild = buildMypyBoto3Package "codebuild" "1.34.67" "sha256-Kvd8zAHfepA4dulpiQCaT2pfKCH567d6CYd5QlweXIY="; 165 165 166 166 mypy-boto3-codecatalyst = buildMypyBoto3Package "codecatalyst" "1.34.0" "sha256-TsXVy8bx6kaj84PJiNNU+075Tx3WW0mrtZFOyLx9yT4="; 167 167 ··· 197 197 198 198 mypy-boto3-config = buildMypyBoto3Package "config" "1.34.45" "sha256-LN1CcIOj9cgzSNCvnUVwLRNPXlitHAlt+5jj6wu6i8E="; 199 199 200 - mypy-boto3-connect = buildMypyBoto3Package "connect" "1.34.64" "sha256-ijgvxHI9taQXYZa1d4yLMp63bCrEFfE0Ug/vmKUGaNM="; 200 + mypy-boto3-connect = buildMypyBoto3Package "connect" "1.34.67" "sha256-kWjC/FacCsC0xevx2dOs67UxaKG1WM3xMahcO3CqZL8="; 201 201 202 202 mypy-boto3-connect-contact-lens = buildMypyBoto3Package "connect-contact-lens" "1.34.0" "sha256-Wx9vcjlgXdWZ2qP3Y/hTY2LAeTd+hyyV5JSIuKQ5I5k="; 203 203 ··· 245 245 246 246 mypy-boto3-ds = buildMypyBoto3Package "ds" "1.34.0" "sha256-qVtMpsnVLF2rN4WaEhrqlTvWvW28RcHIBjsZYwmYapc="; 247 247 248 - mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.34.57" "sha256-itDqozgR636w+OK8wtvO+obJHXohsTr1AMOousvpnbA="; 248 + mypy-boto3-dynamodb = buildMypyBoto3Package "dynamodb" "1.34.67" "sha256-CUR+8+pr3+C+TjLKIyg4IFczQdNAvqMGXe0hU8xZPSI="; 249 249 250 250 mypy-boto3-dynamodbstreams = buildMypyBoto3Package "dynamodbstreams" "1.34.0" "sha256-Zx5cJE+fU9NcvK5rLR966AGIKUvfIwdpLaWWdLmuDzc="; 251 251 252 252 mypy-boto3-ebs = buildMypyBoto3Package "ebs" "1.34.0" "sha256-xIrrXOayZed+Jcn4CFXXNgKz/G+RdiuwA04wq+Ry/fs="; 253 253 254 - mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.34.64" "sha256-fDsnEbTo5UAgPGCoUqGbvk68+9RNN8qZpScW7t/Bq+Q="; 254 + mypy-boto3-ec2 = buildMypyBoto3Package "ec2" "1.34.66" "sha256-Io0ExXqdar+5A4H66ryaApWIQnEcspQysfBsOit4WyY="; 255 255 256 256 mypy-boto3-ec2-instance-connect = buildMypyBoto3Package "ec2-instance-connect" "1.34.63" "sha256-kExmGXEJ5jrvOewmWx7AjVb3boD5GU0cEUp/2PQhzlw="; 257 257 ··· 291 291 292 292 mypy-boto3-evidently = buildMypyBoto3Package "evidently" "1.34.0" "sha256-MkBB5iTYJYg2cWFYHR3Qu7TcsDglLPEw0MnoHqij6+A="; 293 293 294 - mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.34.24" "sha256-GMHF1MWsAt0EfwcK/OSG14AP80L+9dLNsWygvpU5344="; 294 + mypy-boto3-finspace = buildMypyBoto3Package "finspace" "1.34.66" "sha256-G5FMKm9HymvRPtkjvYZt6NVhPUVuBwCR4kQq8/naUFs="; 295 295 296 296 mypy-boto3-finspace-data = buildMypyBoto3Package "finspace-data" "1.34.0" "sha256-8mND5BbdKY5srFwdpxSyfCUTIP4fa9hztP4daUJOB8k="; 297 297 ··· 439 439 440 440 mypy-boto3-location = buildMypyBoto3Package "location" "1.34.18" "sha256-rsjIGenXgdEdgxvilA3IKJkYkpDDQNDfjDQRoj/mxSU="; 441 441 442 - mypy-boto3-logs = buildMypyBoto3Package "logs" "1.34.36" "sha256-FUm1TaiKhphSRY4YbliUSdU6eAU1S1r9fVO00nXFPC4="; 442 + mypy-boto3-logs = buildMypyBoto3Package "logs" "1.34.66" "sha256-z1+sSAHdkvBQB/sbRET/mCWFRNHyHmTpIo40GIBG+EE="; 443 443 444 444 mypy-boto3-lookoutequipment = buildMypyBoto3Package "lookoutequipment" "1.34.47" "sha256-M7NaoRHxlH5/zkuMnOlrco2BCPXErv/N7TAVwv2oZuA="; 445 445 ··· 457 457 458 458 mypy-boto3-managedblockchain = buildMypyBoto3Package "managedblockchain" "1.34.0" "sha256-gUPuS8/ygIdsfCx6S1zpxP936Ah0o5BT4TaDiEW4wPQ="; 459 459 460 - mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.34.33" "sha256-HByCyc+gnBu2+5qdtRw6LuRWCu7sVVXxmOJJZgWMFsI="; 460 + mypy-boto3-managedblockchain-query = buildMypyBoto3Package "managedblockchain-query" "1.34.67" "sha256-c2BoAKpgurKaNOTkl3cqc3X1CiaQVfQL5kvQV3/WLww="; 461 461 462 462 mypy-boto3-marketplace-catalog = buildMypyBoto3Package "marketplace-catalog" "1.34.41" "sha256-SZqNZO/36iGuf0jqNIZrbD1BOE7p6xMWhs5Y5VkUl8c="; 463 463 ··· 639 639 640 640 mypy-boto3-sagemaker-runtime = buildMypyBoto3Package "sagemaker-runtime" "1.34.0" "sha256-OJYEdi4xILUZoePcGBcLRHAhwppeybNO+l0kyW3a0Co="; 641 641 642 - mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.34.0" "sha256-HaloEU3+2VgDekIQ5JltgCCG1jJ/ap1qqDGWR51ggtU="; 642 + mypy-boto3-savingsplans = buildMypyBoto3Package "savingsplans" "1.34.67" "sha256-t+0Ko+Onv24p1Sn59mvR/auXkDTowOEpKwpzuMUqk8w="; 643 643 644 644 mypy-boto3-scheduler = buildMypyBoto3Package "scheduler" "1.34.0" "sha256-+gnQjWPtp7KVI/qIY2aXHD9iM7RZIDl0JwRostfhjzc="; 645 645
+4 -1
pkgs/development/python-modules/pillow-heif/default.nix
··· 75 75 pytestCheckHook 76 76 ]; 77 77 78 - disabledTests = lib.optionals stdenv.isDarwin [ 78 + disabledTests = [ 79 + # Time based 80 + "test_decode_threads" 81 + ] ++ lib.optionals stdenv.isDarwin [ 79 82 # https://github.com/bigcat88/pillow_heif/issues/89 80 83 # not reproducible in nixpkgs 81 84 "test_opencv_crash"
+14 -3
pkgs/development/python-modules/prometheus-client/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchFromGitHub 4 + , setuptools 5 + , twisted 4 6 , pytestCheckHook 5 7 , pythonOlder 6 8 }: ··· 8 10 buildPythonPackage rec { 9 11 pname = "prometheus-client"; 10 12 version = "0.20.0"; 11 - format = "setuptools"; 13 + pyproject = true; 12 14 13 - disabled = pythonOlder "3.6"; 15 + disabled = pythonOlder "3.8"; 14 16 15 17 src = fetchFromGitHub { 16 18 owner = "prometheus"; ··· 19 21 hash = "sha256-IMw0mpOUzjXBy4bMTeSFMc5pdibI5lGxZHKiufjPLbM="; 20 22 }; 21 23 24 + build-system = [ 25 + setuptools 26 + ]; 27 + 28 + optional-dependencies.twisted = [ 29 + twisted 30 + ]; 31 + 22 32 __darwinAllowLocalNetworking = true; 23 33 24 34 nativeCheckInputs = [ 25 35 pytestCheckHook 26 - ]; 36 + ] 37 + ++ lib.flatten (lib.attrValues optional-dependencies); 27 38 28 39 pythonImportsCheck = [ 29 40 "prometheus_client"
+2 -2
pkgs/development/python-modules/pytest-twisted/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "pytest-twisted"; 13 - version = "1.14.0"; 13 + version = "1.14.1"; 14 14 format = "setuptools"; 15 15 16 16 src = fetchPypi { 17 17 inherit pname version; 18 - sha256 = "sha256-IJv1pkUs+/th3o8BWQLBTsgSZACRFQcHS7LuTOjf4xM="; 18 + sha256 = "sha256-qbGLyfykfSiG+O/j/SeHmoHxwLtJ8cVgZmyedkSRtjI="; 19 19 }; 20 20 21 21 buildInputs = [
+7 -4
pkgs/development/python-modules/rpy2/default.nix
··· 2 2 , lib 3 3 , buildPythonPackage 4 4 , fetchPypi 5 + , fetchpatch 5 6 , isPyPy 6 7 , R 7 8 , rWrapper ··· 38 39 # R_LIBS_SITE is used by the nix r package to point to the installed R libraries. 39 40 # This patch sets R_LIBS_SITE when rpy2 is imported. 40 41 ./rpy2-3.x-r-libs-site.patch 42 + 43 + # https://github.com/rpy2/rpy2/pull/1094 44 + (fetchpatch { 45 + url = "https://github.com/rpy2/rpy2/commit/026d069a008163a62d12567bcb938410d0f9bf7a.diff"; 46 + hash = "sha256-x778upSY3zab5EiRyOcsbDpPj7vN/7XzefEs+wvkNg0="; 47 + }) 41 48 ]; 42 49 43 50 postPatch = '' ··· 81 88 ]; 82 89 83 90 doCheck = !stdenv.isDarwin; 84 - 85 - # newlines in environment variables are a problem due to 86 - # https://github.com/rpy2/rpy2/issues/1066 87 - preCheck = "unset postPatch"; 88 91 89 92 nativeCheckInputs = [ 90 93 pytestCheckHook
+2 -2
pkgs/development/python-modules/setuptools-odoo/default.nix
··· 10 10 11 11 buildPythonPackage rec { 12 12 pname = "setuptools-odoo"; 13 - version = "3.2.1"; 13 + version = "3.3"; 14 14 format = "setuptools"; 15 15 16 16 disabled = pythonOlder "3.7"; ··· 19 19 owner = "acsone"; 20 20 repo = pname; 21 21 rev = "refs/tags/${version}"; 22 - hash = "sha256-aS2a1G9lssgGk3uqWgPPWpOpEnqUkCUzWsqPLQfU55k="; 22 + hash = "sha256-38YlkDH/PuJ1yvQ43OYmdnRd1SGJULv6fC/+fitLDJ8="; 23 23 }; 24 24 25 25 propagatedBuildInputs = [
+22 -11
pkgs/development/python-modules/trafilatura/default.nix
··· 10 10 , justext 11 11 , lxml 12 12 , urllib3 13 + , setuptools 13 14 }: 14 15 15 16 buildPythonPackage rec { 16 17 pname = "trafilatura"; 17 - version = "1.7.0"; 18 - format = "setuptools"; 18 + version = "1.8.0"; 19 + pyproject = true; 19 20 20 - disabled = pythonOlder "3.6"; 21 + disabled = pythonOlder "3.9"; 21 22 22 23 src = fetchPypi { 23 24 inherit pname version; 24 - hash = "sha256-oWbmfwBaahLvGU9Ix8n6ThsONnVv3Stk4CRzw1aWLwQ="; 25 + hash = "sha256-6lSHXtJPPq+vGZuKD4m1g1x880NzPDLvvEr50wV6j3I="; 25 26 }; 26 27 28 + nativeBuildInputs = [ 29 + setuptools 30 + ]; 31 + 27 32 propagatedBuildInputs = [ 28 33 certifi 29 34 charset-normalizer ··· 34 39 urllib3 35 40 ]; 36 41 37 - nativeCheckInputs = [ pytestCheckHook ]; 42 + nativeCheckInputs = [ 43 + pytestCheckHook 44 + ]; 38 45 39 - # disable tests that require an internet connection 40 46 disabledTests = [ 47 + # Disable tests that require an internet connection 41 48 "test_download" 42 49 "test_fetch" 43 50 "test_redirection" ··· 51 58 # patch out gui cli because it is not supported in this packaging 52 59 # nixify path to the trafilatura binary in the test suite 53 60 postPatch = '' 54 - substituteInPlace setup.py --replace '"trafilatura_gui=trafilatura.gui:main",' "" 55 - substituteInPlace tests/cli_tests.py --replace "trafilatura_bin = 'trafilatura'" "trafilatura_bin = '$out/bin/trafilatura'" 61 + substituteInPlace setup.py \ 62 + --replace-fail '"trafilatura_gui=trafilatura.gui:main",' "" 63 + substituteInPlace tests/cli_tests.py \ 64 + --replace-fail "trafilatura_bin = 'trafilatura'" "trafilatura_bin = '$out/bin/trafilatura'" 56 65 ''; 57 66 58 - pythonImportsCheck = [ "trafilatura" ]; 67 + pythonImportsCheck = [ 68 + "trafilatura" 69 + ]; 59 70 60 71 meta = with lib; { 61 72 description = "Python package and command-line tool designed to gather text on the Web"; 62 - mainProgram = "trafilatura"; 63 73 homepage = "https://trafilatura.readthedocs.io"; 64 74 changelog = "https://github.com/adbar/trafilatura/blob/v${version}/HISTORY.md"; 65 - license = licenses.gpl3Plus; 75 + license = licenses.asl20; 66 76 maintainers = with maintainers; [ jokatzke ]; 77 + mainProgram = "trafilatura"; 67 78 }; 68 79 }
+2 -2
pkgs/development/python-modules/vispy/default.nix
··· 20 20 21 21 buildPythonPackage rec { 22 22 pname = "vispy"; 23 - version = "0.14.1"; 23 + version = "0.14.2"; 24 24 pyproject = true; 25 25 26 26 disabled = pythonOlder "3.7"; 27 27 28 28 src = fetchPypi { 29 29 inherit pname version; 30 - hash = "sha256-JJpQl5/ACotlEJKDNU3PEs9BXBpdz5gh4RP25ZC5uTw="; 30 + hash = "sha256-7ti0TW9ch70pWySqmi4OTm3GqQXM7gGy1ByPvwp2ez0="; 31 31 }; 32 32 33 33 patches = [
+2 -2
pkgs/development/tools/analysis/checkov/default.nix
··· 5 5 6 6 python3.pkgs.buildPythonApplication rec { 7 7 pname = "checkov"; 8 - version = "3.2.39"; 8 + version = "3.2.42"; 9 9 pyproject = true; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "bridgecrewio"; 13 13 repo = "checkov"; 14 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-WjCTJKk5n0TPZHu56+PnMNj3tNYjDFSt+dMzbaApwXk="; 15 + hash = "sha256-2ZhG7j9kV5E1I1xRzUKSONZ32T1oaDZ7linXjfFrvRg="; 16 16 }; 17 17 18 18 patches = [
+2 -2
pkgs/misc/jitsi-meet-prosody/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "jitsi-meet-prosody"; 5 - version = "1.0.7762"; 5 + version = "1.0.7874"; 6 6 src = fetchurl { 7 7 url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb"; 8 - sha256 = "AbIr+nJEccZFWDbuo+VeTEpLkreOBzKkrJFZFvY1ppI="; 8 + sha256 = "VI43yeuc1fkKv94A1d7hp4ptATT5XrpLXkTnaBpl7Hc="; 9 9 }; 10 10 11 11 dontBuild = true;
+2 -2
pkgs/servers/jicofo/default.nix
··· 2 2 3 3 let 4 4 pname = "jicofo"; 5 - version = "1.0-1062"; 5 + version = "1.0-1075"; 6 6 src = fetchurl { 7 7 url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb"; 8 - sha256 = "bU7h7kjs2yu1O+qhKcs6C63DH/omo/R1+Ms40KHkjHU="; 8 + sha256 = "tRlCZGBWlonTkKMxr2Rry70ZqC3mjcbF627XEn2D2UI="; 9 9 }; 10 10 in 11 11 stdenv.mkDerivation {
+22 -1
pkgs/tools/filesystems/ceph/default.nix
··· 169 169 170 170 # Watch out for python <> boost compatibility 171 171 python = python310.override { 172 - packageOverrides = self: super: let cryptographyOverrideVersion = "40.0.1"; in { 172 + packageOverrides = self: super: let 173 + cryptographyOverrideVersion = "40.0.1"; 174 + bcryptOverrideVersion = "4.0.1"; 175 + in { 176 + # Ceph does not support `bcrypt` > 4.0 yet: 177 + # * Upstream issue: https://tracker.ceph.com/issues/63529 178 + # > Python Sub-Interpreter Model Used by ceph-mgr Incompatible With Python Modules Based on PyO3 179 + bcrypt = super.bcrypt.overridePythonAttrs (old: rec { 180 + pname = "bcrypt"; 181 + version = bcryptOverrideVersion; 182 + src = fetchPypi { 183 + inherit pname version; 184 + hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; 185 + }; 186 + cargoRoot = "src/_bcrypt"; 187 + cargoDeps = rustPlatform.fetchCargoTarball { 188 + inherit src; 189 + sourceRoot = "${pname}-${version}/${cargoRoot}"; 190 + name = "${pname}-${version}"; 191 + hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY="; 192 + }; 193 + }); 173 194 # Ceph does not support `cryptography` > 40 yet: 174 195 # * https://github.com/NixOS/nixpkgs/pull/281858#issuecomment-1899358602 175 196 # * Upstream issue: https://tracker.ceph.com/issues/63529
+5
pkgs/tools/misc/ollama/default.nix
··· 51 51 rocmPath = buildEnv { 52 52 name = "rocm-path"; 53 53 paths = [ 54 + rocmPackages.clr 55 + rocmPackages.hipblas 56 + rocmPackages.rocblas 57 + rocmPackages.rocsolver 58 + rocmPackages.rocsparse 54 59 rocmPackages.rocm-device-libs 55 60 rocmClang 56 61 ];
+2 -2
pkgs/tools/misc/scdl/default.nix
··· 2 2 3 3 python3Packages.buildPythonApplication rec { 4 4 pname = "scdl"; 5 - version = "2.7.3"; 5 + version = "2.7.5"; 6 6 format = "setuptools"; 7 7 8 8 src = fetchPypi { 9 9 inherit pname version; 10 - sha256 = "60284b7b058040d4847f2e4b0ab906b10e959d51f976a0188641e8e10685474f"; 10 + sha256 = "sha256-YoQaIbOfwLtkSZJGZd9CL7TZGgqjfohJfrnQ3t5uLU0="; 11 11 }; 12 12 13 13 propagatedBuildInputs = with python3Packages; [
+2 -2
pkgs/tools/security/exploitdb/default.nix
··· 6 6 7 7 stdenv.mkDerivation rec { 8 8 pname = "exploitdb"; 9 - version = "2024-03-19"; 9 + version = "2024-03-21"; 10 10 11 11 src = fetchFromGitLab { 12 12 owner = "exploit-database"; 13 13 repo = pname; 14 14 rev = "refs/tags/${version}"; 15 - hash = "sha256-VfaUm1d/Hpqo3TfS3gssr0YRPHqxXewZzH52/nSLHXU="; 15 + hash = "sha256-vacIdG4+9AiwtcikE5Xqf8L+TqExmrh6w7ZSGtnNe/c="; 16 16 }; 17 17 18 18 nativeBuildInputs = [
+3 -4
pkgs/tools/typesetting/tex/texlive/build-tex-env.nix
··· 172 172 173 173 # emulate split output derivation 174 174 splitOutputs = { 175 - out = out // { outputSpecified = true; }; 176 175 texmfdist = texmfdist // { outputSpecified = true; }; 177 176 texmfroot = texmfroot // { outputSpecified = true; }; 178 177 } // (lib.genAttrs pkgList.nonEnvOutputs (outName: (buildEnv { ··· 186 185 inherit meta passthru; 187 186 }).overrideAttrs { outputs = [ outName ]; } // { outputSpecified = true; })); 188 187 189 - passthru = lib.optionalAttrs (! __combine) (splitOutputs // { 190 - all = builtins.attrValues splitOutputs; 191 - }) // { 188 + passthru = { 189 + # these are not part of pkgList.nonEnvOutputs and must be exported in passthru 190 + inherit (splitOutputs) texmfdist texmfroot; 192 191 # This is set primarily to help find-tarballs.nix to do its job 193 192 requiredTeXPackages = builtins.filter lib.isDerivation (pkgList.bin ++ pkgList.nonbin 194 193 ++ lib.optionals (! __fromCombineWrapper)
-4
pkgs/top-level/all-packages.nix
··· 34526 34526 34527 34527 rofi-systemd = callPackage ../tools/system/rofi-systemd { }; 34528 34528 34529 - rofimoji = callPackage ../applications/misc/rofimoji { 34530 - inherit (python3Packages) buildPythonApplication configargparse; 34531 - }; 34532 - 34533 34529 rootlesskit = callPackage ../tools/virtualization/rootlesskit { }; 34534 34530 34535 34531 rsclock = callPackage ../applications/misc/rsclock { };
+2
pkgs/top-level/python-packages.nix
··· 3865 3865 3866 3866 eve = callPackage ../development/python-modules/eve { }; 3867 3867 3868 + eventkit = callPackage ../development/python-modules/eventkit { }; 3869 + 3868 3870 eventlet = callPackage ../development/python-modules/eventlet { }; 3869 3871 3870 3872 events = callPackage ../development/python-modules/events { };