From 008b7a455ff2baec196439edb76113fb5e040f6f Mon Sep 17 00:00:00 2001 From: "Markus S. Wamser" Date: Sat, 28 Jun 2025 15:17:01 +0200 Subject: [PATCH 01/43] chawan: 0.2.0 -> 0.2.1 also added meta.changelog --- pkgs/by-name/ch/chawan/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ch/chawan/package.nix b/pkgs/by-name/ch/chawan/package.nix index 0ae78cb3df46..981fa6153230 100644 --- a/pkgs/by-name/ch/chawan/package.nix +++ b/pkgs/by-name/ch/chawan/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "chawan"; - version = "0.2.0"; + version = "0.2.1"; src = fetchFromSourcehut { owner = "~bptato"; repo = "chawan"; rev = "v${finalAttrs.version}"; - hash = "sha256-DiA7SEXPJTScdoFeGzH45wZP6gZRU8t/fvJLOufuNmU="; + hash = "sha256-n0hyAT6XuNJTpjLlYiiDER1xrz8nwT+Q2kSkg28Y8zE="; }; patches = [ ./mancha-augment-path.diff ]; @@ -78,6 +78,7 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Lightweight and featureful terminal web browser"; homepage = "https://sr.ht/~bptato/chawan/"; + changelog = "https://git.sr.ht/~bptato/chawan/refs/v${finalAttrs.version}"; license = lib.licenses.publicDomain; platforms = lib.platforms.unix; maintainers = with lib.maintainers; [ ]; From 29787267e2b23fecd554c22f481a319513ad7c1f Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Wed, 2 Jul 2025 10:52:27 +0200 Subject: [PATCH 02/43] maintainers: Add mrdev023 --- maintainers/maintainer-list.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 25f340886351..e6cb2eab77c6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16943,6 +16943,14 @@ github = "mrcjkb"; githubId = 12857160; }; + mrdev023 = { + name = "Florian RICHER"; + email = "florian.richer@protonmail.com"; + matrix = "@mrdev023:matrix.org"; + github = "mrdev023"; + githubId = 11292703; + keys = [ { fingerprint = "B19E 3F4A 2D80 6AB4 793F DF2F C73D 37CB ED7B FC77"; } ]; + }; mredaelli = { email = "massimo@typish.io"; github = "mredaelli"; From dc9cb20ac4dc36260e5cb5252de31f5bb2f234a5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 12 Jul 2025 22:07:09 +0000 Subject: [PATCH 03/43] talosctl: 1.10.4 -> 1.10.5 --- pkgs/by-name/ta/talosctl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ta/talosctl/package.nix b/pkgs/by-name/ta/talosctl/package.nix index 2cc33f92c4a9..c2b08cc01999 100644 --- a/pkgs/by-name/ta/talosctl/package.nix +++ b/pkgs/by-name/ta/talosctl/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "talosctl"; - version = "1.10.4"; + version = "1.10.5"; src = fetchFromGitHub { owner = "siderolabs"; repo = "talos"; tag = "v${version}"; - hash = "sha256-TWaORaR+3PTc+KqWuZiR5HpsuY7ox5BjQ72F8uYRzWQ="; + hash = "sha256-s+vRJ0qFhsgLiRpQfUnf/p6bcjQq40ISTB042iE7eBQ="; }; - vendorHash = "sha256-SDSWWhj3MTuNASZOujKz2M3glO1dhg0cS2pdfeZXyPk="; + vendorHash = "sha256-lYfyW3BEqlzf2wesZwNqQPdjSKRRldEbOeyRri4GwvQ="; ldflags = [ "-s" From a17ad4644b81e54152278d6472f38b6962fe573e Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Mon, 14 Jul 2025 10:20:02 +0200 Subject: [PATCH 04/43] etesync-dav: 0.34.0 -> 0.35.0 --- pkgs/by-name/et/etesync-dav/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/et/etesync-dav/package.nix b/pkgs/by-name/et/etesync-dav/package.nix index 8f88134a4c11..91129662714d 100644 --- a/pkgs/by-name/et/etesync-dav/package.nix +++ b/pkgs/by-name/et/etesync-dav/package.nix @@ -8,14 +8,14 @@ }: python3Packages.buildPythonApplication rec { pname = "etesync-dav"; - version = "0.34.0"; + version = "0.35.0"; format = "pyproject"; src = fetchFromGitHub { owner = "etesync"; repo = "etesync-dav"; tag = "v${version}"; - hash = "sha256-+rNqyksOmDUh0OuvgEDWv6tuZQkn1gizz35Ptr6izos="; + hash = "sha256-CD02nuA9GD/oe7mjExUHIftkPxM1pZQKyDalXSoOhXY="; }; build-system = with python3Packages; [ setuptools ]; From c31419c0a59536383857e0dfa35ae7605200d503 Mon Sep 17 00:00:00 2001 From: Tony Wasserka Date: Tue, 15 Jul 2025 10:33:54 +0200 Subject: [PATCH 05/43] etesync-dav: use pyproject = true --- pkgs/by-name/et/etesync-dav/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/et/etesync-dav/package.nix b/pkgs/by-name/et/etesync-dav/package.nix index 91129662714d..1044c47c1725 100644 --- a/pkgs/by-name/et/etesync-dav/package.nix +++ b/pkgs/by-name/et/etesync-dav/package.nix @@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec { pname = "etesync-dav"; version = "0.35.0"; - format = "pyproject"; + pyproject = true; src = fetchFromGitHub { owner = "etesync"; From 45d9c57e0c1ecb3b724d333bf47eeea75eb891b6 Mon Sep 17 00:00:00 2001 From: eyjhb Date: Tue, 15 Jul 2025 14:24:05 +0200 Subject: [PATCH 06/43] python3Packages.frida-python: 16.7.11 -> 17.2.11 --- .../python-modules/frida-python/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/frida-python/default.nix b/pkgs/development/python-modules/frida-python/default.nix index ec2e459dff13..2c3c82fab78f 100644 --- a/pkgs/development/python-modules/frida-python/default.nix +++ b/pkgs/development/python-modules/frida-python/default.nix @@ -5,7 +5,7 @@ buildPythonPackage, }: let - version = "16.7.11"; + version = "17.2.11"; format = "wheel"; inherit (stdenvNoCC.hostPlatform) system; @@ -13,19 +13,19 @@ let pypiMeta = { x86_64-linux = { - hash = "sha256-aAPVZPz1mn73JuQPGJ/PAOUAtaufeHehSKHzaBmVFF8="; + hash = "sha256-PSCT5Y3JaOo9uJgCzXQVmcDvNxUEEN5dvjRxiEMcJEQ="; platform = "manylinux1_x86_64"; }; aarch64-linux = { - hash = "sha256-mQgfMJ6esH41MXnGZQUwF4j8gDgzfyBDUQo5Kw8TGa4="; + hash = "sha256-UH+f6Pj1BS2hcwz3WoSsBGRXOIM/y8D0ymk8s7BU2nw="; platform = "manylinux2014_aarch64"; }; x86_64-darwin = { - hash = "sha256-TuWvQ4oDkK5Fn/bp0G3eAhvDLlv0tzIQ8dKtysX36w0="; + hash = "sha256-zZms5eIguKTl5SYWtDNQwROPM2+5t8JVp/itIl9FkXs="; platform = "macosx_10_13_x86_64"; }; aarch64-darwin = { - hash = "sha256-QWfWbGnKeuKiGoD0srnnMsbWPYFcYsbO/Oy68uJIRjI="; + hash = "sha256-vzyHYlstwm1GT1jKc0g5Yr6JVte9WGn+hALYpkefKBY="; platform = "macosx_11_0_arm64"; }; } From 0c01eb71bd31c695bb785586e122e7fe9f6ee035 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 17 Jul 2025 19:42:13 +0000 Subject: [PATCH 07/43] lzbench: 2.0.1 -> 2.1 --- pkgs/by-name/lz/lzbench/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lz/lzbench/package.nix b/pkgs/by-name/lz/lzbench/package.nix index a2256ac206fe..8959885336cd 100644 --- a/pkgs/by-name/lz/lzbench/package.nix +++ b/pkgs/by-name/lz/lzbench/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "lzbench"; - version = "2.0.1"; + version = "2.1"; src = fetchFromGitHub { owner = "inikep"; repo = "lzbench"; rev = "v${version}"; - sha256 = "sha256-946AcnD9z60Oihm2pseS8D5j6pGdYeCxmhTLNcW9Mmc="; + sha256 = "sha256-JyK5Hah3X4zwmli44HEO62BYfNg7BBd0+DLlljeHmRc="; }; enableParallelBuilding = true; From 8e5ebb558ce3797baf04edf56fafcbc864550484 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Sat, 19 Jul 2025 09:22:57 +0200 Subject: [PATCH 08/43] element-web-unwrapped: 1.11.105 -> 1.11.106 Release notes: https://github.com/element-hq/element-web/releases/tag/v1.11.106 Full changelog: https://github.com/element-hq/element-web/compare/v1.11.105...v1.11.106 --- pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix b/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix index b2d9c2ba0ce0..56fdb361db20 100644 --- a/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix +++ b/pkgs/by-name/el/element-web-unwrapped/element-web-pin.nix @@ -1,7 +1,7 @@ { - "version" = "1.11.105"; + "version" = "1.11.106"; "hashes" = { - "webSrcHash" = "sha256-IGpSpv1dfOnT6AQGzRYWE/eGW262i7mYGC4DmUnMwlk="; - "webYarnHash" = "sha256-cigiAKAJaOSCVaPThGhGi0HZYMZY8i3nnBT5PS7QVNg="; + "webSrcHash" = "sha256-1l7A+cpXAsTmNbRZgFevPh7Tr/uMHDJkOCNHoc5lGX8="; + "webYarnHash" = "sha256-N+aVIKLqTc9lwATYtoIHl7KGiREtWJdMa8bxEv60LQo="; }; } From b4706ccf5e755dd63c37eb1f4bd50318715bd95f Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Sat, 19 Jul 2025 09:31:55 +0200 Subject: [PATCH 09/43] element-desktop: 1.11.105 -> 1.11.106 Release notes: https://github.com/element-hq/element-desktop/releases/tag/v1.11.106 Full changelog: https://github.com/element-hq/element-desktop/compare/v1.11.105...v1.11.106 --- pkgs/by-name/el/element-desktop/element-desktop-pin.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/el/element-desktop/element-desktop-pin.nix b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix index f3884f8c617f..754871a92f37 100644 --- a/pkgs/by-name/el/element-desktop/element-desktop-pin.nix +++ b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix @@ -1,7 +1,7 @@ { - "version" = "1.11.105"; + "version" = "1.11.106"; "hashes" = { - "desktopSrcHash" = "sha256-9btwbHHl1tiUBTMBltNdy8K/PHJOf3HKPWEPyAYz6+s="; - "desktopYarnHash" = "sha256-VumuYbbJlJCtmENeR/qHGl9jhF1xgIUib5CW7kGdToo="; + "desktopSrcHash" = "sha256-uQUd84MtwMTGhhw83pQk9jI79pNKBVTWJLz8dyT/SE4="; + "desktopYarnHash" = "sha256-WZYRPU3ZswAtUAZDJnlELLU1JImO3uFaYHQl+kJOeqk="; }; } From ea73c2bd2d07e57a18d2fe2e8bbdce9e87a5fd0b Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:50:50 +0200 Subject: [PATCH 10/43] autoreconfHook264: drop --- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e7e84b16a183..05f666e1543b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -316,6 +316,7 @@ mapAliases { audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06 auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02 autoReconfHook = throw "You meant 'autoreconfHook', with a lowercase 'r'."; # preserve + autoreconfHook264 = throw "'autoreconfHook264' has been removed in favor of 'autoreconfHook'"; # Added 2025-07-21 aumix = throw "'aumix' has been removed due to lack of maintenance upstream. Consider using 'pamixer' for CLI or 'pavucontrol' for GUI"; # Added 2024-09-14 authy = throw "'authy' has been removed since it reached end of life"; # Added 2024-04-19 autoadb = throw "'autoadb' has been removed due to lack of maintenance upstream"; # Added 2025-01-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index be64ee151950..47b70ec8c63c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -230,11 +230,6 @@ with pkgs; } ../build-support/setup-hooks/autoreconf.sh ) { }; - autoreconfHook264 = autoreconfHook.override { - autoconf = autoconf264; - automake = automake111x; - }; - autoreconfHook269 = autoreconfHook.override { autoconf = autoconf269; }; From 05006879128b8d0552a4f527da4218af02841a75 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:52:48 +0200 Subject: [PATCH 11/43] automake111x: drop --- .../tools/misc/automake/automake-1.11.x.nix | 61 ------------------- .../tools/misc/automake/builder.sh | 45 -------------- .../tools/misc/automake/fix-perl-5.26.patch | 10 --- .../automake/fix-test-autoconf-2.69.patch | 13 ---- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 6 files changed, 1 insertion(+), 131 deletions(-) delete mode 100644 pkgs/development/tools/misc/automake/automake-1.11.x.nix delete mode 100644 pkgs/development/tools/misc/automake/builder.sh delete mode 100644 pkgs/development/tools/misc/automake/fix-perl-5.26.patch delete mode 100644 pkgs/development/tools/misc/automake/fix-test-autoconf-2.69.patch diff --git a/pkgs/development/tools/misc/automake/automake-1.11.x.nix b/pkgs/development/tools/misc/automake/automake-1.11.x.nix deleted file mode 100644 index 20921a95de73..000000000000 --- a/pkgs/development/tools/misc/automake/automake-1.11.x.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - perl, - autoconf, -}: - -stdenv.mkDerivation rec { - pname = "automake"; - version = "1.11.6"; - - # TODO: Remove the `aclocal' wrapper when $ACLOCAL_PATH support is - # available upstream; see - # . - builder = ./builder.sh; - - setupHook = ./setup-hook.sh; - - src = fetchurl { - url = "mirror://gnu/automake/automake-${version}.tar.xz"; - sha256 = "1ffbc6cc41f0ea6c864fbe9485b981679dc5e350f6c4bc6c3512f5a4226936b5"; - }; - - patches = [ - ./fix-test-autoconf-2.69.patch - ./fix-perl-5.26.patch - ]; - - strictDeps = true; - nativeBuildInputs = [ - perl - autoconf - ]; - buildInputs = [ autoconf ]; - - doCheck = false; # takes _a lot_ of time, fails 11 of 782 tests - - # Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the - # "fixed" path in generated files! - dontPatchShebangs = true; - - # Run the test suite in parallel. - enableParallelBuilding = true; - - meta = { - branch = "1.11"; - homepage = "https://www.gnu.org/software/automake/"; - description = "GNU standard-compliant makefile generator"; - - longDescription = '' - GNU Automake is a tool for automatically generating - `Makefile.in' files compliant with the GNU Coding - Standards. Automake requires the use of Autoconf. - ''; - - license = lib.licenses.gpl2Plus; - - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/development/tools/misc/automake/builder.sh b/pkgs/development/tools/misc/automake/builder.sh deleted file mode 100644 index 9c6a90965f7f..000000000000 --- a/pkgs/development/tools/misc/automake/builder.sh +++ /dev/null @@ -1,45 +0,0 @@ -# Wrap the given `aclocal' program, appending extra `-I' flags -# corresponding to the directories listed in $ACLOCAL_PATH. (Note -# that `wrapProgram' can't be used for that purpose since it can only -# prepend flags, not append them.) -wrapAclocal() { - local program="$1" - local wrapped="$(dirname $program)/.$(basename $program)-wrapped" - - mv "$program" "$wrapped" - cat > "$program"< baz.cc - - $ACLOCAL --$AUTOMAKE -+$AUTOMAKE --add-missing - - # Look for the macros at the beginning of rules. Be careful, as there - # are literal tabs at the beginning of the search strings. diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 05f666e1543b..88d47f36e789 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -315,6 +315,7 @@ mapAliases { ats = throw "'ats' has been removed as it is unmaintained for 10 years and broken"; # Added 2025-05-17 audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06 auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02 + automake111x = throw "'automake111x' has been removed in favor of 'automake'"; # Added 2025-07-21 autoReconfHook = throw "You meant 'autoreconfHook', with a lowercase 'r'."; # preserve autoreconfHook264 = throw "'autoreconfHook264' has been removed in favor of 'autoreconfHook'"; # Added 2025-07-21 aumix = throw "'aumix' has been removed due to lack of maintenance upstream. Consider using 'pamixer' for CLI or 'pavucontrol' for GUI"; # Added 2024-09-14 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 47b70ec8c63c..5b645412d676 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6868,8 +6868,6 @@ with pkgs; automake = automake116x; - automake111x = callPackage ../development/tools/misc/automake/automake-1.11.x.nix { }; - automake116x = callPackage ../development/tools/misc/automake/automake-1.16.x.nix { }; automake118x = callPackage ../development/tools/misc/automake/automake-1.18.x.nix { }; From ada36c8217f0ebca9ef2a7ddac11756a9acee20f Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:53:54 +0200 Subject: [PATCH 12/43] autoconf213: drop --- pkgs/development/tools/misc/autoconf/2.13.nix | 50 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 1 - 3 files changed, 1 insertion(+), 51 deletions(-) delete mode 100644 pkgs/development/tools/misc/autoconf/2.13.nix diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix deleted file mode 100644 index e829c1cd9684..000000000000 --- a/pkgs/development/tools/misc/autoconf/2.13.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - m4, - perl, -}: - -stdenv.mkDerivation rec { - pname = "autoconf"; - version = "2.13"; - - src = fetchurl { - url = "mirror://gnu/autoconf/autoconf-${version}.tar.gz"; - sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh"; - }; - - nativeBuildInputs = [ - m4 - perl - ]; - strictDeps = true; - - doCheck = true; - - # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the - # "fixed" path in generated files! - dontPatchShebangs = true; - - postInstall = ''ln -s autoconf "$out"/bin/autoconf-2.13''; - - meta = { - homepage = "https://www.gnu.org/software/autoconf/"; - description = "Part of the GNU Build System"; - branch = "2.13"; - - longDescription = '' - GNU Autoconf is an extensible package of M4 macros that produce - shell scripts to automatically configure software source code - packages. These scripts can adapt the packages to many kinds of - UNIX-like systems without manual user intervention. Autoconf - creates a configuration script for a package from a template - file that lists the operating system features that the package - can use, in the form of M4 macro calls. - ''; - - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.unix; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 88d47f36e789..9a2abad3488c 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -315,6 +315,7 @@ mapAliases { ats = throw "'ats' has been removed as it is unmaintained for 10 years and broken"; # Added 2025-05-17 audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06 auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02 + autoconf213 = throw "'autoconf213' has been removed in favor of 'autoconf'"; # Added 2025-07-21 automake111x = throw "'automake111x' has been removed in favor of 'automake'"; # Added 2025-07-21 autoReconfHook = throw "You meant 'autoreconfHook', with a lowercase 'r'."; # preserve autoreconfHook264 = throw "'autoreconfHook264' has been removed in favor of 'autoreconfHook'"; # Added 2025-07-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5b645412d676..56c7ac90f61a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6861,7 +6861,6 @@ with pkgs; electron-chromedriver = electron-chromedriver_35; autoconf = callPackage ../development/tools/misc/autoconf { }; - autoconf213 = callPackage ../development/tools/misc/autoconf/2.13.nix { }; autoconf264 = callPackage ../development/tools/misc/autoconf/2.64.nix { }; autoconf269 = callPackage ../development/tools/misc/autoconf/2.69.nix { }; autoconf271 = callPackage ../development/tools/misc/autoconf/2.71.nix { }; From 62136fcdebc0c7f35524a703d3d1542007218832 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:54:24 +0200 Subject: [PATCH 13/43] autoconf264: drop --- pkgs/development/tools/misc/autoconf/2.64.nix | 63 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 1 - 3 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 pkgs/development/tools/misc/autoconf/2.64.nix diff --git a/pkgs/development/tools/misc/autoconf/2.64.nix b/pkgs/development/tools/misc/autoconf/2.64.nix deleted file mode 100644 index e0c0f6810c67..000000000000 --- a/pkgs/development/tools/misc/autoconf/2.64.nix +++ /dev/null @@ -1,63 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - m4, - perl, -}: - -stdenv.mkDerivation rec { - pname = "autoconf"; - version = "2.64"; - - src = fetchurl { - url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz"; - sha256 = "0j3jdjpf5ly39dlp0bg70h72nzqr059k0x8iqxvaxf106chpgn9j"; - }; - - strictDeps = true; - nativeBuildInputs = [ - m4 - perl - ]; - buildInputs = [ m4 ]; - - # Work around a known issue in Cygwin. See - # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for - # details. - # There are many test failures on `i386-pc-solaris2.11'. - #doCheck = ((!stdenv.hostPlatform.isCygwin) && (!stdenv.hostPlatform.isSunOS)); - doCheck = false; - - # Don't fixup "#! /bin/sh" in Autoconf, otherwise it will use the - # "fixed" path in generated files! - dontPatchShebangs = true; - - enableParallelBuilding = true; - - # Make the Autotest test suite run in parallel. - preCheck = '' - export TESTSUITEFLAGS="-j$NIX_BUILD_CORES" - ''; - - doInstallCheck = false; # fails - - meta = { - homepage = "https://www.gnu.org/software/autoconf/"; - description = "Part of the GNU Build System"; - - longDescription = '' - GNU Autoconf is an extensible package of M4 macros that produce - shell scripts to automatically configure software source code - packages. These scripts can adapt the packages to many kinds of - UNIX-like systems without manual user intervention. Autoconf - creates a configuration script for a package from a template - file that lists the operating system features that the package - can use, in the form of M4 macro calls. - ''; - - license = lib.licenses.gpl2Plus; - - platforms = lib.platforms.all; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 9a2abad3488c..fb1b05445fdd 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -316,6 +316,7 @@ mapAliases { audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06 auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02 autoconf213 = throw "'autoconf213' has been removed in favor of 'autoconf'"; # Added 2025-07-21 + autoconf264 = throw "'autoconf264' has been removed in favor of 'autoconf'"; # Added 2025-07-21 automake111x = throw "'automake111x' has been removed in favor of 'automake'"; # Added 2025-07-21 autoReconfHook = throw "You meant 'autoreconfHook', with a lowercase 'r'."; # preserve autoreconfHook264 = throw "'autoreconfHook264' has been removed in favor of 'autoreconfHook'"; # Added 2025-07-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 56c7ac90f61a..f20f40794226 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6861,7 +6861,6 @@ with pkgs; electron-chromedriver = electron-chromedriver_35; autoconf = callPackage ../development/tools/misc/autoconf { }; - autoconf264 = callPackage ../development/tools/misc/autoconf/2.64.nix { }; autoconf269 = callPackage ../development/tools/misc/autoconf/2.69.nix { }; autoconf271 = callPackage ../development/tools/misc/autoconf/2.71.nix { }; From 711f3730a9758ff0c06382dd39cc38f30eb203b9 Mon Sep 17 00:00:00 2001 From: Andrew Benbow Date: Mon, 21 Jul 2025 17:35:39 -0400 Subject: [PATCH 14/43] nixos/drupal: add config for private files directory --- nixos/modules/services/web-apps/drupal.nix | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/web-apps/drupal.nix b/nixos/modules/services/web-apps/drupal.nix index 38e511cae3a9..8e4751322b24 100644 --- a/nixos/modules/services/web-apps/drupal.nix +++ b/nixos/modules/services/web-apps/drupal.nix @@ -80,6 +80,13 @@ let ''; }; + privateFilesDir = mkOption { + type = types.path; + default = "/var/lib/drupal/${name}/private"; + defaultText = "/var/lib/drupal//private"; + description = "The location of the Drupal private files directory."; + }; + stateDir = mkOption { type = types.path; default = "/var/lib/drupal/${name}"; @@ -299,6 +306,7 @@ in "Z '${cfg.modulesDir}' 0750 ${user} ${webserver.group} - -" "d '${cfg.themesDir}' 0750 ${user} ${webserver.group} - -" "Z '${cfg.themesDir}' 0750 ${user} ${webserver.group} - -" + "d '${cfg.privateFilesDir}' 0750 ${user} ${webserver.group} - -" ]) eachSite ); @@ -335,13 +343,17 @@ in chown -R ${user}:${webserver.group} ${cfg.filesDir} fi - settings="${cfg.stateDir}/sites/default/settings.php" + settings_file="${cfg.stateDir}/sites/default/settings.php" defaultSettings="${cfg.package}/share/php/drupal/sites/default/default.settings.php" if [ ! -f "$settings" ]; then echo "Preparing settings.php for ${hostName}..." - cp "$defaultSettings" "$settings" - chmod 644 "$settings" + cp "$defaultSettings" "$settings_file" + chmod 644 "$settings_file" + + # Append settings to settings file + printf "\n\n// NixOS Automatically Generated Settings\n" >> $settings_file + printf "\$settings['file_private_path'] = '${cfg.privateFilesDir}';" >> $settings_file fi # Set or reset file permissions so that the web user and webserver owns them. From 84d92db4c4026291e48ab73c5e8f6e6e8ab12fa2 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Tue, 22 Jul 2025 05:14:43 +0200 Subject: [PATCH 15/43] _0verkill: unpin autotools --- pkgs/by-name/_0/_0verkill/package.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/_0/_0verkill/package.nix b/pkgs/by-name/_0/_0verkill/package.nix index c23bad6ef5d8..56658d412e1e 100644 --- a/pkgs/by-name/_0/_0verkill/package.nix +++ b/pkgs/by-name/_0/_0verkill/package.nix @@ -2,7 +2,7 @@ lib, gccStdenv, fetchFromGitHub, - autoreconfHook269, + autoreconfHook, xorgproto, libX11, libXpm, @@ -19,7 +19,7 @@ gccStdenv.mkDerivation { sha256 = "WO7PN192HhcDl6iHIbVbH7MVMi1Tl2KyQbDa9DWRO6M="; }; - nativeBuildInputs = [ autoreconfHook269 ]; + nativeBuildInputs = [ autoreconfHook ]; buildInputs = [ libX11 xorgproto @@ -28,10 +28,6 @@ gccStdenv.mkDerivation { configureFlags = [ "--with-x" ]; - preAutoreconf = '' - autoupdate - ''; - # The code needs an update for gcc-10: # https://github.com/hackndev/0verkill/issues/7 env.NIX_CFLAGS_COMPILE = "-fcommon"; From 9981a845d91d972f56ad21f37602a473dc74383f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Jul 2025 19:11:13 +0000 Subject: [PATCH 16/43] starlark: 0-unstable-2025-07-01 -> 0-unstable-2025-07-17 --- pkgs/by-name/st/starlark/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/starlark/package.nix b/pkgs/by-name/st/starlark/package.nix index 0574391e942c..c0913d6b7e60 100644 --- a/pkgs/by-name/st/starlark/package.nix +++ b/pkgs/by-name/st/starlark/package.nix @@ -6,13 +6,13 @@ }: buildGoModule { pname = "starlark"; - version = "0-unstable-2025-07-01"; + version = "0-unstable-2025-07-17"; src = fetchFromGitHub { owner = "google"; repo = "starlark-go"; - rev = "d457b4515e0ec7aa889d395a3d5b60732e814e73"; - hash = "sha256-UUZPYYjAB6Hz+jUEmnyHM+MBDbHLt8XBSm1LKFzvxrM="; + rev = "336a4b3a6d1d23d37a9ac38a44af558c94c2f37a"; + hash = "sha256-FXZCwGS/OaVwYa6q14OSLYvntYItfwRvn0M/P8rbnNg="; }; vendorHash = "sha256-8drlCBy+KROyqXzm/c+HBe/bMVOyvwRoLHxOApJhMfo="; From 18aaac3f27a6ae07b0ce29ef986be85744aa71fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 22 Jul 2025 21:20:49 +0000 Subject: [PATCH 17/43] mirrord: 3.149.0 -> 3.152.1 --- pkgs/by-name/mi/mirrord/manifest.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/mi/mirrord/manifest.json b/pkgs/by-name/mi/mirrord/manifest.json index 7bb5af68c058..f059bf84462f 100644 --- a/pkgs/by-name/mi/mirrord/manifest.json +++ b/pkgs/by-name/mi/mirrord/manifest.json @@ -1,21 +1,21 @@ { - "version": "3.149.0", + "version": "3.152.1", "assets": { "x86_64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.149.0/mirrord_linux_x86_64", - "hash": "sha256-sRg0p9A8azjSSQLTltgfi62GaA0VI2bLKuL2P2hB2E8=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_linux_x86_64", + "hash": "sha256-iHGwnqJQ2uEyi3Mvtkce3YU38nuHjPL0x5cSbDZ4RXk=" }, "aarch64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.149.0/mirrord_linux_aarch64", - "hash": "sha256-gbDNJh1rycJ/WzBA/wy6eLscjNQ7ktCV+CrlorCF95A=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_linux_aarch64", + "hash": "sha256-6Ef5MRVUF7bNMNCFbSpUvZK6JoTdgWi/QhiqVuQIW5E=" }, "aarch64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.149.0/mirrord_mac_universal", - "hash": "sha256-vUPuTc69yn71tLzSH6DdzWKc/yoHergglF7iL+R7PLE=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_mac_universal", + "hash": "sha256-GzUpt+3GkWdMTXK1O5Daki1ASoHtf6DbufyTy5HRcm4=" }, "x86_64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.149.0/mirrord_mac_universal", - "hash": "sha256-vUPuTc69yn71tLzSH6DdzWKc/yoHergglF7iL+R7PLE=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.152.1/mirrord_mac_universal", + "hash": "sha256-GzUpt+3GkWdMTXK1O5Daki1ASoHtf6DbufyTy5HRcm4=" } } } From 51e92b9701e923ebccce4df0caaee9ec2469effe Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 23 Jul 2025 00:02:18 +0200 Subject: [PATCH 18/43] python3Packages.pymc: 5.24.1 -> 5.25.0 Diff: https://github.com/pymc-devs/pymc/compare/refs/tags/v5.24.1...refs/tags/v5.25.0 Changelog: https://github.com/pymc-devs/pymc/releases/tag/v5.25.0 --- pkgs/development/python-modules/pymc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymc/default.nix b/pkgs/development/python-modules/pymc/default.nix index a4de9e62863b..347427c601b0 100644 --- a/pkgs/development/python-modules/pymc/default.nix +++ b/pkgs/development/python-modules/pymc/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "pymc"; - version = "5.24.1"; + version = "5.25.0"; pyproject = true; src = fetchFromGitHub { owner = "pymc-devs"; repo = "pymc"; tag = "v${version}"; - hash = "sha256-lBsVr3A7y9CP+41Tk5TraWhu59HJb2+r0I7WlXiP/sY="; + hash = "sha256-/BSnDi34hhn7lFuLO/arMn018BU09PaQqmaLbYG3en4="; }; build-system = [ From 466aa3be72f68aaf57cb6c753402c8d741009ef8 Mon Sep 17 00:00:00 2001 From: Thibaut Smith Date: Wed, 23 Jul 2025 00:21:06 +0200 Subject: [PATCH 19/43] lzbench: add maintainer videl --- pkgs/by-name/lz/lzbench/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/lz/lzbench/package.nix b/pkgs/by-name/lz/lzbench/package.nix index a2256ac206fe..f688258a4403 100644 --- a/pkgs/by-name/lz/lzbench/package.nix +++ b/pkgs/by-name/lz/lzbench/package.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation rec { description = "In-memory benchmark of open-source LZ77/LZSS/LZMA compressors"; license = licenses.free; platforms = platforms.all; + maintainers = with lib.maintainers; [ videl ]; mainProgram = "lzbench"; }; } From 6ca8e9d5d6f731792d657af600937d41b21270a5 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 23 Jul 2025 07:59:46 +0800 Subject: [PATCH 20/43] uv: 0.8.0 -> 0.8.2 --- pkgs/by-name/uv/uv/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index f98bb240ab52..09ee01b57795 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -18,16 +18,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.8.0"; + version = "0.8.2"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-iVwiXen/VNxXQxlF7cg9qGz61cEoszNgWB3XHdl750I="; + hash = "sha256-qMXXkf2hLyzd+4H85kGHiQIdAbvhMA2z+1z05ZF0hts="; }; - cargoHash = "sha256-Bw8/AAGcdE3qL0TENj4hMrOG89MLUQauMfpTmlgXdk8="; + cargoHash = "sha256-G5mLFKy/khHlP32/VFudtJJC1CWpBNyx4yPx1Gc8pcY="; buildInputs = [ rust-jemalloc-sys From 1593ed7cabd156ce57c978effddb81271b701c27 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 00:27:04 +0000 Subject: [PATCH 21/43] loco: 0.15.0 -> 0.16.1 --- pkgs/by-name/lo/loco/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/lo/loco/package.nix b/pkgs/by-name/lo/loco/package.nix index 158145b80a3b..1a3c56279712 100644 --- a/pkgs/by-name/lo/loco/package.nix +++ b/pkgs/by-name/lo/loco/package.nix @@ -6,15 +6,15 @@ }: rustPlatform.buildRustPackage rec { pname = "loco"; - version = "0.15.0"; + version = "0.16.1"; src = fetchCrate { inherit pname version; - hash = "sha256-sTPFDdiYmw+ODAcuBh4XXpSXVZbbYxfjr+WiTGit18E="; + hash = "sha256-5mg2caScI1sxKtadw8IP/yxDOdPN+RRqHXdsWr2R0FY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-EsNFdk7bLRzyfncDRxqS0CQGdtPFdRRSlpTTxbQ8csI="; + cargoHash = "sha256-SFNaTo6fV7xhmkqK8SuFOjXeDDYN4+KTbF9DfpEX+dI="; #Skip trycmd integration tests checkFlags = [ "--skip=cli_tests" ]; From d4bbd6814a5f9988d1cd43abca69a43e124fe81b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 01:10:14 +0000 Subject: [PATCH 22/43] easyeffects: 7.2.4 -> 7.2.5 --- pkgs/by-name/ea/easyeffects/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ea/easyeffects/package.nix b/pkgs/by-name/ea/easyeffects/package.nix index 49db81c475b9..b3d361149720 100644 --- a/pkgs/by-name/ea/easyeffects/package.nix +++ b/pkgs/by-name/ea/easyeffects/package.nix @@ -48,13 +48,13 @@ in stdenv.mkDerivation rec { pname = "easyeffects"; - version = "7.2.4"; + version = "7.2.5"; src = fetchFromGitHub { owner = "wwmm"; repo = "easyeffects"; tag = "v${version}"; - hash = "sha256-C+zorQ7AFx72eOHUtjCHB2/1i1gnAoSMfEB+dWJIXHM="; + hash = "sha256-w3Mb13LOSF8vgcdJrqbesLqyyilI5AoA19jFquE5lEw="; }; nativeBuildInputs = [ From 9e1b1e5d43f28bba2dc550b7d515166cfd1c8e7f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 01:17:49 +0000 Subject: [PATCH 23/43] s7: 11.5-unstable-2025-07-14 -> 11.5-unstable-2025-07-22 --- pkgs/by-name/s7/s7/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/s7/s7/package.nix b/pkgs/by-name/s7/s7/package.nix index 4d6ee771f7b8..a47d6d75521a 100644 --- a/pkgs/by-name/s7/s7/package.nix +++ b/pkgs/by-name/s7/s7/package.nix @@ -19,14 +19,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "s7"; - version = "11.5-unstable-2025-07-14"; + version = "11.5-unstable-2025-07-22"; src = fetchFromGitLab { domain = "cm-gitlab.stanford.edu"; owner = "bil"; repo = "s7"; - rev = "df56e55d023d0ed9c5be5a4fb6cd7a7f4cbc22fe"; - hash = "sha256-iFOT7tTCTxOmLKj11NFTJ87ybE7XvLpRVQZgBTEjMbQ="; + rev = "03939f855e15f84f9113a92271cdfa0a09b28a67"; + hash = "sha256-n6Uattns9TxXRi1lz/adexa13nlYXSp0usTT9uZ47JY="; }; buildInputs = [ From 9e314eff71f880f39e220d66ded8261195aeba5a Mon Sep 17 00:00:00 2001 From: liberodark Date: Tue, 22 Jul 2025 18:58:09 +0200 Subject: [PATCH 24/43] krane: move to by-name --- .../networking/cluster => by-name/kr}/krane/Gemfile | 0 .../networking/cluster => by-name/kr}/krane/Gemfile.lock | 0 .../networking/cluster => by-name/kr}/krane/gemset.nix | 0 .../krane/default.nix => by-name/kr/krane/package.nix} | 6 +++--- pkgs/top-level/all-packages.nix | 2 -- 5 files changed, 3 insertions(+), 5 deletions(-) rename pkgs/{applications/networking/cluster => by-name/kr}/krane/Gemfile (100%) rename pkgs/{applications/networking/cluster => by-name/kr}/krane/Gemfile.lock (100%) rename pkgs/{applications/networking/cluster => by-name/kr}/krane/gemset.nix (100%) rename pkgs/{applications/networking/cluster/krane/default.nix => by-name/kr/krane/package.nix} (80%) diff --git a/pkgs/applications/networking/cluster/krane/Gemfile b/pkgs/by-name/kr/krane/Gemfile similarity index 100% rename from pkgs/applications/networking/cluster/krane/Gemfile rename to pkgs/by-name/kr/krane/Gemfile diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/by-name/kr/krane/Gemfile.lock similarity index 100% rename from pkgs/applications/networking/cluster/krane/Gemfile.lock rename to pkgs/by-name/kr/krane/Gemfile.lock diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/by-name/kr/krane/gemset.nix similarity index 100% rename from pkgs/applications/networking/cluster/krane/gemset.nix rename to pkgs/by-name/kr/krane/gemset.nix diff --git a/pkgs/applications/networking/cluster/krane/default.nix b/pkgs/by-name/kr/krane/package.nix similarity index 80% rename from pkgs/applications/networking/cluster/krane/default.nix rename to pkgs/by-name/kr/krane/package.nix index 93d3836492fd..7b08e8a59083 100644 --- a/pkgs/applications/networking/cluster/krane/default.nix +++ b/pkgs/by-name/kr/krane/package.nix @@ -11,11 +11,11 @@ bundlerApp { passthru.updateScript = bundlerUpdateScript "krane"; - meta = with lib; { + meta = { description = "Command-line tool that helps you ship changes to a Kubernetes namespace and understand the result"; homepage = "https://github.com/Shopify/krane"; changelog = "https://github.com/Shopify/krane/blob/main/CHANGELOG.md"; - license = licenses.mit; - maintainers = with maintainers; [ kira-bruneau ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kira-bruneau ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e303fbe558d8..07c19e3e94aa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12874,8 +12874,6 @@ with pkgs; callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { }; - krane = callPackage ../applications/networking/cluster/krane { }; - ktimetracker = libsForQt5.callPackage ../applications/office/ktimetracker { }; kubeval = callPackage ../applications/networking/cluster/kubeval { }; From b624555fc633a75c1fa74e1e7b3e79b85d3c4f33 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 05:15:15 +0000 Subject: [PATCH 25/43] tokyonight-gtk-theme: 0-unstable-2025-04-24 -> 0-unstable-2025-07-21 --- pkgs/by-name/to/tokyonight-gtk-theme/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/tokyonight-gtk-theme/package.nix b/pkgs/by-name/to/tokyonight-gtk-theme/package.nix index 424272aaab36..c84b969b453a 100644 --- a/pkgs/by-name/to/tokyonight-gtk-theme/package.nix +++ b/pkgs/by-name/to/tokyonight-gtk-theme/package.nix @@ -71,13 +71,13 @@ lib.checkListOfEnum "${pname}: colorVariants" colorVariantList colorVariants lib stdenvNoCC.mkDerivation { inherit pname; - version = "0-unstable-2025-04-24"; + version = "0-unstable-2025-07-21"; src = fetchFromGitHub { owner = "Fausto-Korpsvart"; repo = "Tokyonight-GTK-Theme"; - rev = "006154c78dde52b5851347a7e91f924af62f1b8f"; - hash = "sha256-h5k9p++zjzxGFkTK/6o/ISl/Litgf6fzy8Jf6Ikt5V8="; + rev = "803334a2d85ff60597e1ddd6a593462acc570298"; + hash = "sha256-aJWyMz1FZnGOH5YXiGa9NBlNY5JRw7J7SWqt5XGKznU="; }; propagatedUserEnvPkgs = [ gtk-engine-murrine ]; From abee2922777522ba1b303b31cd69f539a80e9ca3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 06:46:03 +0000 Subject: [PATCH 26/43] basedpyright: 1.30.1 -> 1.31.0 --- pkgs/by-name/ba/basedpyright/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index 2cd18243b106..0e4b469bb483 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -16,13 +16,13 @@ buildNpmPackage rec { pname = "basedpyright"; - version = "1.30.1"; + version = "1.31.0"; src = fetchFromGitHub { owner = "detachhead"; repo = "basedpyright"; tag = "v${version}"; - hash = "sha256-YPjeiRg7vIpb9k32og6byWMk+EfhDS9MwfJveAndbQQ="; + hash = "sha256-vgOo44ZvuySxQP9qJC7kXUVkOT1RhJ+/giqNBTCzpAg="; }; npmDepsHash = "sha256-aJte4ApeXJQ9EYn87Uo+Xx7s+wi80I1JsZHeqklHGs4="; From 43a1bc0aec0c6ae62065825a8c5269b334ce3b35 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 23 Jul 2025 08:47:41 +0200 Subject: [PATCH 27/43] nudoku: fix build --- pkgs/by-name/nu/nudoku/package.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/by-name/nu/nudoku/package.nix b/pkgs/by-name/nu/nudoku/package.nix index ca038ba13fd0..650eac8b4acf 100644 --- a/pkgs/by-name/nu/nudoku/package.nix +++ b/pkgs/by-name/nu/nudoku/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, autoreconfHook, pkg-config, gettext, @@ -19,6 +20,13 @@ stdenv.mkDerivation rec { hash = "sha256-aOtP23kNd15DdV6on7o80QnEf0CiUBubHfFE8M1mhg0="; }; + patches = [ + (fetchpatch2 { + url = "https://github.com/jubalh/nudoku/commit/c5fd9156d2d1f2c95a5d87b07adeaee90a7f911d.patch?full_index=1"; + hash = "sha256-nvLKAUCDY3fQWjybVX8DaMBdk5CaegRRb/ENTI9kJ9k="; + }) + ]; + nativeBuildInputs = [ autoreconfHook pkg-config From eb875b4a98cc48956f84f12e351cf8b6c0ae7f96 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Mon, 21 Jul 2025 22:41:12 +0200 Subject: [PATCH 28/43] pkgsi686Linux: only throw with aliases enabled For the regular user, this still throws early whenever an attribute tries to use `pkgsi686Linux`. For CI, this doesn't throw, but instead overwrites `mkDerivation` to return only derivations marked as `meta.broken`. This propagates to all reverse dependencies and allows filtering out these attributes nicely on unsupported platforms. --- pkgs/top-level/stage.nix | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix index b37311b8f0e3..0b94502a96c9 100644 --- a/pkgs/top-level/stage.nix +++ b/pkgs/top-level/stage.nix @@ -240,12 +240,32 @@ let # All packages built for i686 Linux. # Used by wine, firefox with debugging version of Flash, ... pkgsi686Linux = - if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86 then + let + isSupported = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86; + in + if !config.allowAliases || isSupported then nixpkgsFun { overlays = [ - (self': super': { - pkgsi686Linux = super'; - }) + ( + self': super': + { + pkgsi686Linux = super'; + } + // lib.optionalAttrs (!isSupported) { + # Overrides pkgsi686Linux.stdenv.mkDerivation to produce only broken derivations, + # when used on a non x86_64-linux platform in CI. + # TODO: Remove this, once pkgsi686Linux can become a variant. + stdenv = super'.stdenv // { + mkDerivation = + args: + (super'.stdenv.mkDerivation args).overrideAttrs (prevAttrs: { + meta = prevAttrs.meta or { } // { + broken = true; + }; + }); + }; + } + ) ] ++ overlays; ${if stdenv.hostPlatform == stdenv.buildPlatform then "localSystem" else "crossSystem"} = { config = lib.systems.parse.tripleFromSystem ( From bad9028f071b1ed6941dba1b09cf4ee9f425ca0a Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 23 Jul 2025 08:53:08 +0200 Subject: [PATCH 29/43] lzbench: fix license Co-authored-by: Aleksana --- pkgs/by-name/lz/lzbench/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/lz/lzbench/package.nix b/pkgs/by-name/lz/lzbench/package.nix index f688258a4403..b3724e23ed2f 100644 --- a/pkgs/by-name/lz/lzbench/package.nix +++ b/pkgs/by-name/lz/lzbench/package.nix @@ -25,7 +25,10 @@ stdenv.mkDerivation rec { meta = with lib; { inherit (src.meta) homepage; description = "In-memory benchmark of open-source LZ77/LZSS/LZMA compressors"; - license = licenses.free; + license = with licenses; [ + gpl2Only + gpl3Only + ]; platforms = platforms.all; maintainers = with lib.maintainers; [ videl ]; mainProgram = "lzbench"; From a79339cb3c343ee0b81b30b97404f689c686bb46 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 06:55:12 +0000 Subject: [PATCH 30/43] bark-server: 2.2.1 -> 2.2.5 --- pkgs/by-name/ba/bark-server/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ba/bark-server/package.nix b/pkgs/by-name/ba/bark-server/package.nix index f537422bc7d4..50d6a7938291 100644 --- a/pkgs/by-name/ba/bark-server/package.nix +++ b/pkgs/by-name/ba/bark-server/package.nix @@ -8,13 +8,13 @@ buildGoModule (finalAttrs: { pname = "bark-server"; - version = "2.2.1"; + version = "2.2.5"; src = fetchFromGitHub { owner = "Finb"; repo = "bark-server"; tag = "v${finalAttrs.version}"; - hash = "sha256-wwb3k68tjdmN+dy5CKJoUIScLXzNucq6wXy1HgXNa/0="; + hash = "sha256-Fe0PXwwVCrvoMTYMoTUkQaT6kVDdGPadFLkTDRhlh5U="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -27,7 +27,7 @@ buildGoModule (finalAttrs: { ''; }; - vendorHash = "sha256-FTzSlliphTukCNf+cGGKWK798SARdEkE2HpfWS8ZlNc="; + vendorHash = "sha256-lpRxwCF+3+32FSn5XQ551l2ONtyuA9ewDQgwHgYUnT0="; ldflags = [ "-s" From eb5ef3e6e530cafe5ef2d1ea84f1b2afb80a038f Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 23 Jul 2025 09:30:23 +0200 Subject: [PATCH 31/43] nix-eval-jobs: refactor --- pkgs/tools/package-management/nix-eval-jobs/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 8d282bc88be7..2b99958ad7c8 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "nix-community"; - repo = pname; - rev = "v${version}"; + repo = "nix-eval-jobs"; + tag = "v${version}"; hash = "sha256-AJ22q6yWc1hPkqssXMxQqD6QUeJ6hbx52xWHhKsmuP0="; }; From f04100421fb6fae232554390a6086c3bd42d28bf Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 23 Jul 2025 09:30:50 +0200 Subject: [PATCH 32/43] pkgsStatic.nix-eval-jobs: reduce closure size The runtime closure is reduced from 430 MB to 40 MB this way. --- pkgs/tools/package-management/nix-eval-jobs/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 2b99958ad7c8..7a9e4772917a 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -35,6 +35,11 @@ stdenv.mkDerivation rec { pkg-config ]; + outputs = [ + "out" + "dev" + ]; + # Since this package is intimately tied to a specific Nix release, we # propagate the Nix used for building it to make it easier for users # downstream to reference it. From 1754a3c0ea04f23164ce6cb127d522a095a27f88 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 07:41:15 +0000 Subject: [PATCH 33/43] mkbrr: 1.13.0 -> 1.13.1 --- pkgs/by-name/mk/mkbrr/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mk/mkbrr/package.nix b/pkgs/by-name/mk/mkbrr/package.nix index ba12209d38e7..72c40546b8f4 100644 --- a/pkgs/by-name/mk/mkbrr/package.nix +++ b/pkgs/by-name/mk/mkbrr/package.nix @@ -7,13 +7,13 @@ buildGoModule (finalAttrs: { pname = "mkbrr"; - version = "1.13.0"; + version = "1.13.1"; src = fetchFromGitHub { owner = "autobrr"; repo = "mkbrr"; tag = "v${finalAttrs.version}"; - hash = "sha256-E5UiV7JoMzmnj8/LzVDqOuPNSockgmExmc0B9+KjGII="; + hash = "sha256-fX58/PRTVhUATWX5HOTtf6d6lmSRuE3xSrg/Qtzv/rs="; }; vendorHash = "sha256-G8WM5x99UZfAZUkE5W37Ogx/OKk8JypPzGBrIuBOFNo="; From 3234dd29bb0c35d886e06277b8d03ba7395844c7 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Sat, 19 Jul 2025 16:27:13 +0200 Subject: [PATCH 34/43] python3Packages.cvxpy: 1.6.6 -> 1.7.1 Diff: https://github.com/cvxpy/cvxpy/compare/refs/tags/v1.6.6...refs/tags/v1.7.1 Changelog: https://github.com/cvxpy/cvxpy/releases/tag/v1.7.1 --- .../python-modules/cvxpy/default.nix | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix index aea8d568d7b7..96fc42273e21 100644 --- a/pkgs/development/python-modules/cvxpy/default.nix +++ b/pkgs/development/python-modules/cvxpy/default.nix @@ -25,21 +25,24 @@ buildPythonPackage rec { pname = "cvxpy"; - version = "1.6.6"; + version = "1.7.1"; pyproject = true; src = fetchFromGitHub { owner = "cvxpy"; repo = "cvxpy"; tag = "v${version}"; - hash = "sha256-dn29rAm0f0cgUFtnHSykBE2p/U/EPorozjuuLWuH/Tw="; + hash = "sha256-gJL9j2hA+PvNhN1twv31dxb5Gz+q8uoIzwhXB12aIr4="; }; - # we need to patch out numpy version caps from upstream - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "numpy >= 2.0.0" "numpy" - ''; + postPatch = + # too tight tolerance in tests (AssertionError) + '' + substituteInPlace cvxpy/tests/test_constant_atoms.py \ + --replace-fail \ + "CLARABEL: 1e-7," \ + "CLARABEL: 1e-6," + ''; build-system = [ numpy From fd79a6027597c7a0c2cf9cd441c2b1ac3624a399 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 23 Jul 2025 16:06:50 +0800 Subject: [PATCH 35/43] yq-go: 4.46.1 -> 4.47.1 --- pkgs/by-name/yq/yq-go/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/yq/yq-go/package.nix b/pkgs/by-name/yq/yq-go/package.nix index 2703d396ba0e..d8b826e25e2b 100644 --- a/pkgs/by-name/yq/yq-go/package.nix +++ b/pkgs/by-name/yq/yq-go/package.nix @@ -10,16 +10,16 @@ buildGoModule (finalAttrs: { pname = "yq-go"; - version = "4.46.1"; + version = "4.47.1"; src = fetchFromGitHub { owner = "mikefarah"; repo = "yq"; tag = "v${finalAttrs.version}"; - hash = "sha256-lMmcqAe1A/ET/2Dju6Gj0+I/g4z23EmtuRio0NYTHws="; + hash = "sha256-r9vHXDviQADv7yIwwzCHKjvHSNzZnJATwiWAaFW4vXs="; }; - vendorHash = "sha256-wfn8u8I4dyAD4PbeiQGSai1gQ2ZDFBi2mysZVKa0mkA="; + vendorHash = "sha256-mG9rKla2ZSEbOvSlV6jl7MBoo0dDI//CMcR2hLET4K4="; nativeBuildInputs = [ installShellFiles ]; From ffe2bc2df047ea149a31b0224765d46ebe6e9ca7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 23 Jul 2025 00:41:48 +0000 Subject: [PATCH 36/43] cloud-hypervisor: 46.0 -> 47.0 --- pkgs/by-name/cl/cloud-hypervisor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/cloud-hypervisor/package.nix b/pkgs/by-name/cl/cloud-hypervisor/package.nix index dd69eb54ae2c..6ec625182a2d 100644 --- a/pkgs/by-name/cl/cloud-hypervisor/package.nix +++ b/pkgs/by-name/cl/cloud-hypervisor/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "cloud-hypervisor"; - version = "46.0"; + version = "47.0"; src = fetchFromGitHub { owner = "cloud-hypervisor"; repo = "cloud-hypervisor"; rev = "v${version}"; - hash = "sha256-3jFZgcTyjbAB4Ka8ZHeqorlVTkAvXJ2No32038xK0Pc="; + hash = "sha256-NzvK6gKu7pWwTqLaeDKyYedIjzRa85k9PGUGfeA2Y4c="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Zllj6HGRgI1tT8EODGOpSgmw3F89ie9Y1hChTrvwskg="; + cargoHash = "sha256-s3lBlYbE9xoLov8JWeX89A7J00tCISoCDHHBoEcILus="; separateDebugInfo = true; From 32a3c1035fe6d5b1f84552d58fa8616ce84009d4 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Wed, 23 Jul 2025 10:10:35 +0200 Subject: [PATCH 37/43] gash: 0.3.0 -> 0.3.1 --- pkgs/by-name/ga/gash/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ga/gash/package.nix b/pkgs/by-name/ga/gash/package.nix index 199c9f1a0243..bd2eb12289f3 100644 --- a/pkgs/by-name/ga/gash/package.nix +++ b/pkgs/by-name/ga/gash/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "gash"; - version = "0.3.0"; + version = "0.3.1"; src = fetchurl { - url = "mirror://savannah/gash/gash-${finalAttrs.version}.tar.gz"; - hash = "sha256-VGrsaRBo1nfFjd/BVpXbn4CGFuGfpzMi1Ppno8iXwqk="; + url = "mirror://gnu/guix/mirror/gash-${finalAttrs.version}.tar.gz"; + hash = "sha256-RwPWo+Kg3ztZCC1Ku7vJXlr2Fp/OZGCTjC7O6eaPPBk="; }; strictDeps = true; From 0ba7638e251f2534ea77281998ca0415f3886628 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Wed, 16 Jul 2025 01:51:28 +0200 Subject: [PATCH 38/43] =?UTF-8?q?ocamlPackages.merlin:=205.4.1=20=E2=86=92?= =?UTF-8?q?=205.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ocamlPackages.jsonrpc: 1.22.0 → 1.23.0 --- pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix | 7 ++++++- pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix | 2 +- pkgs/development/tools/ocaml/merlin/4.x.nix | 10 ++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix index 451b9e7f0d88..2ec0ec5ab60c 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix @@ -10,7 +10,7 @@ ocaml, version ? if lib.versionAtLeast ocaml.version "5.3" then - "1.22.0" + "1.23.0" else if lib.versionAtLeast ocaml.version "5.2" then "1.21.0" else if lib.versionAtLeast ocaml.version "4.14" then @@ -26,6 +26,11 @@ let params = { + "1.23.0" = { + name = "lsp"; + minimalOCamlVersion = "5.3"; + sha256 = "sha256-fyvQI7VKgOrOFihtKIkcE2B2iUYFLJOZGKipzZU0Dn0="; + }; "1.22.0" = { name = "lsp"; minimalOCamlVersion = "5.2"; diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix index d9c5df1c63f5..c50fd2405c91 100644 --- a/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix +++ b/pkgs/development/ocaml-modules/ocaml-lsp/lsp.nix @@ -24,7 +24,7 @@ ocaml, version ? if lib.versionAtLeast ocaml.version "5.3" then - "1.22.0" + "1.23.0" else if lib.versionAtLeast ocaml.version "5.2" then "1.21.0" else if lib.versionAtLeast ocaml.version "4.14" then diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix index a7673d2427ff..9f7446cfc746 100644 --- a/pkgs/development/tools/ocaml/merlin/4.x.nix +++ b/pkgs/development/tools/ocaml/merlin/4.x.nix @@ -20,15 +20,15 @@ "4.12.1" = "4.7-412"; "4.13.0" = "4.7-413"; "4.13.1" = "4.7-413"; - "4.14.0" = "4.18-414"; - "4.14.1" = "4.18-414"; - "4.14.2" = "4.18-414"; + "4.14.0" = "4.19-414"; + "4.14.1" = "4.19-414"; + "4.14.2" = "4.19-414"; "5.0.0" = "4.14-500"; "5.1.0" = "4.17.1-501"; "5.1.1" = "4.17.1-501"; "5.2.0" = "5.3-502"; "5.2.1" = "5.3-502"; - "5.3.0" = "5.4.1-503"; + "5.3.0" = "5.5-503"; } ."${ocaml.version}", }: @@ -42,9 +42,11 @@ let "4.16-414" = "sha256-xekZdfPfVoSeGzBvNWwxcJorE519V2NLjSHkcyZvzy0="; # Used by ocaml-lsp "4.16-501" = "sha256-2lvzCbBAZFwpKuRXLMagpwDb0rz8mWrBPI5cODbCHiY="; # Used by ocaml-lsp "4.18-414" = "sha256-9tb3omYUHjWMGoaWEsgTXIWRhdVH6julya17tn/jDME="; + "4.19-414" = "sha256-YKYw9ZIDqc5wR6XwTQ8jmUWWDaxvOBApIuMottJlc4Q="; "4.17.1-501" = "sha256-N2cHqocfCeljlFbT++S4miHJrXXHdOlMu75n+EKwpQA="; "5.3-502" = "sha256-LOpG8SOX+m4x7wwNT14Rwc/ZFu5JQgaUAFyV67OqJLw="; "5.4.1-503" = "sha256-SbO0x3jBISX8dAXnN5CwsxLV15dJ3XPUg4tlYqJTMCI="; + "5.5-503" = "sha256-Z9o7NPL+oHZ4JnMJ9h2kosbwgpjeDcWWVbjTD9gmmvE="; }; in From ef29596a75e167a624212aad78cbf4346880679e Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Sun, 13 Jul 2025 23:06:35 +0800 Subject: [PATCH 39/43] nixosTests.wireguard: handleTest -> runTest (cherry picked from commit 71d0e1c8b5ffc0a4e8b6a85ce85b1a32d2dbcf8a) --- nixos/tests/all-tests.nix | 5 +- nixos/tests/wireguard/amneziawg-quick.nix | 211 +++++++++++----------- nixos/tests/wireguard/amneziawg.nix | 101 +++++------ nixos/tests/wireguard/basic.nix | 81 ++++----- nixos/tests/wireguard/default.nix | 35 ++-- nixos/tests/wireguard/dynamic-refresh.nix | 138 +++++++------- nixos/tests/wireguard/generated.nix | 95 +++++----- nixos/tests/wireguard/make-peer.nix | 53 +++--- nixos/tests/wireguard/namespaces.nix | 87 ++++----- nixos/tests/wireguard/networkd.nix | 85 +++++---- nixos/tests/wireguard/wg-quick.nix | 175 +++++++++--------- 11 files changed, 532 insertions(+), 534 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f7b1ae0c09fe..5fdeacd8e59b 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1553,7 +1553,10 @@ in whoogle-search = runTest ./whoogle-search.nix; wiki-js = runTest ./wiki-js.nix; wine = handleTest ./wine.nix { }; - wireguard = handleTest ./wireguard { }; + wireguard = import ./wireguard { + inherit pkgs runTest; + inherit (pkgs) lib; + }; wg-access-server = runTest ./wg-access-server.nix; without-nix = runTest ./without-nix.nix; wmderland = runTest ./wmderland.nix; diff --git a/nixos/tests/wireguard/amneziawg-quick.nix b/nixos/tests/wireguard/amneziawg-quick.nix index 0433233a2f96..4ae5a6374ca8 100644 --- a/nixos/tests/wireguard/amneziawg-quick.nix +++ b/nixos/tests/wireguard/amneziawg-quick.nix @@ -1,125 +1,120 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - nftables ? false, - ... - }: - let - wg-snakeoil-keys = import ./snakeoil-keys.nix; - peer = import ./make-peer.nix { inherit lib; }; - commonConfig = { - boot.kernelPackages = lib.mkIf (kernelPackages != null) kernelPackages; +{ + lib, + kernelPackages ? null, + nftables ? false, + ... +}: +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; + peer = import ./make-peer.nix; + commonConfig = + { pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.nftables.enable = nftables; # Make sure iptables doesn't work with nftables enabled boot.blacklistedKernelModules = lib.mkIf nftables [ "nft_compat" ]; }; - extraOptions = { - Jc = 5; - Jmin = 10; - Jmax = 42; - S1 = 60; - S2 = 90; - }; - in - { - name = "amneziawg-quick"; - meta = with pkgs.lib.maintainers; { - maintainers = [ - averyanalex - azahi - ]; - }; + extraOptions = { + Jc = 5; + Jmin = 10; + Jmax = 42; + S1 = 60; + S2 = 90; + }; +in +{ + name = "amneziawg-quick"; + meta.maintainers = with lib.maintainers; [ + averyanalex + azahi + ]; - nodes = { - peer0 = peer { - ip4 = "192.168.0.1"; - ip6 = "fd00::1"; - extraConfig = lib.mkMerge [ - commonConfig - { - networking.firewall.allowedUDPPorts = [ 23542 ]; - networking.wg-quick.interfaces.wg0 = { - type = "amneziawg"; + nodes = { + peer0 = peer { + ip4 = "192.168.0.1"; + ip6 = "fd00::1"; + extraConfig = { + imports = [ commonConfig ]; - address = [ - "10.23.42.1/32" - "fc00::1/128" - ]; - listenPort = 23542; + networking.firewall.allowedUDPPorts = [ 23542 ]; + networking.wg-quick.interfaces.wg0 = { + type = "amneziawg"; - inherit (wg-snakeoil-keys.peer0) privateKey; + address = [ + "10.23.42.1/32" + "fc00::1/128" + ]; + listenPort = 23542; - peers = lib.singleton { - allowedIPs = [ - "10.23.42.2/32" - "fc00::2/128" - ]; + inherit (wg-snakeoil-keys.peer0) privateKey; - inherit (wg-snakeoil-keys.peer1) publicKey; - }; + peers = lib.singleton { + allowedIPs = [ + "10.23.42.2/32" + "fc00::2/128" + ]; - dns = [ - "10.23.42.2" - "fc00::2" - "wg0" - ]; + inherit (wg-snakeoil-keys.peer1) publicKey; + }; - inherit extraOptions; - }; - } - ]; - }; + dns = [ + "10.23.42.2" + "fc00::2" + "wg0" + ]; - peer1 = peer { - ip4 = "192.168.0.2"; - ip6 = "fd00::2"; - extraConfig = lib.mkMerge [ - commonConfig - { - networking.useNetworkd = true; - networking.wg-quick.interfaces.wg0 = { - type = "amneziawg"; - - address = [ - "10.23.42.2/32" - "fc00::2/128" - ]; - inherit (wg-snakeoil-keys.peer1) privateKey; - - peers = lib.singleton { - allowedIPs = [ - "0.0.0.0/0" - "::/0" - ]; - endpoint = "192.168.0.1:23542"; - persistentKeepalive = 25; - - inherit (wg-snakeoil-keys.peer0) publicKey; - }; - - dns = [ - "10.23.42.1" - "fc00::1" - "wg0" - ]; - - inherit extraOptions; - }; - } - ]; + inherit extraOptions; + }; }; }; - testScript = '' - start_all() + peer1 = peer { + ip4 = "192.168.0.2"; + ip6 = "fd00::2"; + extraConfig = { + imports = [ commonConfig ]; - peer0.wait_for_unit("wg-quick-wg0.service") - peer1.wait_for_unit("wg-quick-wg0.service") + networking.useNetworkd = true; + networking.wg-quick.interfaces.wg0 = { + type = "amneziawg"; - peer1.succeed("ping -c5 fc00::1") - peer1.succeed("ping -c5 10.23.42.1") - ''; - } -) + address = [ + "10.23.42.2/32" + "fc00::2/128" + ]; + inherit (wg-snakeoil-keys.peer1) privateKey; + + peers = lib.singleton { + allowedIPs = [ + "0.0.0.0/0" + "::/0" + ]; + endpoint = "192.168.0.1:23542"; + persistentKeepalive = 25; + + inherit (wg-snakeoil-keys.peer0) publicKey; + }; + + dns = [ + "10.23.42.1" + "fc00::1" + "wg0" + ]; + + inherit extraOptions; + }; + }; + }; + }; + + testScript = '' + start_all() + + peer0.wait_for_unit("wg-quick-wg0.service") + peer1.wait_for_unit("wg-quick-wg0.service") + + peer1.succeed("ping -c5 fc00::1") + peer1.succeed("ping -c5 10.23.42.1") + ''; +} diff --git a/nixos/tests/wireguard/amneziawg.nix b/nixos/tests/wireguard/amneziawg.nix index 40ab0e002fec..c792597b9d82 100644 --- a/nixos/tests/wireguard/amneziawg.nix +++ b/nixos/tests/wireguard/amneziawg.nix @@ -1,36 +1,34 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - ... - }: - let - wg-snakeoil-keys = import ./snakeoil-keys.nix; - peer = (import ./make-peer.nix) { inherit lib; }; - extraOptions = { - Jc = 5; - Jmin = 10; - Jmax = 42; - S1 = 60; - S2 = 90; - }; - in - { - name = "amneziawg"; - meta = with pkgs.lib.maintainers; { - maintainers = [ - averyanalex - azahi - ]; - }; +{ + lib, + kernelPackages ? null, + ... +}: +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; + peer = import ./make-peer.nix; + extraOptions = { + Jc = 5; + Jmin = 10; + Jmax = 42; + S1 = 60; + S2 = 90; + }; +in +{ + name = "amneziawg"; + meta.maintainers = with lib.maintainers; [ + averyanalex + azahi + ]; - nodes = { - peer0 = peer { - ip4 = "192.168.0.1"; - ip6 = "fd00::1"; - extraConfig = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + nodes = { + peer0 = peer { + ip4 = "192.168.0.1"; + ip6 = "fd00::1"; + extraConfig = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.firewall.allowedUDPPorts = [ 23542 ]; networking.wireguard.interfaces.wg0 = { type = "amneziawg"; @@ -54,13 +52,15 @@ import ../make-test-python.nix ( inherit extraOptions; }; }; - }; + }; - peer1 = peer { - ip4 = "192.168.0.2"; - ip6 = "fd00::2"; - extraConfig = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + peer1 = peer { + ip4 = "192.168.0.2"; + ip6 = "fd00::2"; + extraConfig = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.interfaces.wg0 = { type = "amneziawg"; ips = [ @@ -85,27 +85,26 @@ import ../make-test-python.nix ( postSetup = let - inherit (pkgs) iproute2; + ip = lib.getExe' pkgs.iproute2 "ip"; in '' - ${iproute2}/bin/ip route replace 10.23.42.1/32 dev wg0 - ${iproute2}/bin/ip route replace fc00::1/128 dev wg0 + ${ip} route replace 10.23.42.1/32 dev wg0 + ${ip} route replace fc00::1/128 dev wg0 ''; inherit extraOptions; }; }; - }; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - peer0.wait_for_unit("wireguard-wg0.service") - peer1.wait_for_unit("wireguard-wg0.service") + peer0.wait_for_unit("wireguard-wg0.service") + peer1.wait_for_unit("wireguard-wg0.service") - peer1.succeed("ping -c5 fc00::1") - peer1.succeed("ping -c5 10.23.42.1") - ''; - } -) + peer1.succeed("ping -c5 fc00::1") + peer1.succeed("ping -c5 10.23.42.1") + ''; +} diff --git a/nixos/tests/wireguard/basic.nix b/nixos/tests/wireguard/basic.nix index f0ef97b55fdc..7966aa2c0125 100644 --- a/nixos/tests/wireguard/basic.nix +++ b/nixos/tests/wireguard/basic.nix @@ -1,26 +1,24 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - ... - }: - let - wg-snakeoil-keys = import ./snakeoil-keys.nix; - peer = (import ./make-peer.nix) { inherit lib; }; - in - { - name = "wireguard"; - meta = with pkgs.lib.maintainers; { - maintainers = [ ma27 ]; - }; +{ + lib, + kernelPackages ? null, + ... +}: +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; + peer = import ./make-peer.nix; +in +{ + name = "wireguard"; + meta.maintainers = with lib.maintainers; [ ma27 ]; - nodes = { - peer0 = peer { - ip4 = "192.168.0.1"; - ip6 = "fd00::1"; - extraConfig = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + nodes = { + peer0 = peer { + ip4 = "192.168.0.1"; + ip6 = "fd00::1"; + extraConfig = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.firewall.allowedUDPPorts = [ 23542 ]; networking.wireguard.interfaces.wg0 = { ips = [ @@ -41,13 +39,15 @@ import ../make-test-python.nix ( }; }; }; - }; + }; - peer1 = peer { - ip4 = "192.168.0.2"; - ip6 = "fd00::2"; - extraConfig = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + peer1 = peer { + ip4 = "192.168.0.2"; + ip6 = "fd00::2"; + extraConfig = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.interfaces.wg0 = { ips = [ "10.23.42.2/32" @@ -71,25 +71,24 @@ import ../make-test-python.nix ( postSetup = let - inherit (pkgs) iproute2; + ip = lib.getExe' pkgs.iproute2 "ip"; in '' - ${iproute2}/bin/ip route replace 10.23.42.1/32 dev wg0 - ${iproute2}/bin/ip route replace fc00::1/128 dev wg0 + ${ip} route replace 10.23.42.1/32 dev wg0 + ${ip} route replace fc00::1/128 dev wg0 ''; }; }; - }; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - peer0.wait_for_unit("wireguard-wg0.service") - peer1.wait_for_unit("wireguard-wg0.service") + peer0.wait_for_unit("wireguard-wg0.service") + peer1.wait_for_unit("wireguard-wg0.service") - peer1.succeed("ping -c5 fc00::1") - peer1.succeed("ping -c5 10.23.42.1") - ''; - } -) + peer1.succeed("ping -c5 fc00::1") + peer1.succeed("ping -c5 10.23.42.1") + ''; +} diff --git a/nixos/tests/wireguard/default.nix b/nixos/tests/wireguard/default.nix index 93d0efaf0889..0a64869c1ae5 100644 --- a/nixos/tests/wireguard/default.nix +++ b/nixos/tests/wireguard/default.nix @@ -1,46 +1,49 @@ { - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../../.. { inherit system config; }, + runTest, + lib, + pkgs, # Test current default (LTS) and latest kernel kernelVersionsToTest ? [ - (pkgs.lib.versions.majorMinor pkgs.linuxPackages.kernel.version) + (lib.versions.majorMinor pkgs.linuxPackages.kernel.version) "latest" ], }: -with pkgs.lib; - let tests = let - callTest = p: args: import p ({ inherit system pkgs; } // args); + callTest = + p: args: + runTest { + imports = [ p ]; + _module = { inherit args; }; + }; in { basic = callTest ./basic.nix; amneziawg = callTest ./amneziawg.nix; namespaces = callTest ./namespaces.nix; networkd = callTest ./networkd.nix; - wg-quick = callTest ./wg-quick.nix; + wg-quick = args: callTest ./wg-quick.nix ({ nftables = false; } // args); wg-quick-nftables = args: callTest ./wg-quick.nix ({ nftables = true; } // args); - amneziawg-quick = callTest ./amneziawg-quick.nix; + amneziawg-quick = args: callTest ./amneziawg-quick.nix ({ nftables = false; } // args); generated = callTest ./generated.nix; - dynamic-refresh = callTest ./dynamic-refresh.nix; + dynamic-refresh = args: callTest ./dynamic-refresh.nix ({ useNetworkd = false; } // args); dynamic-refresh-networkd = args: callTest ./dynamic-refresh.nix ({ useNetworkd = true; } // args); }; in -listToAttrs ( - flip concatMap kernelVersionsToTest ( +lib.listToAttrs ( + lib.flip lib.concatMap kernelVersionsToTest ( version: let - v' = replaceStrings [ "." ] [ "_" ] version; + v' = lib.replaceString "." "_" version; in - flip mapAttrsToList tests ( + lib.flip lib.mapAttrsToList tests ( name: test: - nameValuePair "wireguard-${name}-linux-${v'}" (test { + lib.nameValuePair "wireguard-${name}-linux-${v'}" (test { kernelPackages = - if v' == "latest" then pkgs.linuxPackages_latest else pkgs.linuxKernel.packages."linux_${v'}"; + pkgs: if v' == "latest" then pkgs.linuxPackages_latest else pkgs.linuxKernel.packages."linux_${v'}"; }) ) ) diff --git a/nixos/tests/wireguard/dynamic-refresh.nix b/nixos/tests/wireguard/dynamic-refresh.nix index 2a8fb0598833..fe7fcb5305c4 100644 --- a/nixos/tests/wireguard/dynamic-refresh.nix +++ b/nixos/tests/wireguard/dynamic-refresh.nix @@ -1,27 +1,25 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - useNetworkd ? false, - ... - }: - let - wg-snakeoil-keys = import ./snakeoil-keys.nix; - in - { - name = "wireguard-dynamic-refresh"; - meta = with lib.maintainers; { - maintainers = [ majiir ]; - }; +{ + lib, + kernelPackages ? null, + useNetworkd ? false, + ... +}: +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; +in +{ + name = "wireguard-dynamic-refresh"; + meta.maintainers = with lib.maintainers; [ majiir ]; - nodes = { - server = { + nodes = { + server = + { lib, pkgs, ... }: + { virtualisation.vlans = [ 1 2 ]; - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.firewall.allowedUDPPorts = [ 23542 ]; networking.useDHCP = false; networking.wireguard.useNetworkd = useNetworkd; @@ -40,66 +38,70 @@ import ../make-test-python.nix ( }; }; - client = - { nodes, ... }: - { - virtualisation.vlans = [ - 1 - 2 - ]; - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; - networking.useDHCP = false; - networking.wireguard.useNetworkd = useNetworkd; - networking.wireguard.interfaces.wg0 = { - ips = [ "10.23.42.2/32" ]; + client = + { + nodes, + lib, + pkgs, + ... + }: + { + virtualisation.vlans = [ + 1 + 2 + ]; + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); + networking.useDHCP = false; + networking.wireguard.useNetworkd = useNetworkd; + networking.wireguard.interfaces.wg0 = { + ips = [ "10.23.42.2/32" ]; - # !!! Don't do this with real keys. The /nix store is world-readable! - privateKeyFile = toString (pkgs.writeText "privateKey" wg-snakeoil-keys.peer1.privateKey); + # !!! Don't do this with real keys. The /nix store is world-readable! + privateKeyFile = toString (pkgs.writeText "privateKey" wg-snakeoil-keys.peer1.privateKey); - dynamicEndpointRefreshSeconds = 2; + dynamicEndpointRefreshSeconds = 2; - peers = lib.singleton { - allowedIPs = [ - "0.0.0.0/0" - "::/0" - ]; - endpoint = "server:23542"; + peers = lib.singleton { + allowedIPs = [ + "0.0.0.0/0" + "::/0" + ]; + endpoint = "server:23542"; - inherit (wg-snakeoil-keys.peer0) publicKey; - }; - }; - - specialisation.update-hosts.configuration = { - networking.extraHosts = - let - testCfg = nodes.server.virtualisation.test; - in - lib.mkForce "192.168.2.${toString testCfg.nodeNumber} ${testCfg.nodeName}"; + inherit (wg-snakeoil-keys.peer0) publicKey; }; }; - }; - testScript = - { nodes, ... }: - '' - start_all() + specialisation.update-hosts.configuration = { + networking.extraHosts = + let + testCfg = nodes.server.virtualisation.test; + in + lib.mkForce "192.168.2.${toString testCfg.nodeNumber} ${testCfg.nodeName}"; + }; + }; + }; - server.systemctl("start network-online.target") - server.wait_for_unit("network-online.target") + testScript = + { nodes, ... }: + '' + start_all() - client.systemctl("start network-online.target") - client.wait_for_unit("network-online.target") + server.systemctl("start network-online.target") + server.wait_for_unit("network-online.target") - client.succeed("ping -n -w 1 -c 1 10.23.42.1") + client.systemctl("start network-online.target") + client.wait_for_unit("network-online.target") - client.succeed("ip link set down eth1") + client.succeed("ping -n -w 1 -c 1 10.23.42.1") - client.fail("ping -n -w 1 -c 1 10.23.42.1") + client.succeed("ip link set down eth1") - with client.nested("update hosts file"): - client.succeed("${nodes.client.system.build.toplevel}/specialisation/update-hosts/bin/switch-to-configuration test") + client.fail("ping -n -w 1 -c 1 10.23.42.1") - client.succeed("sleep 5 && ping -n -w 1 -c 1 10.23.42.1") - ''; - } -) + with client.nested("update hosts file"): + client.succeed("${nodes.client.system.build.toplevel}/specialisation/update-hosts/bin/switch-to-configuration test") + + client.succeed("sleep 5 && ping -n -w 1 -c 1 10.23.42.1") + ''; +} diff --git a/nixos/tests/wireguard/generated.nix b/nixos/tests/wireguard/generated.nix index 31ecd9643ffc..9efeee228062 100644 --- a/nixos/tests/wireguard/generated.nix +++ b/nixos/tests/wireguard/generated.nix @@ -1,22 +1,20 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - ... - }: - { - name = "wireguard-generated"; - meta = with pkgs.lib.maintainers; { - maintainers = [ - ma27 - grahamc - ]; - }; +{ + lib, + kernelPackages ? null, + ... +}: +{ + name = "wireguard-generated"; + meta.maintainers = with lib.maintainers; [ + ma27 + grahamc + ]; - nodes = { - peer1 = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + nodes = { + peer1 = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.firewall.allowedUDPPorts = [ 12345 ]; networking.wireguard.interfaces.wg0 = { ips = [ "10.10.10.1/24" ]; @@ -27,8 +25,10 @@ import ../make-test-python.nix ( }; }; - peer2 = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + peer2 = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.firewall.allowedUDPPorts = [ 12345 ]; networking.wireguard.interfaces.wg0 = { ips = [ "10.10.10.2/24" ]; @@ -37,38 +37,37 @@ import ../make-test-python.nix ( generatePrivateKeyFile = true; }; }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - peer1.wait_for_unit("wireguard-wg0.service") - peer2.wait_for_unit("wireguard-wg0.service") + peer1.wait_for_unit("wireguard-wg0.service") + peer2.wait_for_unit("wireguard-wg0.service") - retcode, peer1pubkey = peer1.execute("wg pubkey < /etc/wireguard/private") - if retcode != 0: - raise Exception("Could not read public key from peer1") + retcode, peer1pubkey = peer1.execute("wg pubkey < /etc/wireguard/private") + if retcode != 0: + raise Exception("Could not read public key from peer1") - retcode, peer2pubkey = peer2.execute("wg pubkey < /etc/wireguard/private") - if retcode != 0: - raise Exception("Could not read public key from peer2") + retcode, peer2pubkey = peer2.execute("wg pubkey < /etc/wireguard/private") + if retcode != 0: + raise Exception("Could not read public key from peer2") - peer1.succeed( - "wg set wg0 peer {} allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1".format( - peer2pubkey.strip() - ) - ) - peer1.succeed("ip route replace 10.10.10.2/32 dev wg0 table main") + peer1.succeed( + "wg set wg0 peer {} allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1".format( + peer2pubkey.strip() + ) + ) + peer1.succeed("ip route replace 10.10.10.2/32 dev wg0 table main") - peer2.succeed( - "wg set wg0 peer {} allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1".format( - peer1pubkey.strip() - ) - ) - peer2.succeed("ip route replace 10.10.10.1/32 dev wg0 table main") + peer2.succeed( + "wg set wg0 peer {} allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1".format( + peer1pubkey.strip() + ) + ) + peer2.succeed("ip route replace 10.10.10.1/32 dev wg0 table main") - peer1.succeed("ping -c1 10.10.10.2") - peer2.succeed("ping -c1 10.10.10.1") - ''; - } -) + peer1.succeed("ping -c1 10.10.10.2") + peer2.succeed("ping -c1 10.10.10.1") + ''; +} diff --git a/nixos/tests/wireguard/make-peer.nix b/nixos/tests/wireguard/make-peer.nix index aaee4b650761..f02a5227d2d8 100644 --- a/nixos/tests/wireguard/make-peer.nix +++ b/nixos/tests/wireguard/make-peer.nix @@ -1,32 +1,33 @@ -{ lib, ... }: { ip4, ip6, extraConfig, }: -lib.mkMerge [ - { - boot.kernel.sysctl = { - "net.ipv6.conf.all.forwarding" = "1"; - "net.ipv6.conf.default.forwarding" = "1"; - "net.ipv4.ip_forward" = "1"; - }; +{ + imports = [ + { + boot.kernel.sysctl = { + "net.ipv6.conf.all.forwarding" = "1"; + "net.ipv6.conf.default.forwarding" = "1"; + "net.ipv4.ip_forward" = "1"; + }; - networking.useDHCP = false; - networking.interfaces.eth1 = { - ipv4.addresses = [ - { - address = ip4; - prefixLength = 24; - } - ]; - ipv6.addresses = [ - { - address = ip6; - prefixLength = 64; - } - ]; - }; - } - extraConfig -] + networking.useDHCP = false; + networking.interfaces.eth1 = { + ipv4.addresses = [ + { + address = ip4; + prefixLength = 24; + } + ]; + ipv6.addresses = [ + { + address = ip6; + prefixLength = 64; + } + ]; + }; + } + extraConfig + ]; +} diff --git a/nixos/tests/wireguard/namespaces.nix b/nixos/tests/wireguard/namespaces.nix index f88ac1eb2dfa..44a9918d5238 100644 --- a/nixos/tests/wireguard/namespaces.nix +++ b/nixos/tests/wireguard/namespaces.nix @@ -1,3 +1,8 @@ +{ + lib, + kernelPackages ? null, + ... +}: let listenPort = 12345; socketNamespace = "foo"; @@ -10,27 +15,18 @@ let generatePrivateKeyFile = true; }; }; - in +{ + name = "wireguard-with-namespaces"; + meta.maintainers = with lib.maintainers; [ asymmetric ]; -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - ... - }: - { - name = "wireguard-with-namespaces"; - meta = with pkgs.lib.maintainers; { - maintainers = [ asymmetric ]; - }; - - nodes = { - # interface should be created in the socketNamespace - # and not moved from there - peer0 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + nodes = { + # interface should be created in the socketNamespace + # and not moved from there + peer0 = + { lib, pkgs, ... }: + lib.attrsets.recursiveUpdate node { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.interfaces.wg0 = { preSetup = '' ip netns add ${socketNamespace} @@ -38,10 +34,12 @@ import ../make-test-python.nix ( inherit socketNamespace; }; }; - # interface should be created in the init namespace - # and moved to the interfaceNamespace - peer1 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + # interface should be created in the init namespace + # and moved to the interfaceNamespace + peer1 = + { lib, pkgs, ... }: + lib.attrsets.recursiveUpdate node { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.interfaces.wg0 = { preSetup = '' ip netns add ${interfaceNamespace} @@ -50,10 +48,12 @@ import ../make-test-python.nix ( inherit interfaceNamespace; }; }; - # interface should be created in the socketNamespace - # and moved to the interfaceNamespace - peer2 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + # interface should be created in the socketNamespace + # and moved to the interfaceNamespace + peer2 = + { lib, pkgs, ... }: + lib.attrsets.recursiveUpdate node { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.interfaces.wg0 = { preSetup = '' ip netns add ${socketNamespace} @@ -62,10 +62,12 @@ import ../make-test-python.nix ( inherit socketNamespace interfaceNamespace; }; }; - # interface should be created in the socketNamespace - # and moved to the init namespace - peer3 = pkgs.lib.attrsets.recursiveUpdate node { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + # interface should be created in the socketNamespace + # and moved to the init namespace + peer3 = + { lib, pkgs, ... }: + lib.attrsets.recursiveUpdate node { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.interfaces.wg0 = { preSetup = '' ip netns add ${socketNamespace} @@ -74,18 +76,17 @@ import ../make-test-python.nix ( interfaceNamespace = "init"; }; }; - }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - for machine in peer0, peer1, peer2, peer3: - machine.wait_for_unit("wireguard-wg0.service") + for machine in peer0, peer1, peer2, peer3: + machine.wait_for_unit("wireguard-wg0.service") - peer0.succeed("ip -n ${socketNamespace} link show wg0") - peer1.succeed("ip -n ${interfaceNamespace} link show wg0") - peer2.succeed("ip -n ${interfaceNamespace} link show wg0") - peer3.succeed("ip link show wg0") - ''; - } -) + peer0.succeed("ip -n ${socketNamespace} link show wg0") + peer1.succeed("ip -n ${interfaceNamespace} link show wg0") + peer2.succeed("ip -n ${interfaceNamespace} link show wg0") + peer3.succeed("ip link show wg0") + ''; +} diff --git a/nixos/tests/wireguard/networkd.nix b/nixos/tests/wireguard/networkd.nix index 20305bc2ab12..f353d241600a 100644 --- a/nixos/tests/wireguard/networkd.nix +++ b/nixos/tests/wireguard/networkd.nix @@ -1,26 +1,24 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - ... - }: - let - wg-snakeoil-keys = import ./snakeoil-keys.nix; - peer = (import ./make-peer.nix) { inherit lib; }; - in - { - name = "wireguard-networkd"; - meta = with pkgs.lib.maintainers; { - maintainers = [ majiir ]; - }; +{ + lib, + kernelPackages ? null, + ... +}: +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; + peer = import ./make-peer.nix; +in +{ + name = "wireguard-networkd"; + meta.maintainers = with lib.maintainers; [ majiir ]; - nodes = { - peer0 = peer { - ip4 = "192.168.0.1"; - ip6 = "fd00::1"; - extraConfig = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + nodes = { + peer0 = peer { + ip4 = "192.168.0.1"; + ip6 = "fd00::1"; + extraConfig = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.firewall.allowedUDPPorts = [ 23542 ]; networking.wireguard.useNetworkd = true; networking.wireguard.interfaces.wg0 = { @@ -46,13 +44,15 @@ import ../make-test-python.nix ( }; }; }; - }; + }; - peer1 = peer { - ip4 = "192.168.0.2"; - ip6 = "fd00::2"; - extraConfig = { - boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; }; + peer1 = peer { + ip4 = "192.168.0.2"; + ip6 = "fd00::2"; + extraConfig = + { lib, pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.wireguard.useNetworkd = true; networking.wireguard.interfaces.wg0 = { ips = [ @@ -79,24 +79,23 @@ import ../make-test-python.nix ( }; }; }; - }; }; + }; - testScript = '' - start_all() + testScript = '' + start_all() - peer0.systemctl("start network-online.target") - peer0.wait_for_unit("network-online.target") + peer0.systemctl("start network-online.target") + peer0.wait_for_unit("network-online.target") - peer1.systemctl("start network-online.target") - peer1.wait_for_unit("network-online.target") + peer1.systemctl("start network-online.target") + peer1.wait_for_unit("network-online.target") - peer1.succeed("ping -c5 fc00::1") - peer1.succeed("ping -c5 10.23.42.1") + peer1.succeed("ping -c5 fc00::1") + peer1.succeed("ping -c5 10.23.42.1") - with subtest("Has PSK set"): - peer0.succeed("wg | grep 'preshared key'") - peer1.succeed("wg | grep 'preshared key'") - ''; - } -) + with subtest("Has PSK set"): + peer0.succeed("wg | grep 'preshared key'") + peer1.succeed("wg | grep 'preshared key'") + ''; +} diff --git a/nixos/tests/wireguard/wg-quick.nix b/nixos/tests/wireguard/wg-quick.nix index be258e1e7ed1..6a5969c7d216 100644 --- a/nixos/tests/wireguard/wg-quick.nix +++ b/nixos/tests/wireguard/wg-quick.nix @@ -1,104 +1,101 @@ -import ../make-test-python.nix ( - { - pkgs, - lib, - kernelPackages ? null, - nftables ? false, - ... - }: - let - wg-snakeoil-keys = import ./snakeoil-keys.nix; - peer = import ./make-peer.nix { inherit lib; }; - commonConfig = { - boot.kernelPackages = lib.mkIf (kernelPackages != null) kernelPackages; +{ + lib, + kernelPackages ? null, + nftables ? false, + ... +}: +let + wg-snakeoil-keys = import ./snakeoil-keys.nix; + peer = import ./make-peer.nix; + commonConfig = + { pkgs, ... }: + { + boot.kernelPackages = lib.mkIf (kernelPackages != null) (kernelPackages pkgs); networking.nftables.enable = nftables; # Make sure iptables doesn't work with nftables enabled boot.blacklistedKernelModules = lib.mkIf nftables [ "nft_compat" ]; }; - in - { - name = "wg-quick"; +in +{ + name = "wg-quick"; - nodes = { - peer0 = peer { - ip4 = "192.168.0.1"; - ip6 = "fd00::1"; - extraConfig = lib.mkMerge [ - commonConfig - { - networking.firewall.allowedUDPPorts = [ 23542 ]; - networking.wg-quick.interfaces.wg0 = { - address = [ - "10.23.42.1/32" - "fc00::1/128" - ]; - listenPort = 23542; + nodes = { + peer0 = peer { + ip4 = "192.168.0.1"; + ip6 = "fd00::1"; + extraConfig = { + imports = [ commonConfig ]; - inherit (wg-snakeoil-keys.peer0) privateKey; + networking.firewall.allowedUDPPorts = [ 23542 ]; + networking.wg-quick.interfaces.wg0 = { + address = [ + "10.23.42.1/32" + "fc00::1/128" + ]; + listenPort = 23542; - peers = lib.singleton { - allowedIPs = [ - "10.23.42.2/32" - "fc00::2/128" - ]; + inherit (wg-snakeoil-keys.peer0) privateKey; - inherit (wg-snakeoil-keys.peer1) publicKey; - }; + peers = lib.singleton { + allowedIPs = [ + "10.23.42.2/32" + "fc00::2/128" + ]; - dns = [ - "10.23.42.2" - "fc00::2" - "wg0" - ]; - }; - } - ]; - }; + inherit (wg-snakeoil-keys.peer1) publicKey; + }; - peer1 = peer { - ip4 = "192.168.0.2"; - ip6 = "fd00::2"; - extraConfig = lib.mkMerge [ - commonConfig - { - networking.useNetworkd = true; - networking.wg-quick.interfaces.wg0 = { - address = [ - "10.23.42.2/32" - "fc00::2/128" - ]; - inherit (wg-snakeoil-keys.peer1) privateKey; - - peers = lib.singleton { - allowedIPs = [ - "0.0.0.0/0" - "::/0" - ]; - endpoint = "192.168.0.1:23542"; - persistentKeepalive = 25; - - inherit (wg-snakeoil-keys.peer0) publicKey; - }; - - dns = [ - "10.23.42.1" - "fc00::1" - "wg0" - ]; - }; - } - ]; + dns = [ + "10.23.42.2" + "fc00::2" + "wg0" + ]; + }; }; }; - testScript = '' - start_all() + peer1 = peer { + ip4 = "192.168.0.2"; + ip6 = "fd00::2"; + extraConfig = { + imports = [ commonConfig ]; - peer0.wait_for_unit("wg-quick-wg0.service") - peer1.wait_for_unit("wg-quick-wg0.service") + networking.useNetworkd = true; + networking.wg-quick.interfaces.wg0 = { + address = [ + "10.23.42.2/32" + "fc00::2/128" + ]; + inherit (wg-snakeoil-keys.peer1) privateKey; - peer1.succeed("ping -c5 fc00::1") - peer1.succeed("ping -c5 10.23.42.1") - ''; - } -) + peers = lib.singleton { + allowedIPs = [ + "0.0.0.0/0" + "::/0" + ]; + endpoint = "192.168.0.1:23542"; + persistentKeepalive = 25; + + inherit (wg-snakeoil-keys.peer0) publicKey; + }; + + dns = [ + "10.23.42.1" + "fc00::1" + "wg0" + ]; + }; + }; + }; + }; + + testScript = '' + start_all() + + peer0.wait_for_unit("wg-quick-wg0.service") + peer1.wait_for_unit("wg-quick-wg0.service") + + peer1.succeed("ping -c5 fc00::1") + peer1.succeed("ping -c5 10.23.42.1") + ''; +} From 8b3896f81da8caed67ec46fbe9155d13ea07df68 Mon Sep 17 00:00:00 2001 From: Volker Diels-Grabsch Date: Wed, 23 Jul 2025 02:07:26 +0200 Subject: [PATCH 40/43] ocamlPackages.camlgpc: init at 1.2 --- .../ocaml-modules/camlgpc/default.nix | 36 +++++++++++++++++++ pkgs/top-level/ocaml-packages.nix | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 pkgs/development/ocaml-modules/camlgpc/default.nix diff --git a/pkgs/development/ocaml-modules/camlgpc/default.nix b/pkgs/development/ocaml-modules/camlgpc/default.nix new file mode 100644 index 000000000000..4b201aab71c8 --- /dev/null +++ b/pkgs/development/ocaml-modules/camlgpc/default.nix @@ -0,0 +1,36 @@ +{ + buildDunePackage, + fetchFromGitHub, + fetchpatch, + lib, +}: + +let + pname = "camlgpc"; + version = "1.2"; +in +buildDunePackage { + inherit pname version; + src = fetchFromGitHub { + owner = "johnwhitington"; + repo = pname; + rev = "v${version}"; + hash = "sha256-+Dx8BuRlxb8xh41jHskrNcKGV/HgedauLt1vo1tADHw="; + }; + patches = [ + (fetchpatch { + name = "camlgpc-pr-5-switch-to-dune"; + url = "https://github.com/johnwhitington/camlgpc/pull/5.diff"; + hash = "sha256-znm+mX60RwYNCYXwm9HYCO8BRbzUM0Bm6dI1f1FzncA="; + }) + ]; + propagatedBuildInputs = [ ]; + doCheck = true; + checkInputs = [ ]; + meta = { + description = "OCaml interface to Alan Murta's General Polygon Clipper"; + homepage = "https://github.com/johnwhitington/camlgpc"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.vog ]; + }; +} diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 3e62e9848142..03dec5e469ed 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -165,6 +165,8 @@ let callipyge = callPackage ../development/ocaml-modules/callipyge { }; + camlgpc = callPackage ../development/ocaml-modules/camlgpc { }; + camlidl = callPackage ../development/tools/ocaml/camlidl { }; camlimages = callPackage ../development/ocaml-modules/camlimages { }; From f622331fe8f131064a91fb9c8bcf221cbdb07f82 Mon Sep 17 00:00:00 2001 From: Florian RICHER Date: Wed, 2 Jul 2025 10:55:18 +0200 Subject: [PATCH 41/43] python3Packages.langchain-experimental: Init at 0.3.4 --- .../001-avoid-check-fullpath.patch | 13 ++++ .../langchain-experimental/default.nix | 76 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 91 insertions(+) create mode 100644 pkgs/development/python-modules/langchain-experimental/001-avoid-check-fullpath.patch create mode 100644 pkgs/development/python-modules/langchain-experimental/default.nix diff --git a/pkgs/development/python-modules/langchain-experimental/001-avoid-check-fullpath.patch b/pkgs/development/python-modules/langchain-experimental/001-avoid-check-fullpath.patch new file mode 100644 index 000000000000..9dd3284bd7c9 --- /dev/null +++ b/pkgs/development/python-modules/langchain-experimental/001-avoid-check-fullpath.patch @@ -0,0 +1,13 @@ +diff --git a/tests/unit_tests/test_bash.py b/tests/unit_tests/test_bash.py +index ba7b0d0..cade19e 100644 +--- a/tests/unit_tests/test_bash.py ++++ b/tests/unit_tests/test_bash.py +@@ -58,7 +58,7 @@ def test_incorrect_command_return_err_output() -> None: + session = BashProcess(return_err_output=True) + output = session.run(["invalid_command"]) + assert re.match( +- r"^/bin/sh:.*invalid_command.*(?:not found|Permission denied).*$", output ++ r".*/bin/sh:.*invalid_command.*(?:not found|Permission denied).*$", output + ) + + diff --git a/pkgs/development/python-modules/langchain-experimental/default.nix b/pkgs/development/python-modules/langchain-experimental/default.nix new file mode 100644 index 000000000000..c7e2748b02f3 --- /dev/null +++ b/pkgs/development/python-modules/langchain-experimental/default.nix @@ -0,0 +1,76 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + langchain-core, + langchain-community, + + # testing + langchain-tests, + pytestCheckHook, + + # passthru + gitUpdater, +}: + +buildPythonPackage rec { + pname = "langchain-experimental"; + version = "0.3.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain-experimental"; + tag = "libs/experimental/v${version}"; + hash = "sha256-KgGfJfxHOfpwVVo/OcbOjiO5pbxoDE1MiyKqUwsqfIg="; + }; + + sourceRoot = "${src.name}/libs/experimental"; + + patches = [ + # Remove it when https://github.com/langchain-ai/langchain-experimental/pull/58 is merged and released + ./001-avoid-check-fullpath.patch + ]; + + build-system = [ + poetry-core + ]; + + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individual components. + "langchain-core" + "langchain-community" + ]; + + dependencies = [ + langchain-core + langchain-community + ]; + + nativeCheckInputs = [ + langchain-tests + pytestCheckHook + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + pythonImportsCheck = [ "langchain_experimental" ]; + + passthru.updateScript = gitUpdater { + rev-prefix = "libs/experimental/v"; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain-experimental/releases/tag/${src.tag}"; + description = "Package add experimental features on LangChain"; + homepage = "https://github.com/langchain-ai/langchain-experimental/tree/main/libs/experimental"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ mrdev023 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c5a2e934e94b..ae375e34fcad 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7717,6 +7717,8 @@ self: super: with self; { langchain-deepseek = callPackage ../development/python-modules/langchain-deepseek { }; + langchain-experimental = callPackage ../development/python-modules/langchain-experimental { }; + langchain-fireworks = callPackage ../development/python-modules/langchain-fireworks { }; langchain-groq = callPackage ../development/python-modules/langchain-groq { }; From 103ee4e1cf1704ab949f984bc9fec68fdabfb2bd Mon Sep 17 00:00:00 2001 From: kiara Date: Wed, 23 Jul 2025 12:33:21 +0200 Subject: [PATCH 42/43] nixos/woodpecker: fix documentation links (#427705) --- .../services/continuous-integration/woodpecker/agents.nix | 2 +- .../services/continuous-integration/woodpecker/server.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/continuous-integration/woodpecker/agents.nix b/nixos/modules/services/continuous-integration/woodpecker/agents.nix index 5d18dd9c2f4b..2d345417e118 100644 --- a/nixos/modules/services/continuous-integration/woodpecker/agents.nix +++ b/nixos/modules/services/continuous-integration/woodpecker/agents.nix @@ -24,7 +24,7 @@ let DOCKER_HOST = "unix:///run/podman/podman.sock"; } ''; - description = "woodpecker-agent config environment variables, for other options read the [documentation](https://woodpecker-ci.org/docs/administration/agent-config)"; + description = "woodpecker-agent config environment variables, for other options read the [documentation](https://woodpecker-ci.org/docs/administration/configuration/agent)"; }; extraGroups = lib.mkOption { diff --git a/nixos/modules/services/continuous-integration/woodpecker/server.nix b/nixos/modules/services/continuous-integration/woodpecker/server.nix index 15d2d703c0d5..5825868e9fe1 100644 --- a/nixos/modules/services/continuous-integration/woodpecker/server.nix +++ b/nixos/modules/services/continuous-integration/woodpecker/server.nix @@ -27,7 +27,7 @@ in WOODPECKER_GITEA_URL = "https://git.example.com"; } ''; - description = "woodpecker-server config environment variables, for other options read the [documentation](https://woodpecker-ci.org/docs/administration/server-config)"; + description = "woodpecker-server config environment variables, for other options read the [documentation](https://woodpecker-ci.org/docs/administration/configuration/server)"; }; environmentFile = lib.mkOption { type = with lib.types; coercedTo path (f: [ f ]) (listOf path); From f5a40e11028c435e8f87c6b5d011d166f033f6f5 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 19 Jul 2025 01:15:47 +0200 Subject: [PATCH 43/43] nixos/testing: fix pyflakes builtins with bash 5.3p0 Printing the file contents with `< file` does not seem to work anymore. --- nixos/lib/testing/driver.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/lib/testing/driver.nix b/nixos/lib/testing/driver.nix index 05d0b1a04569..f511e362c392 100644 --- a/nixos/lib/testing/driver.nix +++ b/nixos/lib/testing/driver.nix @@ -90,7 +90,7 @@ let PYFLAKES_BUILTINS="$( echo -n ${lib.escapeShellArg (lib.concatStringsSep "," pythonizedNames)}, - < ${lib.escapeShellArg "driver-symbols"} + cat ${lib.escapeShellArg "driver-symbols"} )" ${hostPkgs.python3Packages.pyflakes}/bin/pyflakes $out/test-script ''}