From f3a3f68129330681e593bac3d90721b6af9ca5f1 Mon Sep 17 00:00:00 2001 From: Tom Herbers Date: Mon, 12 May 2025 21:01:34 +0200 Subject: [PATCH 01/41] jool: 4.1.13 -> 4.1.14 --- pkgs/os-specific/linux/jool/source.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/jool/source.nix b/pkgs/os-specific/linux/jool/source.nix index 35ae6875aa57..b734d66be00e 100644 --- a/pkgs/os-specific/linux/jool/source.nix +++ b/pkgs/os-specific/linux/jool/source.nix @@ -1,11 +1,11 @@ { fetchFromGitHub }: rec { - version = "4.1.13"; + version = "4.1.14"; src = fetchFromGitHub { owner = "NICMx"; repo = "Jool"; rev = "refs/tags/v${version}"; - hash = "sha256-Uls3S53jdoGyJ5xUEipQ0Ev5LAp5wzF2DsaLZCy+6Gc="; + hash = "sha256-fAs289FFdUnddkikm4ceA9d/w1qqqaWuPXmAiq3cIA8="; }; } From ea6add9ecb45377e554bf736ae443442f66a08fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 13 May 2025 12:10:12 -0700 Subject: [PATCH 02/41] python313Packages.directv: fix build --- pkgs/development/python-modules/directv/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/python-modules/directv/default.nix b/pkgs/development/python-modules/directv/default.nix index 43a1a1d0e655..57913059cfb9 100644 --- a/pkgs/development/python-modules/directv/default.nix +++ b/pkgs/development/python-modules/directv/default.nix @@ -21,6 +21,12 @@ buildPythonPackage rec { sha256 = "19jckf6qvl8fwi8yff1qy8c44xdz3zpi1ip1md6zl2c503qc91mk"; }; + postPatch = '' + # TypeError: 'Timeout' object does not support the context manager protocol + substituteInPlace directv/directv.py \ + --replace-fail "with async_timeout.timeout" "async with async_timeout.timeout" + ''; + propagatedBuildInputs = [ aiohttp yarl From 1da7a2be0c4adf48349c8e47d14e61844b99c3eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Tue, 13 May 2025 12:11:53 -0700 Subject: [PATCH 03/41] python313Packages.directv: modernize --- .../python-modules/directv/default.nix | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/directv/default.nix b/pkgs/development/python-modules/directv/default.nix index 57913059cfb9..4765f5786570 100644 --- a/pkgs/development/python-modules/directv/default.nix +++ b/pkgs/development/python-modules/directv/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + setuptools, aiohttp, yarl, aresponses, @@ -12,13 +13,13 @@ buildPythonPackage rec { pname = "directv"; version = "0.4.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { owner = "ctalkington"; repo = "python-directv"; - rev = version; - sha256 = "19jckf6qvl8fwi8yff1qy8c44xdz3zpi1ip1md6zl2c503qc91mk"; + tag = version; + hash = "sha256-s4bE8ACFCfpNq+HGEO8fv3VCGPI4OOdR5A7RjY2bTKY="; }; postPatch = '' @@ -27,7 +28,9 @@ buildPythonPackage rec { --replace-fail "with async_timeout.timeout" "async with async_timeout.timeout" ''; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ aiohttp yarl ]; @@ -45,10 +48,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "directv" ]; - meta = with lib; { + meta = { + changelog = "https://github.com/ctalkington/python-directv/releases/tag/${src.tag}"; description = "Asynchronous Python client for DirecTV (SHEF)"; homepage = "https://github.com/ctalkington/python-directv"; - license = licenses.mit; - maintainers = with maintainers; [ dotlambda ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; }; } From 7fd269e2e1ad3198f06ca645a7959a772d4d8b5c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 14 May 2025 01:04:52 +0000 Subject: [PATCH 04/41] dinit: 0.19.3 -> 0.19.4 --- pkgs/by-name/di/dinit/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/di/dinit/package.nix b/pkgs/by-name/di/dinit/package.nix index 0aa23f46e645..394d370bfb88 100644 --- a/pkgs/by-name/di/dinit/package.nix +++ b/pkgs/by-name/di/dinit/package.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { pname = "dinit"; - version = "0.19.3"; + version = "0.19.4"; src = fetchFromGitHub { owner = "davmac314"; @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { postFetch = '' [ -f "$out/BUILD" ] && rm "$out/BUILD" ''; - hash = "sha256-mhb/0EeJpUReGE2xxVXs0iUGctDOVnpR1Q+IVUtFT0Y="; + hash = "sha256-IKT4k2eXCOCXtiypGbsIpN0OHS+WKqXvr4Mb61fbl0M="; }; postPatch = '' From c4476f263e680e9d7543501c8d7239aad84278ff Mon Sep 17 00:00:00 2001 From: FliegendeWurst Date: Tue, 13 May 2025 17:56:12 +0200 Subject: [PATCH 05/41] taler-exchange: fix and enable strictDeps --- pkgs/by-name/ta/taler-exchange/package.nix | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ta/taler-exchange/package.nix b/pkgs/by-name/ta/taler-exchange/package.nix index d9be94b66252..090db22e04ca 100644 --- a/pkgs/by-name/ta/taler-exchange/package.nix +++ b/pkgs/by-name/ta/taler-exchange/package.nix @@ -18,6 +18,7 @@ jq, gettext, texinfo, + libtool, }: stdenv.mkDerivation (finalAttrs: { @@ -35,7 +36,12 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ autoreconfHook + recutils # recfix pkg-config + python3.pkgs.jinja2 + texinfo # makeinfo + # jq is necessary for some tests and is checked by configure script + jq ]; buildInputs = [ @@ -44,16 +50,14 @@ stdenv.mkDerivation (finalAttrs: { jansson libsodium libpq + libtool curl - recutils gettext - texinfo # Fix 'makeinfo' is missing on your system. libunistring - python3.pkgs.jinja2 - # jq is necessary for some tests and is checked by configure script - jq ]; + strictDeps = true; + propagatedBuildInputs = [ gnunet ]; # From ./bootstrap @@ -90,6 +94,10 @@ stdenv.mkDerivation (finalAttrs: { popd ''; + configureFlags = [ + "ac_cv_path__libcurl_config=${lib.getDev curl}/bin/curl-config" + ]; + enableParallelBuilding = true; doInstallCheck = true; From bd5ba448338734dd92bbfdd5fa73dc677cb98c74 Mon Sep 17 00:00:00 2001 From: FliegendeWurst Date: Tue, 13 May 2025 17:56:12 +0200 Subject: [PATCH 06/41] taler-wallet-core: mark cross as broken --- pkgs/by-name/ta/taler-wallet-core/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ta/taler-wallet-core/package.nix b/pkgs/by-name/ta/taler-wallet-core/package.nix index 7b58ab29e424..815f77cbae09 100644 --- a/pkgs/by-name/ta/taler-wallet-core/package.nix +++ b/pkgs/by-name/ta/taler-wallet-core/package.nix @@ -104,5 +104,7 @@ stdenv.mkDerivation (finalAttrs: { teams = [ lib.teams.ngi ]; platforms = lib.platforms.linux; mainProgram = "taler-wallet-cli"; + # ./configure doesn't understand --build / --host + broken = stdenv.buildPlatform != stdenv.hostPlatform; }; }) From 92ebb8447093391f117aba66f65f0d1de2256a9f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 14 May 2025 15:54:35 +0000 Subject: [PATCH 07/41] sslh: 2.2.1 -> 2.2.3 --- pkgs/by-name/ss/sslh/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ss/sslh/package.nix b/pkgs/by-name/ss/sslh/package.nix index eb937f3ef823..0c70cbb07023 100644 --- a/pkgs/by-name/ss/sslh/package.nix +++ b/pkgs/by-name/ss/sslh/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "sslh"; - version = "2.2.1"; + version = "2.2.3"; src = fetchFromGitHub { owner = "yrutschle"; repo = "sslh"; rev = "v${version}"; - hash = "sha256-AAGS7/mhlPRbZ6VazVA0wnKf3SrEB/AgF8HgeICwvx4="; + hash = "sha256-SWkhTgJM6s89mgvJbqa+N75+0TYCvlEH1NQgaKjocFo="; }; postPatch = "patchShebangs *.sh"; From 1c94e692e90d880190d682ff9c8c709084715405 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 14 May 2025 21:09:44 +0000 Subject: [PATCH 08/41] dotnet-ef: 9.0.4 -> 9.0.5 --- pkgs/by-name/do/dotnet-ef/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/do/dotnet-ef/package.nix b/pkgs/by-name/do/dotnet-ef/package.nix index 40a125634e65..9fe2edac1f2c 100644 --- a/pkgs/by-name/do/dotnet-ef/package.nix +++ b/pkgs/by-name/do/dotnet-ef/package.nix @@ -2,9 +2,9 @@ buildDotnetGlobalTool { pname = "dotnet-ef"; - version = "9.0.4"; + version = "9.0.5"; - nugetHash = "sha256-eQ821C6bx98LJEcdSiozgAaHD2m2+hKVowRTL+L6vzM="; + nugetHash = "sha256-Mu+MlsjH/qa4kMb7z/TuG1lSVSKPX9j9S4mJLVRZ2+E="; meta = { description = "The Entity Framework Core tools help with design-time development tasks."; From bc403f58170d361f89aee057eaac9b69579f3fe0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 14 May 2025 23:49:18 +0000 Subject: [PATCH 09/41] upsun: 5.0.23 -> 5.1.1 --- pkgs/by-name/up/upsun/versions.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/up/upsun/versions.json b/pkgs/by-name/up/upsun/versions.json index 5d0a450a0728..82b10f1f7e80 100644 --- a/pkgs/by-name/up/upsun/versions.json +++ b/pkgs/by-name/up/upsun/versions.json @@ -1,19 +1,19 @@ { - "version": "5.0.23", + "version": "5.1.1", "darwin-amd64": { - "hash": "sha256-6bnna+8cDuZ593FTbEG6IGAxpuH/hVCjCDZJgkB3qRw=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_darwin_all.tar.gz" + "hash": "sha256-oOM+CP4wWjfWBEejhmDM1hjyWistigPfIqotyOJJU/o=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_darwin_all.tar.gz" }, "darwin-arm64": { - "hash": "sha256-6bnna+8cDuZ593FTbEG6IGAxpuH/hVCjCDZJgkB3qRw=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_darwin_all.tar.gz" + "hash": "sha256-oOM+CP4wWjfWBEejhmDM1hjyWistigPfIqotyOJJU/o=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_darwin_all.tar.gz" }, "linux-amd64": { - "hash": "sha256-yxn9r98mUEBCfnd0gkmEKbhPfnHiRxNEsDi3kTJBo6k=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_linux_amd64.tar.gz" + "hash": "sha256-aozHXVnWGGIsOi5AopGbTLzah8AunaUrUoWnakM1+vs=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_linux_amd64.tar.gz" }, "linux-arm64": { - "hash": "sha256-hr4XXEt/mK4HsV1Wp5oqieQs3gQcAy7AFNACaKA6wmA=", - "url": "https://github.com/platformsh/cli/releases/download/5.0.23/upsun_5.0.23_linux_arm64.tar.gz" + "hash": "sha256-MHb++8FXYo7YRq2HO5IypnyxxCQ7jZ5qysiuqmm0YJg=", + "url": "https://github.com/platformsh/cli/releases/download/5.1.1/upsun_5.1.1_linux_arm64.tar.gz" } } From 762e3b709853adeb979a0b917613213323767af2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 15 May 2025 03:15:44 +0000 Subject: [PATCH 10/41] equibop: 2.1.2 -> 2.1.4 --- pkgs/by-name/eq/equibop/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/eq/equibop/package.nix b/pkgs/by-name/eq/equibop/package.nix index 54e006c2c2ff..4bf15d43a41b 100644 --- a/pkgs/by-name/eq/equibop/package.nix +++ b/pkgs/by-name/eq/equibop/package.nix @@ -23,13 +23,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "equibop"; - version = "2.1.2"; + version = "2.1.4"; src = fetchFromGitHub { owner = "Equicord"; repo = "Equibop"; tag = "v${finalAttrs.version}"; - hash = "sha256-lDDGZUpW9LU5S/gzNJFIuVIk08pQlQLK07RwuzcYyjg="; + hash = "sha256-y5q3shwmMjXlMaLWfxjN164uM8hSbWymsHIIJxM82Nk="; }; pnpmDeps = pnpm_9.fetchDeps { @@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: { src patches ; - hash = "sha256-MuCQJgUHyAKpKWM7lYE49zur+G+KtIVBVXCspWImnY8="; + hash = "sha256-laTyxRh54x3iopGVgoFtcgaV7R6IKux1O/+tzGEy0Fg="; }; nativeBuildInputs = [ From 98652f9a901aac50c1d7780ea3507439803a3408 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Tue, 18 Mar 2025 19:15:02 -0400 Subject: [PATCH 11/41] nixos/kernel: Allow controlling modules with attrsets --- lib/types.nix | 6 ++++ .../development/option-types.section.md | 23 +++++++++++++ nixos/modules/system/boot/kernel.nix | 33 +++++++++++++++---- nixos/modules/system/boot/modprobe.nix | 11 ++++--- nixos/modules/tasks/filesystems.nix | 4 +-- 5 files changed, 63 insertions(+), 14 deletions(-) diff --git a/lib/types.nix b/lib/types.nix index 715da842ac01..73d59309e91b 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -1456,6 +1456,12 @@ let nestedTypes.finalType = finalType; }; + # A list of attrnames is coerced into an attrset of bools by + # setting the values to true. + attrNamesToTrue = coercedTo (types.listOf types.str) ( + enabledList: lib.genAttrs enabledList (_attrName: true) + ) (types.attrsOf types.bool); + # Augment the given type with an additional type check function. addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; }; diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index c0add330b72e..8539da71a214 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -135,6 +135,29 @@ merging is handled. problems. ::: +`types.attrNamesToTrue` + +: Either a list of attribute names, or an attribute set of + booleans. A list will be coerced into an attribute set with those + names, whose values are set to `true`. This is useful when it is + convenient to be able to write definitions as a simple list, but + still need to be able to override and disable individual values. + + ::: {#ex-types-attrNamesToTrue .example} + ### `types.attrNamesToTrue` + ``` + { + foo = [ "bar" ]; + } + ``` + + ``` + { + foo.bar = true; + } + ``` + ::: + `types.pkgs` : A type for the top level Nixpkgs package set. diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index b660d2c6d7a9..2571698c0daa 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -13,6 +13,14 @@ let inherit (config.boot.kernel) features randstructSeed; inherit (config.boot.kernelPackages) kernel; + modulesTypeDesc = '' + This can either be a list of modules, or an attrset. In an + attrset, names that are set to `true` represent modules that will + be included. Note that setting these names to `false` does not + prevent the module from being loaded. For that, use + {option}`boot.blacklistedKernelModules`. + ''; + kernelModulesConf = pkgs.writeText "nixos.conf" '' ${concatStringsSep "\n" config.boot.kernelModules} ''; @@ -188,20 +196,23 @@ in }; boot.kernelModules = mkOption { - type = types.listOf types.str; - default = [ ]; + type = types.attrNamesToTrue; + default = { }; description = '' The set of kernel modules to be loaded in the second stage of the boot process. Note that modules that are needed to mount the root file system should be added to {option}`boot.initrd.availableKernelModules` or {option}`boot.initrd.kernelModules`. + + ${modulesTypeDesc} ''; + apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods); }; boot.initrd.availableKernelModules = mkOption { - type = types.listOf types.str; - default = [ ]; + type = types.attrNamesToTrue; + default = { }; example = [ "sata_nv" "ext3" @@ -220,13 +231,21 @@ in modules for PCI devices are loaded when they match the PCI ID of a device in your system). To force a module to be loaded, include it in {option}`boot.initrd.kernelModules`. + + ${modulesTypeDesc} ''; + apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods); }; boot.initrd.kernelModules = mkOption { - type = types.listOf types.str; - default = [ ]; - description = "List of modules that are always loaded by the initrd."; + type = types.attrNamesToTrue; + default = { }; + description = '' + Set of modules that are always loaded by the initrd. + + ${modulesTypeDesc} + ''; + apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods); }; boot.initrd.includeDefaultModules = mkOption { diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix index df0d5d667988..b38e78c3222a 100644 --- a/nixos/modules/system/boot/modprobe.nix +++ b/nixos/modules/system/boot/modprobe.nix @@ -25,16 +25,19 @@ with lib; }; boot.blacklistedKernelModules = mkOption { - type = types.listOf types.str; - default = [ ]; + type = types.attrNamesToTrue; + default = { }; example = [ "cirrusfb" "i2c_piix4" ]; description = '' - List of names of kernel modules that should not be loaded - automatically by the hardware probing code. + Set of names of kernel modules that should not be loaded + automatically by the hardware probing code. This can either be + a list of modules or an attrset. In an attrset, names that are + set to `true` represent modules that will be blacklisted. ''; + apply = mods: lib.attrNames (lib.filterAttrs (_: v: v) mods); }; boot.extraModprobeConfig = mkOption { diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix index ef2a5a685003..b28a902a7c54 100644 --- a/nixos/modules/tasks/filesystems.nix +++ b/nixos/modules/tasks/filesystems.nix @@ -326,9 +326,7 @@ in zfs = lib.mkForce false; } ''; - type = types.coercedTo (types.listOf types.str) ( - enabled: lib.listToAttrs (map (fs: lib.nameValuePair fs true) enabled) - ) (types.attrsOf types.bool); + type = types.attrNamesToTrue; description = '' Names of supported filesystem types, or an attribute set of file system types and their state. The set form may be used together with `lib.mkForce` to From 028b3e1411841a5a2e53dcf1912409e7d63cc000 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Tue, 18 Mar 2025 19:15:02 -0400 Subject: [PATCH 12/41] nixos: Use common modulesClosure in scripted and systemd initrd --- nixos/modules/system/boot/stage-1.nix | 9 ++++++++- nixos/modules/system/boot/systemd/initrd.nix | 10 +--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index c916160aa791..c059ad3eae38 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -783,7 +783,14 @@ in ]; system.build = mkMerge [ - { inherit bootStage1 initialRamdiskSecretAppender extraUtils; } + { + inherit + bootStage1 + initialRamdiskSecretAppender + extraUtils + modulesClosure + ; + } # generated in nixos/modules/system/boot/systemd/initrd.nix (mkIf (!config.boot.initrd.systemd.enable) { inherit initialRamdisk; }) diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index 23b9e232c64d..0a516cac9fff 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -99,14 +99,6 @@ let }; kernel-name = config.boot.kernelPackages.kernel.name or "kernel"; - # Determine the set of modules that we need to mount the root FS. - modulesClosure = pkgs.makeModulesClosure { - rootModules = config.boot.initrd.availableKernelModules ++ config.boot.initrd.kernelModules; - kernel = config.system.modulesTree; - firmware = config.hardware.firmware; - allowMissing = false; - inherit (config.boot.initrd) extraFirmwarePaths; - }; initrdBinEnv = pkgs.buildEnv { name = "initrd-bin-env"; @@ -477,7 +469,7 @@ in } ''; - "/lib".source = "${modulesClosure}/lib"; + "/lib".source = "${config.system.build.modulesClosure}/lib"; "/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules; From 96fb55514f1286ae28f5dddf3fc5665306b5189e Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Wed, 22 Jan 2025 21:25:39 -0500 Subject: [PATCH 13/41] nixos/stage-1: Add option for allowing missing modules --- nixos/modules/system/boot/kernel.nix | 18 ++++++++++++++++++ nixos/modules/system/boot/stage-1.nix | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix index 2571698c0daa..1d8f65ad28d3 100644 --- a/nixos/modules/system/boot/kernel.nix +++ b/nixos/modules/system/boot/kernel.nix @@ -258,6 +258,24 @@ in ''; }; + boot.initrd.allowMissingModules = mkOption { + type = types.bool; + default = false; + description = '' + Whether the initrd can be built even though modules listed in + {option}`boot.initrd.kernelModules` or + {option}`boot.initrd.availableKernelModules` are missing from + the kernel. This is useful when combining configurations that + include a lot of modules, such as + {option}`hardware.enableAllHardware`, with kernels that don't + provide as many modules as typical NixOS kernels. + + Note that enabling this is discouraged. Instead, try disabling + individual modules by setting e.g. + `boot.initrd.availableKernelModules.foo = lib.mkForce false;` + ''; + }; + system.modulesTree = mkOption { type = types.listOf types.path; internal = true; diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index c059ad3eae38..09e6fcaf9ea7 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -25,7 +25,7 @@ let rootModules = config.boot.initrd.availableKernelModules ++ config.boot.initrd.kernelModules; kernel = config.system.modulesTree; firmware = config.hardware.firmware; - allowMissing = false; + allowMissing = config.boot.initrd.allowMissingModules; inherit (config.boot.initrd) extraFirmwarePaths; }; From b5ca9bcd757b37879ac894811367197f1a7dfcda Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Thu, 15 May 2025 06:58:19 +0000 Subject: [PATCH 14/41] geolite-legacy: add updateScript --- pkgs/by-name/ge/geolite-legacy/package.nix | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pkgs/by-name/ge/geolite-legacy/package.nix b/pkgs/by-name/ge/geolite-legacy/package.nix index 6cbf620388d9..b0dedfb01c08 100644 --- a/pkgs/by-name/ge/geolite-legacy/package.nix +++ b/pkgs/by-name/ge/geolite-legacy/package.nix @@ -3,6 +3,9 @@ stdenv, fetchzip, zstd, + writeShellApplication, + common-updater-scripts, + pcre2, }: stdenv.mkDerivation rec { @@ -30,6 +33,28 @@ stdenv.mkDerivation rec { cp ${extra}/usr/share/GeoIP/*.dat $out/share/GeoIP ''; + passthru = { + updateScript = lib.getExe (writeShellApplication { + name = "update-geolite-legacy"; + runtimeInputs = [ + common-updater-scripts + pcre2 + ]; + text = '' + url=https://archive.archlinux.org/packages/g/geoip-database/ + + version=$(list-directory-versions --pname geoip-database --url $url | + pcre2grep -o1 '^(\d{8})-1-any\.pkg\.tar\.zst$' | + sort -n | + tail -1) + + for key in geoip extra; do + update-source-version "$UPDATE_NIX_ATTR_PATH" "$version" --source-key=$key --ignore-same-version + done + ''; + }); + }; + meta = { description = "GeoLite Legacy IP geolocation databases"; homepage = "https://mailfud.org/geoip-legacy/"; From 8025c0e6f8cc897592644d832cb7ff1b7cb5ffb6 Mon Sep 17 00:00:00 2001 From: Martin Joerg Date: Thu, 15 May 2025 06:58:20 +0000 Subject: [PATCH 15/41] geolite-legacy: 20240720 -> 20250129 --- pkgs/by-name/ge/geolite-legacy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ge/geolite-legacy/package.nix b/pkgs/by-name/ge/geolite-legacy/package.nix index b0dedfb01c08..eb12e7e498d7 100644 --- a/pkgs/by-name/ge/geolite-legacy/package.nix +++ b/pkgs/by-name/ge/geolite-legacy/package.nix @@ -10,19 +10,19 @@ stdenv.mkDerivation rec { pname = "geolite-legacy"; - version = "20240720"; + version = "20250129"; # We use Arch Linux package as a snapshot, because upstream database is updated in-place. geoip = fetchzip { url = "https://archive.archlinux.org/packages/g/geoip-database/geoip-database-${version}-1-any.pkg.tar.zst"; - hash = "sha256-9rPp1Lu6Q4+Cb4N4e/ezHacpLuUwbGQefEPuSrH8O6o="; + hash = "sha256-/aT/ndml7a3P9/1CM3KhB4/L+F0CDHpHj/NnKWOv2G0="; nativeBuildInputs = [ zstd ]; stripRoot = false; }; extra = fetchzip { url = "https://archive.archlinux.org/packages/g/geoip-database-extra/geoip-database-extra-${version}-1-any.pkg.tar.zst"; - hash = "sha256-sb06yszstKalc+b9rSuStRuY3YRebAL1Q4jEJkbGiMI="; + hash = "sha256-qFJKeLEWag5Wvzye5heDs79ai0pkJndmZgS8Ip5T3G4="; nativeBuildInputs = [ zstd ]; stripRoot = false; }; From c8b5b5f803e1463cac3ac148ccfbdca6de434b3d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 15 May 2025 07:20:14 +0000 Subject: [PATCH 16/41] kodiPackages.netflix: 1.23.3 -> 1.23.4 --- pkgs/applications/video/kodi/addons/netflix/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/kodi/addons/netflix/default.nix b/pkgs/applications/video/kodi/addons/netflix/default.nix index d360e2b3507a..76ec7fd1d242 100644 --- a/pkgs/applications/video/kodi/addons/netflix/default.nix +++ b/pkgs/applications/video/kodi/addons/netflix/default.nix @@ -12,13 +12,13 @@ buildKodiAddon rec { pname = "netflix"; namespace = "plugin.video.netflix"; - version = "1.23.3"; + version = "1.23.4"; src = fetchFromGitHub { owner = "CastagnaIT"; repo = namespace; rev = "v${version}"; - hash = "sha256-tve7E7dK60BIHETdwt9hD3/5eEdJB6c6rhw4oDoLAKM="; + hash = "sha256-yq5XNhKQSBh7r/2apHXLMjhovV6xhL9DcDwXn9nt0KQ="; }; propagatedBuildInputs = [ From c198aabe103308f66d77390022e9d00ef8beaf5c Mon Sep 17 00:00:00 2001 From: usertam Date: Thu, 15 May 2025 18:33:59 +0800 Subject: [PATCH 17/41] debsigs: init at 0.2.2 --- pkgs/by-name/de/debsigs/package.nix | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 pkgs/by-name/de/debsigs/package.nix diff --git a/pkgs/by-name/de/debsigs/package.nix b/pkgs/by-name/de/debsigs/package.nix new file mode 100644 index 000000000000..ce9cba98f6d0 --- /dev/null +++ b/pkgs/by-name/de/debsigs/package.nix @@ -0,0 +1,28 @@ +{ + lib, + perlPackages, + fetchFromGitLab, +}: + +perlPackages.buildPerlPackage rec { + pname = "debsigs"; + version = "0.2.2"; + + src = fetchFromGitLab { + owner = "debsigs"; + repo = "debsigs"; + tag = "release/${version}"; + hash = "sha256-gCc5JmmdhTAUQqkMOK/0YmlCRD0JcpemCpqusYmpoKU="; + }; + + sourceRoot = "${src.name}/perl"; + + meta = { + description = "Manipulate the cryptographic signatures stored inside a .deb file"; + mainProgram = "debsigs"; + homepage = "https://gitlab.com/debsigs/debsigs"; + changelog = "https://gitlab.com/debsigs/debsigs/-/tags/release/${version}"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ usertam ]; + }; +} From 1bc6c0900fe4b28a4ce0ffa81f978e0e3fb7bdc9 Mon Sep 17 00:00:00 2001 From: cy Date: Thu, 15 May 2025 11:50:36 -0400 Subject: [PATCH 18/41] anki-bin: 25.02.4 -> 25.02.5 Changelog: https://github.com/ankitects/anki/releases/tag/25.02.5 --- pkgs/games/anki/bin.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix index 8ed1a8e05f7e..cfe3b58ea442 100644 --- a/pkgs/games/anki/bin.nix +++ b/pkgs/games/anki/bin.nix @@ -15,22 +15,22 @@ let pname = "anki-bin"; # Update hashes for both Linux and Darwin! - version = "25.02.4"; + version = "25.02.5"; sources = { linux = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst"; - hash = "sha256-vMEmrPrqaasHYQI362mm3/dxCZ6gxan+rPjZrhECYEE="; + hash = "sha256-wYFqT1g+rtoqOR7+Bb5mIJLZ5JdT2M1kcHqJUCuNElA="; }; # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version darwin-x86_64 = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg"; - hash = "sha256-2C4AEy18kP4l2uORqFz7pQvi4wmLqYFyKBJJM26DIzI="; + hash = "sha256-PDlu+oFKWHraPdTuGDCUkO0bhPtkNVibo11B1QkCICw="; }; darwin-aarch64 = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg"; - hash = "sha256-5cwcoKxpbeGoBWM/462loI9hwUKg6iQX6VjswI8nA7U="; + hash = "sha256-RqcGHXN29GDGGuFbrQCBmj3cctzoRQZ8svR5hMYPhxs="; }; }; From 6c4d8d061bdf358a1b47b79d6cb3f1fb47277ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 15 May 2025 09:18:44 -0700 Subject: [PATCH 19/41] python3Packages.directv: fix tests on Darwin --- pkgs/development/python-modules/directv/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/directv/default.nix b/pkgs/development/python-modules/directv/default.nix index 4765f5786570..dfc205beb077 100644 --- a/pkgs/development/python-modules/directv/default.nix +++ b/pkgs/development/python-modules/directv/default.nix @@ -41,6 +41,8 @@ buildPythonPackage rec { pytestCheckHook ]; + __darwinAllowLocalNetworking = true; + disabledTests = [ # ValueError: Host '#' cannot contain '#' (at position 0) "test_client_error" From c911fa5dcbf8265cb4cbed6f1fca47091ec67722 Mon Sep 17 00:00:00 2001 From: emaryn Date: Fri, 16 May 2025 01:08:13 +0800 Subject: [PATCH 20/41] netease-cloud-music-gtk: remove libadwaita' --- .../ne/netease-cloud-music-gtk/package.nix | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix b/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix index 01e300270541..a1b01ba9a057 100644 --- a/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix +++ b/pkgs/by-name/ne/netease-cloud-music-gtk/package.nix @@ -18,20 +18,6 @@ libxml2, }: -let - libadwaita' = libadwaita.overrideAttrs (oldAttrs: { - version = "1.6.2-unstable-2025-01-02"; - src = oldAttrs.src.override { - tag = null; - rev = "f5f0e7ce69405846a8f8bdad11cef2e2a7e99010"; - hash = "sha256-n5RbGHtt2g627T/Tg8m3PjYIl9wfYTIcrplq1pdKAXk="; - }; - - # `test-application-window` is flaky on aarch64-linux - doCheck = false; - }); -in - stdenv.mkDerivation (finalAttrs: { pname = "netease-cloud-music-gtk"; version = "2.5.2"; @@ -70,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: { [ openssl dbus - libadwaita' + libadwaita glib-networking ] ++ (with gst_all_1; [ From 96e7ddecb6bbbb41e5423194ed9fa6e0d17011a4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 15 May 2025 18:49:31 +0000 Subject: [PATCH 21/41] taze: 19.0.4 -> 19.1.0 --- pkgs/by-name/ta/taze/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ta/taze/package.nix b/pkgs/by-name/ta/taze/package.nix index c33ecbf7f6b3..a36cb0aad6cf 100644 --- a/pkgs/by-name/ta/taze/package.nix +++ b/pkgs/by-name/ta/taze/package.nix @@ -13,18 +13,18 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "taze"; - version = "19.0.4"; + version = "19.1.0"; src = fetchFromGitHub { owner = "antfu-collective"; repo = "taze"; tag = "v${finalAttrs.version}"; - hash = "sha256-WHqocBPIop3sNP55+SL1+yibuMQtUnIdMyHxQdQJN5M="; + hash = "sha256-hBXs8S8mOMV7FQIhCzJuhcbTczkwMc5B44fTacAJvyw="; }; pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; - hash = "sha256-AyQMFqtRW8U0zPl0c9kq8olxqgZ97ln0u/UuXw/+QXI="; + hash = "sha256-aUMV2REINp5LDcj1s8bgQAj/4508UEewu+ebD+JT0+M="; }; nativeBuildInputs = [ From 1482cc2b89392569cb6385a551bbc6a86705e96b Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 15 May 2025 22:14:11 +0200 Subject: [PATCH 22/41] uiua-unstable: 0.16.0-dev.2 -> 0.16.0-rc.1 --- pkgs/by-name/ui/uiua/unstable.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ui/uiua/unstable.nix b/pkgs/by-name/ui/uiua/unstable.nix index 3245ab85de52..1729bdd2d25e 100644 --- a/pkgs/by-name/ui/uiua/unstable.nix +++ b/pkgs/by-name/ui/uiua/unstable.nix @@ -1,7 +1,7 @@ rec { - version = "0.16.0-dev.2"; + version = "0.16.0-rc.1"; tag = version; - hash = "sha256-ZCyK6wqFRcKBGo1dgmN9pkvixkLev/STQg7HcrHfG0c="; - cargoHash = "sha256-zqhVwg9+iqjrK2cCGaT4QIN+6CUKZ5ecogA1Oqd8OqQ="; + hash = "sha256-c17CBFPBWe0UR+qwRMLCPGeaozVBq6aRv3haVDoIyyA="; + cargoHash = "sha256-8MulQU6SU1M/ITmPLtYa8SShXRsp7NTMhEZRXEgY5zw="; updateScript = ./update-unstable.sh; } From 178ea53f4009aed5591a626648e3c96d36d0147e Mon Sep 17 00:00:00 2001 From: Philipp Bartsch Date: Thu, 15 May 2025 22:23:08 +0200 Subject: [PATCH 23/41] oniux: init at 0.4.0 --- pkgs/by-name/on/oniux/package.nix | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pkgs/by-name/on/oniux/package.nix diff --git a/pkgs/by-name/on/oniux/package.nix b/pkgs/by-name/on/oniux/package.nix new file mode 100644 index 000000000000..e63fe4a308b3 --- /dev/null +++ b/pkgs/by-name/on/oniux/package.nix @@ -0,0 +1,35 @@ +{ + lib, + rustPlatform, + fetchFromGitLab, + nix-update-script, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "oniux"; + version = "0.4.0"; + + src = fetchFromGitLab { + domain = "gitlab.torproject.org"; + owner = "tpo/core"; + repo = "oniux"; + tag = "v${finalAttrs.version}"; + hash = "sha256-wWB/ch8DB2tO4+NuNDaGv8K4AbV5/MbyY01oRGai86A="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-tUOxs9bTcXS3Gq6cHYe+eAGAEYSRvf3JVGugBImbvJM="; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://gitlab.torproject.org/tpo/core/oniux"; + description = "Isolate Applications over Tor using Linux Namespaces"; + maintainers = with lib.maintainers; [ tnias ]; + platforms = lib.platforms.linux; + license = with lib.licenses; [ + asl20 + mit + ]; + mainProgram = "oniux"; + }; +}) From b5d5f0b7a7c271bc6efdeac8556410f1dbcee364 Mon Sep 17 00:00:00 2001 From: Nikita Pedorich Date: Thu, 15 May 2025 23:32:36 +0900 Subject: [PATCH 24/41] cockpit: use bashInteractive instead of which --- pkgs/by-name/co/cockpit/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cockpit/package.nix b/pkgs/by-name/co/cockpit/package.nix index bc307ee5d9ed..a58a3ee4c2be 100644 --- a/pkgs/by-name/co/cockpit/package.nix +++ b/pkgs/by-name/co/cockpit/package.nix @@ -36,7 +36,6 @@ systemd, udev, xmlto, - which, }: stdenv.mkDerivation (finalAttrs: { @@ -67,7 +66,6 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.setuptools systemd xmlto - which ]; buildInputs = [ @@ -81,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: { udev python3Packages.pygobject3 python3Packages.pip + bashInteractive ]; postPatch = '' @@ -99,7 +98,7 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'const char *cockpit_config_dirs[] = { PACKAGE_SYSCONF_DIR' 'const char *cockpit_config_dirs[] = { "/etc"' substituteInPlace src/**/*.c \ - --replace '"/bin/sh"' "\"$(which sh)\"" + --replace-quiet "/bin/sh" "${lib.getExe bashInteractive}" # instruct users with problems to create a nixpkgs issue instead of nagging upstream directly substituteInPlace configure.ac \ From a6131f42621819c2c00649bd97fe1d6c3c454f3d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 01:19:44 +0000 Subject: [PATCH 25/41] garmindb: 3.6.3 -> 3.6.4 --- pkgs/by-name/ga/garmindb/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ga/garmindb/package.nix b/pkgs/by-name/ga/garmindb/package.nix index c5f19b89e90c..604d56b21fea 100644 --- a/pkgs/by-name/ga/garmindb/package.nix +++ b/pkgs/by-name/ga/garmindb/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication rec { pname = "garmindb"; - version = "3.6.3"; + version = "3.6.4"; pyproject = true; src = fetchFromGitHub { owner = "tcgoetz"; repo = "garmindb"; tag = "v${version}"; - hash = "sha256-JAUDAYf9CH/BxwV88ziF5Zy+3ibcbieEfHrZpHSU8m0="; + hash = "sha256-0srcvYBexsrkQw+AVH3LuIB/+VaQ77Kjv6rHVOq2Reo="; }; pythonRelaxDeps = [ From a50a2c5ebfa99babd28b4c5f2effb6995de9552b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 01:43:15 +0000 Subject: [PATCH 26/41] python3Packages.bluetooth-sensor-state-data: 1.8.0 -> 1.9.0 --- .../python-modules/bluetooth-sensor-state-data/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix b/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix index dd0e9df2edaf..b52ab776cbfc 100644 --- a/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix +++ b/pkgs/development/python-modules/bluetooth-sensor-state-data/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "bluetooth-sensor-state-data"; - version = "1.8.0"; + version = "1.9.0"; pyproject = true; disabled = pythonOlder "3.11"; @@ -21,7 +21,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "bluetooth-sensor-state-data"; tag = "v${version}"; - hash = "sha256-XWSdPFhoCuIkQR/tXDhEFUsxpoDoiebI73MqRjtAvFo="; + hash = "sha256-V7stHAID6zkLFYDX5HUVF38/8OHa4AZr48FPmSoDcAE="; }; build-system = [ poetry-core ]; From 410c560b89609723704a71995d6508bf39cd513d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 01:44:08 +0000 Subject: [PATCH 27/41] immich-go: 0.26.0 -> 0.26.2 --- pkgs/by-name/im/immich-go/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/im/immich-go/package.nix b/pkgs/by-name/im/immich-go/package.nix index b69bcb15b1e6..9e58949dde7f 100644 --- a/pkgs/by-name/im/immich-go/package.nix +++ b/pkgs/by-name/im/immich-go/package.nix @@ -9,13 +9,13 @@ }: buildGoModule rec { pname = "immich-go"; - version = "0.26.0"; + version = "0.26.2"; src = fetchFromGitHub { owner = "simulot"; repo = "immich-go"; tag = "v${version}"; - hash = "sha256-ya2KCUGHLdKcoxR83YqNG/4GiSgPABUeVaf1jqHtdzE="; + hash = "sha256-mC7C5B2e57xWrqbyaLM2n79BgdmlgiF2TxTmxT/McSA="; # Inspired by: https://github.com/NixOS/nixpkgs/blob/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c/pkgs/applications/graphics/pdfcpu/default.nix#L20-L32 # The intention here is to write the information into files in the `src`'s From 09a5f60541c16c9d8b130b38ace6cf5cc354d591 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 01:52:58 +0000 Subject: [PATCH 28/41] python3Packages.langgraph-checkpoint: 2.0.25 -> 2.0.26 --- .../python-modules/langgraph-checkpoint/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix index f80cab9c3982..7409ddd404ed 100644 --- a/pkgs/development/python-modules/langgraph-checkpoint/default.nix +++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix @@ -23,14 +23,14 @@ buildPythonPackage rec { pname = "langgraph-checkpoint"; - version = "2.0.25"; + version = "2.0.26"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langgraph"; tag = "checkpoint==${version}"; - hash = "sha256-MmbdG5oYLG3rwJ1kr9oJuaWc0Wo7nvqEoFwO9DAw7oM="; + hash = "sha256-DSkjaxUfpsOg2ex0dgfO/UJ7WiQb5wQsAGgHPTckF6o="; }; sourceRoot = "${src.name}/libs/checkpoint"; From 66884780b4695ec8331c06d53cbd75e8d497e262 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 02:18:43 +0000 Subject: [PATCH 29/41] python3Packages.bitstruct: 8.20.0 -> 8.21.0 --- pkgs/development/python-modules/bitstruct/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix index eea554734d9a..18a86126d8ef 100644 --- a/pkgs/development/python-modules/bitstruct/default.nix +++ b/pkgs/development/python-modules/bitstruct/default.nix @@ -3,23 +3,20 @@ buildPythonPackage, fetchPypi, setuptools, - pythonOlder, }: buildPythonPackage rec { pname = "bitstruct"; - version = "8.20.0"; + version = "8.21.0"; pyproject = true; build-system = [ setuptools ]; - disabled = pythonOlder "3.8"; - src = fetchPypi { inherit pname version; - hash = "sha256-9rFqkwlzE/KmwUZkDJPl+YijnDM2T4wgpChqwcXtXa4="; + hash = "sha256-/wvklopFyvhojgdfVcyno/6SErBpumflsnsJJqEZSKw="; }; pythonImportsCheck = [ "bitstruct" ]; From 8dd2447a5e4f9f03eac6c7a155d17359489c6af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 15 May 2025 19:47:39 -0700 Subject: [PATCH 30/41] python3Packages.bitstruct: run tests --- pkgs/development/python-modules/bitstruct/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix index 18a86126d8ef..6a75c9c9acb2 100644 --- a/pkgs/development/python-modules/bitstruct/default.nix +++ b/pkgs/development/python-modules/bitstruct/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchPypi, + pytestCheckHook, setuptools, }: @@ -21,6 +22,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "bitstruct" ]; + nativeCheckInputs = [ + pytestCheckHook + ]; + meta = with lib; { description = "Python bit pack/unpack package"; homepage = "https://github.com/eerimoq/bitstruct"; From 5f41abaa04fb6633324ecdeecc8250193933dc73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 15 May 2025 19:51:27 -0700 Subject: [PATCH 31/41] python3Packages.bitstruct: fetch from GitHub --- .../python-modules/bitstruct/default.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix index 6a75c9c9acb2..03cb7c8ad807 100644 --- a/pkgs/development/python-modules/bitstruct/default.nix +++ b/pkgs/development/python-modules/bitstruct/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pytestCheckHook, setuptools, }: @@ -11,15 +11,17 @@ buildPythonPackage rec { version = "8.21.0"; pyproject = true; + src = fetchFromGitHub { + owner = "eerimoq"; + repo = "bitstruct"; + tag = version; + hash = "sha256-r2FPfSoW1Za7kglwpPXnWvWwzhAB8fQXiLPmbsi/8Ps="; + }; + build-system = [ setuptools ]; - src = fetchPypi { - inherit pname version; - hash = "sha256-/wvklopFyvhojgdfVcyno/6SErBpumflsnsJJqEZSKw="; - }; - pythonImportsCheck = [ "bitstruct" ]; nativeCheckInputs = [ From 77493367043ce3139656e6abf7314cdd5f984a41 Mon Sep 17 00:00:00 2001 From: Winter Date: Mon, 12 May 2025 13:48:39 -0400 Subject: [PATCH 32/41] stdenv.mkDerivation: warn when overriding version without also overriding src With the addition of `finalAttrs`, lots of packages have started to use this pattern: ``` stdenv.mkDerivation (finalAttrs: { version = "1.0.0"; src = fetchurl { url = "https://example.com/foo/${finalAttrs.version}.tar.gz"; }; }) ``` in the hopes that when a user overrides `version` with `overrideAttrs`, the source's URL will get modified too. Unfortunately, this doesn't have any effect due to how most of our FODs are named, basically behaving no differently to using `rec` in package definitions to reuse attributes. This change hopes to improve the user experience a bit by adding a warning when `overrideAttrs` is used in this way, which will help no matter if the package is using `finalAttrs` or `rec`. --- pkgs/stdenv/generic/make-derivation.nix | 43 ++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix index 8ecdb6879740..cf7917f366a9 100644 --- a/pkgs/stdenv/generic/make-derivation.nix +++ b/pkgs/stdenv/generic/make-derivation.nix @@ -87,7 +87,48 @@ let args = rattrs (args // { inherit finalPackage overrideAttrs; }); # ^^^^ - overrideAttrs = f0: makeDerivationExtensible (lib.extends (lib.toExtension f0) rattrs); + overrideAttrs = + f0: + let + extends' = + overlay: f: + ( + final: + let + prev = f final; + thisOverlay = overlay final prev; + warnForBadVersionOverride = ( + thisOverlay ? version + && !(thisOverlay ? src) + && !(thisOverlay.__intentionallyOverridingVersion or false) + ); + pname = args.pname or ""; + version = args.version or ""; + pos = builtins.unsafeGetAttrPos "version" thisOverlay; + in + lib.warnIf warnForBadVersionOverride '' + ${ + args.name or "${pname}-${version}" + } was overridden with `version` but not `src` at ${pos.file or ""}:${ + builtins.toString pos.line or "" + }:${builtins.toString pos.column or ""}. + + This is most likely not what you want. In order to properly change the version of a package, override + both the `version` and `src` attributes: + + hello.overrideAttrs (oldAttrs: rec { + version = "1.0.0"; + src = pkgs.fetchurl { + url = "mirror://gnu/hello/hello-''${version}.tar.gz"; + hash = "..."; + }; + }) + + (To silence this warning, set `__intentionallyOverridingVersion = true` in your `overrideAttrs` call.) + '' (prev // (builtins.removeAttrs thisOverlay [ "__intentionallyOverridingVersion" ])) + ); + in + makeDerivationExtensible (extends' (lib.toExtension f0) rattrs); finalPackage = mkDerivationSimple overrideAttrs args; From eb7c5d11cd4f8a5b6e3a16ee47d62e5b651775ca Mon Sep 17 00:00:00 2001 From: Winter Date: Mon, 12 May 2025 16:48:21 -0400 Subject: [PATCH 33/41] bolt-launcher: silence false positive overrideAttrs warning --- pkgs/by-name/bo/bolt-launcher/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/bo/bolt-launcher/package.nix b/pkgs/by-name/bo/bolt-launcher/package.nix index 6c6466acc1aa..f2c01aceb329 100644 --- a/pkgs/by-name/bo/bolt-launcher/package.nix +++ b/pkgs/by-name/bo/bolt-launcher/package.nix @@ -23,6 +23,7 @@ let cef = cef-binary.overrideAttrs (oldAttrs: { version = "126.2.18"; + __intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD gitRevision = "3647d39"; chromiumVersion = "126.0.6478.183"; From 350e41e155ff95457309414e417fba9f83b9c4a6 Mon Sep 17 00:00:00 2001 From: Winter Date: Mon, 12 May 2025 16:55:49 -0400 Subject: [PATCH 34/41] neovimUtils.buildNeovimPlugin: silence false positive overrideAttrs warning --- pkgs/applications/editors/neovim/build-neovim-plugin.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/editors/neovim/build-neovim-plugin.nix b/pkgs/applications/editors/neovim/build-neovim-plugin.nix index 18e1c550ade5..fece233768af 100644 --- a/pkgs/applications/editors/neovim/build-neovim-plugin.nix +++ b/pkgs/applications/editors/neovim/build-neovim-plugin.nix @@ -26,6 +26,7 @@ let luaDrv = originalLuaDrv.overrideAttrs (oa: { version = attrs.version or oa.version; + __intentionallyOverridingVersion = true; rockspecVersion = oa.rockspecVersion; extraConfig = '' @@ -43,6 +44,7 @@ let lua.pkgs.luarocksMoveDataFolder ]; version = "${originalLuaDrv.version}-unstable-${oa.version}"; + __intentionallyOverridingVersion = true; } ) ); From ac8413565545c9894c9c139bdc317e1662d0a9d4 Mon Sep 17 00:00:00 2001 From: Winter Date: Mon, 12 May 2025 16:59:45 -0400 Subject: [PATCH 35/41] luaPackages.cqueues: silence false positive overrideAttrs warning --- pkgs/development/lua-modules/overrides.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix index d28301530344..d51b7c42474b 100644 --- a/pkgs/development/lua-modules/overrides.nix +++ b/pkgs/development/lua-modules/overrides.nix @@ -111,6 +111,7 @@ in rev = lib.last (lib.splitString "-" (lib.last rel)); in "${date}-${rev}"; + __intentionallyOverridingVersion = true; meta.broken = luaOlder "5.1" || luaAtLeast "5.5"; From 1de5fb50b066390e876565e0fb94815dbe869e2e Mon Sep 17 00:00:00 2001 From: Winter Date: Mon, 12 May 2025 17:23:37 -0400 Subject: [PATCH 36/41] obs-studio: silence false positive overrideAttrs warning --- pkgs/applications/video/obs-studio/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index f3ddf8f24ae8..85619d66e647 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -67,6 +67,7 @@ let cef = cef-binary.overrideAttrs (oldAttrs: { version = "127.3.5"; + __intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD gitRevision = "114ea2a"; chromiumVersion = "127.0.6533.120"; From 2a4e829d7bc43ed9b2cc2eb5d6867d96a52fb4e4 Mon Sep 17 00:00:00 2001 From: Winter Date: Mon, 12 May 2025 17:29:18 -0400 Subject: [PATCH 37/41] linux-wallpaperengine: silence false positive overrideAttrs warning --- pkgs/by-name/li/linux-wallpaperengine/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/li/linux-wallpaperengine/package.nix b/pkgs/by-name/li/linux-wallpaperengine/package.nix index defcbe97676d..5dfee0f92ad5 100644 --- a/pkgs/by-name/li/linux-wallpaperengine/package.nix +++ b/pkgs/by-name/li/linux-wallpaperengine/package.nix @@ -33,6 +33,7 @@ let cef = cef-binary.overrideAttrs (oldAttrs: { version = "120.1.10"; + __intentionallyOverridingVersion = true; # `cef-binary` uses the overridden `srcHash` values in its source FOD gitRevision = "3ce3184"; chromiumVersion = "120.0.6099.129"; From 7ae8a2c046d5fa2a52fd63efcfafd9a674f57f20 Mon Sep 17 00:00:00 2001 From: Marc Fontaine Date: Fri, 16 May 2025 06:04:35 +0200 Subject: [PATCH 38/41] dumpvdl2: init at 2.4.0 (#402481) --- pkgs/by-name/du/dumpvdl2/package.nix | 55 ++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/du/dumpvdl2/package.nix diff --git a/pkgs/by-name/du/dumpvdl2/package.nix b/pkgs/by-name/du/dumpvdl2/package.nix new file mode 100644 index 000000000000..06af53f19177 --- /dev/null +++ b/pkgs/by-name/du/dumpvdl2/package.nix @@ -0,0 +1,55 @@ +{ + stdenv, + lib, + fetchFromGitHub, + nix-update-script, + versionCheckHook, + cmake, + pkg-config, + glib, + soapysdr, + sdrplay, + sdrplaySupport ? false, + sqlite, + zeromq, + libacars, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "dumpvdl2"; + version = "2.4.0"; + + src = fetchFromGitHub { + owner = "szpajder"; + repo = "dumpvdl2"; + tag = "v${finalAttrs.version}"; + hash = "sha256-kb8FLVuG9tSZta8nmaKRCRZinF1yy4+NNxD5s7X82Wk="; + }; + + buildInputs = [ + glib + soapysdr + sqlite + zeromq + libacars + ] ++ lib.optionals sdrplaySupport [ sdrplay ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + homepage = "https://github.com/szpajder/dumpvdl2"; + description = "VDL Mode 2 message decoder and protocol analyzer"; + license = lib.licenses.gpl3Plus; + platforms = with lib.platforms; linux ++ darwin; + maintainers = [ lib.maintainers.mafo ]; + mainProgram = "dumpvdl2"; + }; +}) From d3e417cffe9fa039458b87fa48d65c9bcb1c70ec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 04:07:28 +0000 Subject: [PATCH 39/41] phpExtensions.uuid: 1.2.1 -> 1.3.0 --- pkgs/development/php-packages/uuid/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/php-packages/uuid/default.nix b/pkgs/development/php-packages/uuid/default.nix index 7102e50e7ebe..6112aa1d0db5 100644 --- a/pkgs/development/php-packages/uuid/default.nix +++ b/pkgs/development/php-packages/uuid/default.nix @@ -6,7 +6,7 @@ }: let - version = "1.2.1"; + version = "1.3.0"; in buildPecl { inherit version; @@ -16,7 +16,7 @@ buildPecl { owner = "php"; repo = "pecl-networking-uuid"; tag = "v${version}"; - hash = "sha256-C4SoSKkCTQOLKM1h47vbBgiHTG+ChocDB9tzhWfKUsw="; + hash = "sha256-00zJ//O1xqKTedRYThzeXOuL25wKLMZXjJWm/eXLkC4="; }; buildInputs = [ libuuid ]; From afb9428b00195b12831a53bf191e64054ac6831f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 16 May 2025 05:03:38 +0000 Subject: [PATCH 40/41] phpPackages.php-codesniffer: 3.12.2 -> 3.13.0 --- pkgs/development/php-packages/php-codesniffer/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/php-packages/php-codesniffer/default.nix b/pkgs/development/php-packages/php-codesniffer/default.nix index e38c47f91399..714cd7904556 100644 --- a/pkgs/development/php-packages/php-codesniffer/default.nix +++ b/pkgs/development/php-packages/php-codesniffer/default.nix @@ -6,16 +6,16 @@ php.buildComposerProject2 (finalAttrs: { pname = "php-codesniffer"; - version = "3.12.2"; + version = "3.13.0"; src = fetchFromGitHub { owner = "PHPCSStandards"; repo = "PHP_CodeSniffer"; tag = finalAttrs.version; - hash = "sha256-6bv5ejTsCAlSoCqtb7NOGVWJ9rYodAgl2zke+2x7ZaM="; + hash = "sha256-ReWLRVKkVY2fiPgZ3MQnHXDUGQYV1zci5B3Musxq5Q0="; }; - vendorHash = "sha256-z3DWMACau49Z46OiUw88y7aTuaFywbFquhjla90FS3E="; + vendorHash = "sha256-+e80bUeTQ6bSvI/rFlCC7vwuM8pMTSnylEnPhH1LD14="; meta = { changelog = "https://github.com/PHPCSStandards/PHP_CodeSniffer/releases/tag/${finalAttrs.version}"; From 913487e7ca13864477df396f303c08635e4f5187 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Fri, 16 May 2025 15:13:13 +1000 Subject: [PATCH 41/41] devtoolbox: 1.2.3 -> 1.2.5 (#407525) --- pkgs/by-name/de/devtoolbox/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/de/devtoolbox/package.nix b/pkgs/by-name/de/devtoolbox/package.nix index dc3797428f13..85ea3b387653 100644 --- a/pkgs/by-name/de/devtoolbox/package.nix +++ b/pkgs/by-name/de/devtoolbox/package.nix @@ -20,14 +20,14 @@ }: python3Packages.buildPythonApplication rec { pname = "devtoolbox"; - version = "1.2.3"; + version = "1.2.5"; pyproject = false; # uses meson src = fetchFromGitHub { owner = "aleiepure"; repo = "devtoolbox"; tag = "v${version}"; - hash = "sha256-Ns2utC/qiwzEJJkdqwpx320k3srj5OJi8K+u5fI1LwE="; + hash = "sha256-CgpSZvpwBKo2gzp2QbBPFBK0tPhqKFC/DxXdmTWVAwc="; }; postPatch = ''