From 7d273b4a45bbe5af76e4d5ab4634a65ed46504df Mon Sep 17 00:00:00 2001 From: Andrew Field <27866671+andrew-field@users.noreply.github.com> Date: Sun, 23 Mar 2025 19:04:57 +0200 Subject: [PATCH 01/84] maintainers: add andrewfield --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 282deb45d653..d3aec05f5e76 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1550,6 +1550,12 @@ githubId = 962885; name = "Andrew Chambers"; }; + andrewfield = { + email = "andrew_field@hotmail.co.uk"; + github = "andrew-field"; + githubId = 27866671; + name = "Andrew Field"; + }; andrewgazelka = { email = "andrew@gazelka.com"; github = "andrewgazelka"; From 4dcf0974507e0aa5bec3ad1cb5c426f18431238d Mon Sep 17 00:00:00 2001 From: Andrew Field <27866671+andrew-field@users.noreply.github.com> Date: Mon, 24 Mar 2025 00:16:58 +0200 Subject: [PATCH 02/84] alterware-launcher: init at 0.11.2 --- .../by-name/al/alterware-launcher/package.nix | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 pkgs/by-name/al/alterware-launcher/package.nix diff --git a/pkgs/by-name/al/alterware-launcher/package.nix b/pkgs/by-name/al/alterware-launcher/package.nix new file mode 100644 index 000000000000..5d7132d0fe13 --- /dev/null +++ b/pkgs/by-name/al/alterware-launcher/package.nix @@ -0,0 +1,34 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + perl, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "alterware-launcher"; + version = "0.11.2"; + + src = fetchFromGitHub { + owner = "alterware"; + repo = "alterware-launcher"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DFIiVNYom3LvU9IFA9w9FvXwm9gqfACDs8KaFKQR9Qs="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-/2i6GyBTKLf2oNFkizaBUHcLcCPgsy3g0p31D6cO+xg="; + + nativeBuildInputs = [ perl ]; + + meta = { + description = "Official launcher for AlterWare Call of Duty mods"; + longDescription = "Our clients are designed to restore missing features that have been removed by the developers, as well as enhance the capabilities of the games"; + homepage = "https://alterware.dev"; + changelog = "https://github.com/alterware/alterware-launcher/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ andrewfield ]; + mainProgram = "alterware-launcher"; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +}) From 72e8adbc49771a50bdc38f74ce6303a1b8bf4c5d Mon Sep 17 00:00:00 2001 From: Shawn8901 Date: Wed, 11 Jun 2025 20:53:54 +0200 Subject: [PATCH 03/84] epson-escpr2: 1.2.28 -> 1.2.34 --- pkgs/by-name/ep/epson-escpr2/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ep/epson-escpr2/package.nix b/pkgs/by-name/ep/epson-escpr2/package.nix index 7861ad96ceb3..179b82113ff6 100644 --- a/pkgs/by-name/ep/epson-escpr2/package.nix +++ b/pkgs/by-name/ep/epson-escpr2/package.nix @@ -8,14 +8,14 @@ stdenv.mkDerivation { pname = "epson-inkjet-printer-escpr2"; - version = "1.2.28"; + version = "1.2.34"; src = fetchurl { # To find the most recent version go to # https://support.epson.net/linux/Printer/LSB_distribution_pages/en/escpr2.php # and retrieve the download link for source package for arm CPU for the tar.gz (the x86 link targets to rpm source files) - url = "https://download3.ebz.epson.net/dsc/f/03/00/16/80/15/8bd63ccd14a1966e9c3658d374686c5bb104bb04/epson-inkjet-printer-escpr2-1.2.28-1.tar.gz"; - hash = "sha256-lv8Hgo7JzT4igY8ek7EXdyFO34l735dpMC+gWkO5rvY="; + url = "https://download3.ebz.epson.net/dsc/f/03/00/17/17/88/53f956e8d0a0dfc9cb7d0c35907183deb028a8b7/epson-inkjet-printer-escpr2-1.2.34-1.tar.gz"; + hash = "sha256-7EpK/EI9MHTX2z+JtMB2Urt/e893cwNX5DAGSbjDyj4="; }; buildInputs = [ cups ]; @@ -27,8 +27,8 @@ stdenv.mkDerivation { # Fixes "implicit declaration of function" errors # source of patch: https://aur.archlinux.org/packages/epson-inkjet-printer-escpr2 (fetchurl { - url = "https://aur.archlinux.org/cgit/aur.git/plain/bug_x86_64.patch?h=epson-inkjet-printer-escpr2&id=575d1b959063044f233cca099caceec8e6d5c02f"; - sha256 = "sha256-G6/3oj25FUT+xv9aJ7qP5PBZWLfy+V8MCHUYucDhtzM="; + url = "https://aur.archlinux.org/cgit/aur.git/plain/bug_x86_64.patch?h=epson-inkjet-printer-escpr2&id=8fbca325d6d39fa3ffe001f90a432380bdeacc2f"; + sha256 = "sha256-V8ejK33qyHPX4x8EOgR+XWW44KR8DQwHx2w+O71gQwo="; }) ]; From e01fe2027c4f24d9cc6486b7a00ac348ce2f6440 Mon Sep 17 00:00:00 2001 From: connerohnesorge Date: Mon, 16 Jun 2025 10:34:53 -0500 Subject: [PATCH 04/84] maintainers: add conneroisu --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d386ed624478..72518bab9281 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5055,6 +5055,12 @@ name = "Changsheng Wu"; githubId = 2083950; }; + connerohnesorge = { + email = "conneroisu@outlook.com"; + github = "conneroisu"; + githubId = 88785126; + name = "Conner Ohnesorge"; + }; conni2461 = { email = "simon-hauser@outlook.com"; github = "Conni2461"; From a36484e2979026d983a313ed9567ee12f551f854 Mon Sep 17 00:00:00 2001 From: connerohnesorge Date: Mon, 16 Jun 2025 10:35:18 -0500 Subject: [PATCH 05/84] gitea-mcp-server: init at 0.2.0 A typescript Model Context Protocol (MCP) server that integrates with Gitea to allow retrieval of repository and organizational data. --- pkgs/by-name/gi/gitea-mcp-server/package.nix | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 pkgs/by-name/gi/gitea-mcp-server/package.nix diff --git a/pkgs/by-name/gi/gitea-mcp-server/package.nix b/pkgs/by-name/gi/gitea-mcp-server/package.nix new file mode 100644 index 000000000000..4313000fdb78 --- /dev/null +++ b/pkgs/by-name/gi/gitea-mcp-server/package.nix @@ -0,0 +1,43 @@ +{ + lib, + buildGoModule, + fetchFromGitea, +}: +buildGoModule (finalAttrs: { + pname = "gitea-mcp-server"; + version = "0.2.0"; + + src = fetchFromGitea { + domain = "gitea.com"; + owner = "gitea"; + repo = "gitea-mcp"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ZUnpE25XIYzSwdEilzXnhqGR676iBQcR2yiT3jhJApc="; + }; + + vendorHash = "sha256-u9jIjrbDUhnaaeBET+pKQTKhaQLUeQvKOXSBfS0vMJM="; + + subPackages = [ "." ]; + + doCheck = false; # no test + + postInstall = '' + install -Dm644 README.md LICENSE -t $out/share/doc/gitea-mcp-server + ''; + + meta = { + description = "Gitea Model Context Protocol (MCP) Server"; + longDescription = '' + The Gitea MCP Server is a Model Context Protocol (MCP) server that provides + seamless integration with Gitea APIs, enabling advanced automation and + interaction capabilities for developers and tools. + + This server allows LLMs to interact with Gitea repositories, issues, pull + requests, and other Gitea features through structured API interactions. + ''; + homepage = "https://gitea.com/gitea/gitea-mcp"; + license = lib.licenses.mit; + mainProgram = "gitea-mcp"; + maintainers = with lib.maintainers; [ connerohnesorge ]; + }; +}) From 4e3d543f4dd36b7573b1f5ce344d89e519839fac Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 17 Jun 2025 11:03:29 +0800 Subject: [PATCH 06/84] netgen: move pythonImportsCheckHook to nativeBuildInputs --- pkgs/by-name/ne/netgen/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ne/netgen/package.nix b/pkgs/by-name/ne/netgen/package.nix index c12f445798ec..2d277ca556d8 100644 --- a/pkgs/by-name/ne/netgen/package.nix +++ b/pkgs/by-name/ne/netgen/package.nix @@ -100,6 +100,7 @@ stdenv.mkDerivation (finalAttrs: { imagemagick cmake python3Packages.pybind11-stubgen + python3Packages.pythonImportsCheckHook ] ++ lib.optional stdenv.hostPlatform.isLinux copyDesktopItems; buildInputs = [ @@ -194,7 +195,6 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.pytest python3Packages.pytest-check python3Packages.pytest-mpi - python3Packages.pythonImportsCheckHook mpiCheckPhaseHook ]; From d79bf12714703a6f316360b9361baeea43c4639b Mon Sep 17 00:00:00 2001 From: qbisi Date: Wed, 18 Jun 2025 00:19:42 +0800 Subject: [PATCH 07/84] netgen: typo fixup --- pkgs/by-name/ne/netgen/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ne/netgen/package.nix b/pkgs/by-name/ne/netgen/package.nix index 2d277ca556d8..0fed04a8f5b7 100644 --- a/pkgs/by-name/ne/netgen/package.nix +++ b/pkgs/by-name/ne/netgen/package.nix @@ -164,7 +164,7 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/Applications/netgen.app/Contents/{MacOS,Resouces} substituteInPlace $out/Info.plist --replace-fail "Netgen1" "netgen" mv $out/Info.plist $out/Applications/netgen.app/Contents - mv $out/Netgen.icns $out/Applications/netgen.app/Contents/Resouces + mv $out/Netgen.icns $out/Applications/netgen.app/Contents/Resources ln -s $out/bin/netgen $out/Applications/netgen.app/Contents/MacOS/netgen '' + lib.optionalString stdenv.hostPlatform.isLinux '' From ed83268acabc365dd8de9c63f1e883518c83fc97 Mon Sep 17 00:00:00 2001 From: qbisi Date: Tue, 17 Jun 2025 11:25:30 +0800 Subject: [PATCH 08/84] netgen: 6.2.2501 -> 6.2.2504 Diff: https://github.com/NGSolve/netgen/compare/v6.2.2501...v6.2.2504 --- pkgs/by-name/ne/netgen/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ne/netgen/package.nix b/pkgs/by-name/ne/netgen/package.nix index 0fed04a8f5b7..99882939612c 100644 --- a/pkgs/by-name/ne/netgen/package.nix +++ b/pkgs/by-name/ne/netgen/package.nix @@ -35,13 +35,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "netgen"; - version = "6.2.2501"; + version = "6.2.2504"; src = fetchFromGitHub { owner = "ngsolve"; repo = "netgen"; tag = "v${finalAttrs.version}"; - hash = "sha256-IzYulT3bo7XZiEEy8vNCct0zqHCnbQaH+y4fHMorzZw="; + hash = "sha256-N4mmh2H2qvc+3Pa9CHm38arViI76Qvwp8fOVGZbMv1M="; }; patches = [ From 30254eb55b9d8cc4d4efe7112989b03ea3cdd318 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Wed, 18 Jun 2025 00:13:38 +0200 Subject: [PATCH 09/84] proxsuite: ctestCheckHook + disable failing one ref. https://github.com/NixOS/nixpkgs/pull/403612#issuecomment-2979215280 --- pkgs/by-name/pr/proxsuite/package.nix | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/pr/proxsuite/package.nix b/pkgs/by-name/pr/proxsuite/package.nix index 18355cfdf313..f2a0b7446427 100644 --- a/pkgs/by-name/pr/proxsuite/package.nix +++ b/pkgs/by-name/pr/proxsuite/package.nix @@ -18,6 +18,9 @@ jrl-cmakemodules, simde, + # nativeCheckInputs + ctestCheckHook, + # checkInputs matio, @@ -38,15 +41,11 @@ stdenv.mkDerivation (finalAttrs: { "out" ]; - cmakeFlags = - [ - (lib.cmakeBool "BUILD_DOCUMENTATION" true) - (lib.cmakeBool "INSTALL_DOCUMENTATION" true) - (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport) - ] - ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [ - "-DCMAKE_CTEST_ARGUMENTS=--exclude-regex;ProxQP::dense: test primal infeasibility solving" - ]; + cmakeFlags = [ + (lib.cmakeBool "BUILD_DOCUMENTATION" true) + (lib.cmakeBool "INSTALL_DOCUMENTATION" true) + (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport) + ]; strictDeps = true; @@ -68,6 +67,8 @@ stdenv.mkDerivation (finalAttrs: { simde ] ++ lib.optionals pythonSupport [ python3Packages.nanobind ]; + nativeCheckInputs = [ ctestCheckHook ]; + checkInputs = [ matio ] ++ lib.optionals pythonSupport [ @@ -75,6 +76,11 @@ stdenv.mkDerivation (finalAttrs: { python3Packages.scipy ]; + ctestFlags = lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [ + "--exclude-regex" + "sparse maros meszaros using the API" + ]; + # Fontconfig error: Cannot load default config file: No such file: (null) env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; From 67c06904e08d8bd590dac68b4fb27fe6143202c1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 19 Jun 2025 12:48:27 +0000 Subject: [PATCH 10/84] buildbox: 1.3.11 -> 1.3.21 --- pkgs/by-name/bu/buildbox/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bu/buildbox/package.nix b/pkgs/by-name/bu/buildbox/package.nix index 1a370c55d8c8..e848f28b9170 100644 --- a/pkgs/by-name/bu/buildbox/package.nix +++ b/pkgs/by-name/bu/buildbox/package.nix @@ -21,13 +21,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "buildbox"; - version = "1.3.11"; + version = "1.3.21"; src = fetchFromGitLab { owner = "BuildGrid"; repo = "buildbox/buildbox"; tag = finalAttrs.version; - hash = "sha256-lIRYwZLjYCpA4TMO3GF/yykVKn7LDyNHW9zItZmS9vM="; + hash = "sha256-gZ4PnaIiMPh18Yy2120yIEaQaFpzGNnWXzS7Uw+n/+k="; }; nativeBuildInputs = [ From c62d6420a2ae46214f90764878410fb37fb82a50 Mon Sep 17 00:00:00 2001 From: 06kellyjac Date: Thu, 19 Jun 2025 19:21:36 +0100 Subject: [PATCH 11/84] spiffe-helper: init at 0.10.0 --- pkgs/by-name/sp/spiffe-helper/package.nix | 47 +++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 pkgs/by-name/sp/spiffe-helper/package.nix diff --git a/pkgs/by-name/sp/spiffe-helper/package.nix b/pkgs/by-name/sp/spiffe-helper/package.nix new file mode 100644 index 000000000000..396566145f57 --- /dev/null +++ b/pkgs/by-name/sp/spiffe-helper/package.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule (finalAttrs: { + pname = "spiffe-helper"; + version = "0.10.0"; + + src = fetchFromGitHub { + owner = "spiffe"; + repo = "spiffe-helper"; + tag = "v${finalAttrs.version}"; + hash = "sha256-nakwTJBE8ICuRCmG+pjh1gZVFIXSOgsxTDjEeBrwufE="; + }; + + vendorHash = "sha256-sAcmJNry3nuWyzt0Ee05JjROR/pDXxu2NVmltotSD0U="; + + ldflags = [ + "-s" + "-w" + ]; + + preCheck = '' + patchShebangs pkg/sidecar/sidecar_test.sh + ''; + + doInstallCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; + installCheckPhase = '' + runHook preInstallCheck + + # no version output + $out/bin/${finalAttrs.meta.mainProgram} -h + + runHook postInstallCheck + ''; + + meta = { + description = "Retrieve and manage SVIDs on behalf of a workload"; + homepage = "https://github.com/spiffe/spiffe-helper"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ jk ]; + mainProgram = "spiffe-helper"; + }; +}) From 305e7b0bde15f47f305b4a28d828ece650b5199d Mon Sep 17 00:00:00 2001 From: Paul Meyer Date: Fri, 20 Jun 2025 11:11:34 +0200 Subject: [PATCH 12/84] librepo: 1.19.0 -> 1.20.0 Signed-off-by: Paul Meyer --- pkgs/tools/package-management/librepo/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/librepo/default.nix b/pkgs/tools/package-management/librepo/default.nix index 30d45bb5ba57..181eda1a8130 100644 --- a/pkgs/tools/package-management/librepo/default.nix +++ b/pkgs/tools/package-management/librepo/default.nix @@ -18,7 +18,7 @@ }: stdenv.mkDerivation rec { - version = "1.19.0"; + version = "1.20.0"; pname = "librepo"; outputs = [ @@ -30,8 +30,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "rpm-software-management"; repo = "librepo"; - rev = version; - sha256 = "sha256-ws57vFoK5yBMHHNQ9W48Icp4am0/5k3n4ybem1aAzVM="; + tag = version; + hash = "sha256-KYBHImdGQgf/IZ5FMhzrbBTeZF76AIP3RjVPT3w0oT8="; }; nativeBuildInputs = [ From 26cad0975a13f7ad56ece753ed336e9257a67233 Mon Sep 17 00:00:00 2001 From: Paul Meyer Date: Fri, 20 Jun 2025 11:22:46 +0200 Subject: [PATCH 13/84] librepo: use finalAttrs, cleanup Signed-off-by: Paul Meyer --- pkgs/tools/package-management/librepo/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/package-management/librepo/default.nix b/pkgs/tools/package-management/librepo/default.nix index 181eda1a8130..399f8b31168c 100644 --- a/pkgs/tools/package-management/librepo/default.nix +++ b/pkgs/tools/package-management/librepo/default.nix @@ -17,7 +17,7 @@ doxygen, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { version = "1.20.0"; pname = "librepo"; @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "rpm-software-management"; repo = "librepo"; - tag = version; + tag = finalAttrs.version; hash = "sha256-KYBHImdGQgf/IZ5FMhzrbBTeZF76AIP3RjVPT3w0oT8="; }; @@ -67,11 +67,12 @@ stdenv.mkDerivation rec { passthru.updateScript = nix-update-script { }; - meta = with lib; { + meta = { description = "Library providing C and Python (libcURL like) API for downloading linux repository metadata and packages"; homepage = "https://rpm-software-management.github.io/librepo/"; - license = licenses.lgpl2Plus; - platforms = platforms.linux; + changelog = "https://github.com/rpm-software-management/dnf5/releases/tag/${finalAttrs.version}"; + license = lib.licenses.lgpl2Plus; + platforms = lib.platforms.linux; maintainers = [ ]; }; -} +}) From 186e9d523327c5e5877791b16f071f836db1d28f Mon Sep 17 00:00:00 2001 From: Paul Meyer Date: Fri, 20 Jun 2025 11:14:22 +0200 Subject: [PATCH 14/84] dnf5: 5.2.13.1 -> 5.2.14.0 Signed-off-by: Paul Meyer --- pkgs/by-name/dn/dnf5/package.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dn/dnf5/package.nix b/pkgs/by-name/dn/dnf5/package.nix index 8cdc78b5fd87..373191c04721 100644 --- a/pkgs/by-name/dn/dnf5/package.nix +++ b/pkgs/by-name/dn/dnf5/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, appstream, cmake, createrepo_c, @@ -34,7 +33,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "dnf5"; - version = "5.2.13.1"; + version = "5.2.14.0"; outputs = [ "out" @@ -45,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "rpm-software-management"; repo = "dnf5"; tag = finalAttrs.version; - hash = "sha256-Qt3G4jsJNk7iMOWliGjyR2dOGpWANVtZFeYwlsYbFrw="; + hash = "sha256-dCeTOJrOjnGvRhY8u8mMOgm/mbUoTbYqzjiAkbIlSo0="; }; nativeBuildInputs = From d9113fc57eec6ad5d74cdd0c095c214fbfe3c416 Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Tue, 17 Jun 2025 16:36:23 +0200 Subject: [PATCH 15/84] nominatim: 4.4.0 -> 5.1.0 This is a major update. Nominatim is split in to two packages: * python3Packages.nominatim-api * nominatim - contains nominatim-db and nominatim CLI Geospatial team is added as a co-maintainer. --- pkgs/by-name/no/nominatim/nominatim-api.nix | 62 ++++++++++ pkgs/by-name/no/nominatim/package.nix | 122 ++++++++++---------- pkgs/top-level/python-packages.nix | 2 + 3 files changed, 122 insertions(+), 64 deletions(-) create mode 100644 pkgs/by-name/no/nominatim/nominatim-api.nix diff --git a/pkgs/by-name/no/nominatim/nominatim-api.nix b/pkgs/by-name/no/nominatim/nominatim-api.nix new file mode 100644 index 000000000000..6cda6ae63662 --- /dev/null +++ b/pkgs/by-name/no/nominatim/nominatim-api.nix @@ -0,0 +1,62 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + hatchling, + psycopg, + pyicu, + python-dotenv, + pyyaml, + sqlalchemy, +}: + +buildPythonPackage rec { + pname = "nominatim"; + version = "5.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "osm-search"; + repo = "Nominatim"; + tag = "v${version}"; + hash = "sha256-eMCXXPrUZvM4ju0mi1+f+LXhThCCCEH+HDz6lurw+Jo="; + }; + + postPatch = '' + # pyproject.toml tool.hatch.build.targets.sdist.exclude is not properly + # excluding config.py file. + # Fix FileExistsError: File already exists: ... nominatim_api/config.py + rm src/nominatim_api/config.py + + # Change to package directory + cd packaging/nominatim-api + ''; + + build-system = [ + hatchling + ]; + + dependencies = [ + psycopg + pyicu + python-dotenv + pyyaml + sqlalchemy + ]; + + # Fails on: ModuleNotFoundError: No module named 'nominatim_db' + # pythonImportsCheck = [ "nominatim_api" ]; + + meta = { + description = "Search engine for OpenStreetMap data (API module)"; + homepage = "https://nominatim.org/"; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ mausch ]; + teams = with lib.teams; [ + geospatial + ngi + ]; + }; +} diff --git a/pkgs/by-name/no/nominatim/package.nix b/pkgs/by-name/no/nominatim/package.nix index afaf7d93b08e..add1001d86ef 100644 --- a/pkgs/by-name/no/nominatim/package.nix +++ b/pkgs/by-name/no/nominatim/package.nix @@ -1,89 +1,83 @@ { - stdenv, lib, fetchFromGitHub, fetchurl, - clang-tools, - cmake, - bzip2, - zlib, - expat, - boost, - git, - pandoc, - nlohmann_json, - # Nominatim needs to be built with the same postgres version it will target - libpq, - python3, - php, - lua, + + osm2pgsql, + python3Packages, + + nominatim, # required for testVersion + testers, }: let countryGrid = fetchurl { - # Nominatim docs mention https://www.nominatim.org/data/country_grid.sql.gz but it's not a very good URL for pinning + # Nominatim-db needs https://www.nominatim.org/data/country_grid.sql.gz + # but it's not a very good URL for pinning url = "https://web.archive.org/web/20220323041006/https://nominatim.org/data/country_grid.sql.gz"; - sha256 = "sha256-/mY5Oq9WF0klXOv0xh0TqEJeMmuM5QQJ2IxANRZd4Ek="; + hash = "sha256-/mY5Oq9WF0klXOv0xh0TqEJeMmuM5QQJ2IxANRZd4Ek="; }; in -stdenv.mkDerivation rec { +python3Packages.buildPythonApplication rec { pname = "nominatim"; - version = "4.4.0"; + version = "5.1.0"; + pyproject = true; src = fetchFromGitHub { owner = "osm-search"; repo = "Nominatim"; - rev = "v${version}"; - fetchSubmodules = true; - hash = "sha256-GPMDbvTPl9SLpZi5gyRAPQ84NSTIRoSfGJeqWs1e9Oo="; + tag = "v${version}"; + hash = "sha256-eMCXXPrUZvM4ju0mi1+f+LXhThCCCEH+HDz6lurw+Jo="; }; - nativeBuildInputs = [ - cmake - clang-tools - git - pandoc - php - lua - ]; - - buildInputs = [ - bzip2 - zlib - expat - boost - nlohmann_json - (python3.withPackages ( - ps: with ps; [ - pyyaml - python-dotenv - psycopg2 - sqlalchemy - asyncpg - psutil - jinja2 - pyicu - datrie - pyosmium - ] - )) - # python3Packages.pylint # We don't want to run pylint because the package could break on pylint bumps which is really annoying. - # python3Packages.pytest # disabled since I can't get it to run tests anyway - # python3Packages.behave # disabled since I can't get it to run tests anyway - libpq - ]; - postPatch = '' - mkdir -p ./data - ln -s ${countryGrid} ./data/country_osm_grid.sql.gz + # Fix: FileExistsError: File already exists: ... nominatim_db/paths.py + # pyproject.toml tool.hatch.build.targets.sdist.exclude is not properly + # excluding paths.py file. + rm src/nominatim_db/paths.py + + # Install country_osm_grid.sql.gz required for data import + cp ${countryGrid} ./data/country_osm_grid.sql.gz + + # Change to package directory + cd packaging/nominatim-db ''; - meta = with lib; { - description = "Search engine for OpenStreetMap data"; + build-system = with python3Packages; [ + hatchling + ]; + + dependencies = with python3Packages; [ + nominatim-api + + jinja2 + psutil + psycopg + pyicu + python-dotenv + pyyaml + ]; + + propagatedBuildInputs = [ + osm2pgsql + ]; + + pythonImportsCheck = [ "nominatim_db" ]; + + passthru = { + tests.version = testers.testVersion { package = nominatim; }; + }; + + meta = { + description = "Search engine for OpenStreetMap data (DB, CLI)"; homepage = "https://nominatim.org/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = [ maintainers.mausch ]; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ mausch ]; + teams = with lib.teams; [ + geospatial + ngi + ]; mainProgram = "nominatim"; }; } diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 35539f3ee485..dd42d408fd28 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10250,6 +10250,8 @@ self: super: with self; { nominal-api-protos = callPackage ../development/python-modules/nominal-api-protos { }; + nominatim-api = callPackage ../by-name/no/nominatim/nominatim-api.nix { }; + nonbloat-db = callPackage ../development/python-modules/nonbloat-db { }; noneprompt = callPackage ../development/python-modules/noneprompt { }; From d46efba75e826e42ac4092bf213a806f212c216a Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Fri, 20 Jun 2025 14:02:17 +0000 Subject: [PATCH 16/84] mpdcron: Update all gems to latest versions to test if mac builds --- pkgs/by-name/mp/mpdcron/Gemfile.lock | 30 +++------------------------- pkgs/by-name/mp/mpdcron/gemset.nix | 8 ++++---- pkgs/by-name/mp/mpdcron/package.nix | 21 +++++++++---------- 3 files changed, 16 insertions(+), 43 deletions(-) diff --git a/pkgs/by-name/mp/mpdcron/Gemfile.lock b/pkgs/by-name/mp/mpdcron/Gemfile.lock index 81db47feff53..2b450246fec8 100644 --- a/pkgs/by-name/mp/mpdcron/Gemfile.lock +++ b/pkgs/by-name/mp/mpdcron/Gemfile.lock @@ -1,41 +1,17 @@ GEM remote: https://rubygems.org/ specs: - mini_portile2 (2.8.8) - nokogiri (1.18.3) + mini_portile2 (2.8.9) + nokogiri (1.18.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.3-aarch64-linux-gnu) - racc (~> 1.4) - nokogiri (1.18.3-aarch64-linux-musl) - racc (~> 1.4) - nokogiri (1.18.3-arm-linux-gnu) - racc (~> 1.4) - nokogiri (1.18.3-arm-linux-musl) - racc (~> 1.4) - nokogiri (1.18.3-arm64-darwin) - racc (~> 1.4) - nokogiri (1.18.3-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.18.3-x86_64-linux-gnu) - racc (~> 1.4) - nokogiri (1.18.3-x86_64-linux-musl) - racc (~> 1.4) racc (1.8.1) PLATFORMS - aarch64-linux-gnu - aarch64-linux-musl - arm-linux-gnu - arm-linux-musl - arm64-darwin ruby - x86_64-darwin - x86_64-linux-gnu - x86_64-linux-musl DEPENDENCIES nokogiri BUNDLED WITH - 2.6.2 + 2.6.9 diff --git a/pkgs/by-name/mp/mpdcron/gemset.nix b/pkgs/by-name/mp/mpdcron/gemset.nix index b5949dd22930..137e87c1a529 100644 --- a/pkgs/by-name/mp/mpdcron/gemset.nix +++ b/pkgs/by-name/mp/mpdcron/gemset.nix @@ -4,10 +4,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf"; + sha256 = "12f2830x7pq3kj0v8nz0zjvaw02sv01bqs1zwdrc04704kwcgmqc"; type = "gem"; }; - version = "2.8.8"; + version = "2.8.9"; }; nokogiri = { dependencies = [ @@ -18,10 +18,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0npx535cs8qc33n0lpbbwl0p9fi3a5bczn6ayqhxvknh9yqw77vb"; + sha256 = "0rb306hbky6cxfyc8vrwpvl40fdapjvhsk62h08gg9wwbn3n8x4c"; type = "gem"; }; - version = "1.18.3"; + version = "1.18.8"; }; racc = { groups = [ "default" ]; diff --git a/pkgs/by-name/mp/mpdcron/package.nix b/pkgs/by-name/mp/mpdcron/package.nix index b3c22a7b80ee..91a535aec1f1 100644 --- a/pkgs/by-name/mp/mpdcron/package.nix +++ b/pkgs/by-name/mp/mpdcron/package.nix @@ -14,6 +14,8 @@ bundlerEnv, libnotify, pandoc, + autoreconfHook, + bundlerUpdateScript, }: let @@ -34,8 +36,7 @@ stdenv.mkDerivation { }; nativeBuildInputs = [ - autoconf - automake + autoreconfHook pkg-config ]; buildInputs = [ @@ -50,25 +51,21 @@ stdenv.mkDerivation { libnotify ]; - preConfigure = '' - ./autogen.sh - ''; - configureFlags = [ "--enable-gmodule" "--with-standard-modules=all" ]; - meta = with lib; { + passthru.updateScript = bundlerUpdateScript "mpdcron"; + + meta = { description = "Cron like daemon for mpd"; homepage = "http://alip.github.io/mpdcron/"; - license = licenses.gpl2Plus; - platforms = platforms.unix; - maintainers = with maintainers; [ + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ lovek323 manveru ]; - broken = stdenv.hostPlatform.isDarwin; # fails due to old nokogiri https://github.com/sparklemotion/nokogiri/discussions/3152#discussioncomment-8806607 }; } -# TODO: autoreconfHook this From 2de73712006191848225dcdbe6ee1f4587b65628 Mon Sep 17 00:00:00 2001 From: Benjamin Sparks Date: Sat, 21 Jun 2025 21:24:23 +0200 Subject: [PATCH 17/84] libgcrypt: fix pkgsStatic build on darwin --- pkgs/by-name/li/libgcrypt/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libgcrypt/package.nix b/pkgs/by-name/li/libgcrypt/package.nix index 329a7c7bef86..07be13a7ed67 100644 --- a/pkgs/by-name/li/libgcrypt/package.nix +++ b/pkgs/by-name/li/libgcrypt/package.nix @@ -95,7 +95,7 @@ stdenv.mkDerivation rec { # TODO: figure out why this is even necessary and why the missing dylib only crashes # random instead of every test - preCheck = lib.optionalString stdenv.hostPlatform.isDarwin '' + preCheck = lib.optionalString (stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isStatic) '' mkdir -p $lib/lib cp src/.libs/libgcrypt.20.dylib $lib/lib ''; From bcc00506477f0a971a31dc7b2dd07336ae751f71 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 29 May 2025 17:52:02 +0200 Subject: [PATCH 18/84] bochs: rely on upstream defaults for experimental options --- pkgs/by-name/bo/bochs/package.nix | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pkgs/by-name/bo/bochs/package.nix b/pkgs/by-name/bo/bochs/package.nix index a28522dce7dd..88d5fca1c0a5 100644 --- a/pkgs/by-name/bo/bochs/package.nix +++ b/pkgs/by-name/bo/bochs/package.nix @@ -82,11 +82,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.enableFeature false "docbook") # Broken - it requires docbook2html - # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation - (lib.enableFeature false "3dnow") - (lib.enableFeature false "monitor-mwait") - (lib.enableFeature false "raw-serial") - # These are completely configurable, and they don't depend of external tools (lib.enableFeature true "a20-pin") (lib.enableFeature true "avx") From 103665f73618d96d20c95c23aeeabb524f41e94d Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 30 May 2025 11:40:52 +0200 Subject: [PATCH 19/84] bochs: add patrickdag as maintainer --- pkgs/by-name/bo/bochs/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/bo/bochs/package.nix b/pkgs/by-name/bo/bochs/package.nix index 88d5fca1c0a5..93d7a0182962 100644 --- a/pkgs/by-name/bo/bochs/package.nix +++ b/pkgs/by-name/bo/bochs/package.nix @@ -148,7 +148,7 @@ stdenv.mkDerivation (finalAttrs: { Intel x86 CPU, common I/O devices, and a custom BIOS. ''; license = lib.licenses.lgpl2Plus; - maintainers = with lib.maintainers; [ ]; + maintainers = with lib.maintainers; [ patrickdag ]; platforms = lib.platforms.unix; }; }) From 0c0da739e518f6e84821fec6b91ce0f2f15ddac5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Sun, 1 Jun 2025 11:26:35 +0200 Subject: [PATCH 20/84] bochs: fix build on darwin --- pkgs/by-name/bo/bochs/fix-darwin-build.patch | 15 +++++++++++++++ pkgs/by-name/bo/bochs/package.nix | 3 +++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/by-name/bo/bochs/fix-darwin-build.patch diff --git a/pkgs/by-name/bo/bochs/fix-darwin-build.patch b/pkgs/by-name/bo/bochs/fix-darwin-build.patch new file mode 100644 index 000000000000..f3a2b01b5ca9 --- /dev/null +++ b/pkgs/by-name/bo/bochs/fix-darwin-build.patch @@ -0,0 +1,15 @@ +diff --git a/gui/keymap.cc b/gui/keymap.cc +index 3426b6b..7bf76d8 100644 +--- a/gui/keymap.cc ++++ b/gui/keymap.cc +@@ -30,6 +30,10 @@ + #include "gui.h" + #include "keymap.h" + ++#if defined(__APPLE__) ++#include ++#endif ++ + // Table of bochs "BX_KEY_*" symbols + // the table must be in BX_KEY_* order + const char *bx_key_symbol[BX_KEY_NBKEYS] = { diff --git a/pkgs/by-name/bo/bochs/package.nix b/pkgs/by-name/bo/bochs/package.nix index 93d7a0182962..843452c8126f 100644 --- a/pkgs/by-name/bo/bochs/package.nix +++ b/pkgs/by-name/bo/bochs/package.nix @@ -32,6 +32,9 @@ stdenv.mkDerivation (finalAttrs: { url = "mirror://sourceforge/project/bochs/bochs/${finalAttrs.version}/bochs-${finalAttrs.version}.tar.gz"; hash = "sha256-y29UK1HzWizJIGsqmA21YCt80bfPLk7U8Ras1VB3gao="; }; + # Fix build on darwin, remove on next version + # https://sourceforge.net/p/bochs/bugs/1466/ + patches = lib.optional stdenv.hostPlatform.isDarwin ./fix-darwin-build.patch; nativeBuildInputs = [ docbook_xml_dtd_45 From 2ddd879d9e107094316303f217520e6b95111c71 Mon Sep 17 00:00:00 2001 From: aleksana Date: Sun, 22 Jun 2025 11:42:20 +0800 Subject: [PATCH 21/84] teams/loongarch64: init --- maintainers/team-list.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 3b62839ec5c5..6b39fdba5946 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -745,6 +745,20 @@ with lib.maintainers; enableFeatureFreezePing = true; }; + loongarch64 = { + members = [ + aleksana + Cryolitia + darkyzhou + dramforever + wegank + ]; + githubTeams = [ "loongarch64" ]; + scope = "Maintain LoongArch64 related packages and code"; + shortName = "LoongArch64"; + enableFeatureFreezePing = true; + }; + lumiguide = { # Verify additions by approval of an already existing member of the team. members = [ From ed5f0fbfcd89b6109c48e2c8f1909d83b08ab33c Mon Sep 17 00:00:00 2001 From: WilliButz Date: Mon, 23 Jun 2025 20:08:28 +0200 Subject: [PATCH 22/84] nixos/repart-image: don't pass seed when it's null, update documentation From systemd-repart(8): If not specified it is attempted to read the machine ID from the host (or more precisely, the root directory configured via --root=) and use it as seed instead, falling back to a randomized seed otherwise. Use --seed=random to force a randomized seed. The option documentation now suggests the special value "random", for a random seed rather than relying on the implicit fact that there is no machine ID available in the build sandbox, causing repart to fallback on generating a random seed. Fixes #419331 --- nixos/modules/image/repart-image.nix | 4 +++- nixos/modules/image/repart.nix | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos/modules/image/repart-image.nix b/nixos/modules/image/repart-image.nix index e62db75caf8f..49087d4786c5 100644 --- a/nixos/modules/image/repart-image.nix +++ b/nixos/modules/image/repart-image.nix @@ -173,11 +173,13 @@ stdenvNoCC.mkDerivation ( "--architecture=${systemdArch}" "--dry-run=no" "--size=auto" - "--seed=${seed}" "--definitions=${finalAttrs.finalRepartDefinitions}" "--split=${lib.boolToString split}" "--json=pretty" ] + ++ lib.optionals (seed != null) [ + "--seed=${seed}" + ] ++ lib.optionals createEmpty [ "--empty=create" ] diff --git a/nixos/modules/image/repart.nix b/nixos/modules/image/repart.nix index 13c90aa9ab7a..a44a2e5f9ea3 100644 --- a/nixos/modules/image/repart.nix +++ b/nixos/modules/image/repart.nix @@ -161,8 +161,9 @@ in # Generated with `uuidgen`. Random but fixed to improve reproducibility. default = "0867da16-f251-457d-a9e8-c31f9a3c220b"; description = '' - A UUID to use as a seed. You can set this to `null` to explicitly + A UUID to use as a seed. You can set this to `random` to explicitly randomize the partition UUIDs. + See {manpage}`systemd-repart(8)` for more information. ''; }; From 2b0cf45a1a29b1c503c7d6da2b1ef5e4c2826cd5 Mon Sep 17 00:00:00 2001 From: gaykitty <126119280+gaykitty@users.noreply.github.com> Date: Mon, 23 Jun 2025 14:48:55 -0400 Subject: [PATCH 23/84] kitty-img: 1.0.0 -> 1.1.0 New version fixes a bug on new version of kitty terminal that shipped in 25.05. --- pkgs/by-name/ki/kitty-img/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ki/kitty-img/package.nix b/pkgs/by-name/ki/kitty-img/package.nix index bc31236a27c6..d445350d957f 100644 --- a/pkgs/by-name/ki/kitty-img/package.nix +++ b/pkgs/by-name/ki/kitty-img/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "kitty-img"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromSourcehut { owner = "~zethra"; repo = "kitty-img"; rev = version; - hash = "sha256-5thx4ADmJE29bxN+ZO3hF0jhgXK+boqt8oj4Sygl5SU="; + hash = "sha256-liqLocNIIOmkVWI8H9WU7T352sK7sceVtOX+R0BQ/uk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-KSNl/SpqcgMaKbkBfNtR7M8+B1clPauYi7NlP+f5Pd0="; + cargoHash = "sha256-50M1TUGvjELARt/gvtyAPNL0hG1ekKwdefI9nMEsTo0="; meta = { description = "Print images inline in kitty"; From d30cf51b8940997221bd0b19ec810dcd0d010f6c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 23 Jun 2025 13:23:34 +0200 Subject: [PATCH 24/84] python3Packages.safetensors: 0.5.2 -> 0.6.0 Diff: https://github.com/huggingface/safetensors/compare/v0.5.3...v0.6.0 Changelog: https://github.com/huggingface/safetensors/releases/tag/v0.6.0 --- .../python-modules/safetensors/Cargo.lock | 234 ++++++++++++++++++ .../python-modules/safetensors/default.nix | 25 +- 2 files changed, 254 insertions(+), 5 deletions(-) create mode 100644 pkgs/development/python-modules/safetensors/Cargo.lock diff --git a/pkgs/development/python-modules/safetensors/Cargo.lock b/pkgs/development/python-modules/safetensors/Cargo.lock new file mode 100644 index 000000000000..fcba187c6bff --- /dev/null +++ b/pkgs/development/python-modules/safetensors/Cargo.lock @@ -0,0 +1,234 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "indoc" +version = "2.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd" + +[[package]] +name = "itoa" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + +[[package]] +name = "libc" +version = "0.2.174" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" + +[[package]] +name = "memchr" +version = "2.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" + +[[package]] +name = "memmap2" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.21.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" + +[[package]] +name = "portable-atomic" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "pyo3" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a" +dependencies = [ + "indoc", + "libc", + "memoffset", + "once_cell", + "portable-atomic", + "pyo3-build-config", + "pyo3-ffi", + "pyo3-macros", + "unindent", +] + +[[package]] +name = "pyo3-build-config" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598" +dependencies = [ + "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c" +dependencies = [ + "libc", + "pyo3-build-config", +] + +[[package]] +name = "pyo3-macros" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50" +dependencies = [ + "proc-macro2", + "pyo3-macros-backend", + "quote", + "syn", +] + +[[package]] +name = "pyo3-macros-backend" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc" +dependencies = [ + "heck", + "proc-macro2", + "pyo3-build-config", + "quote", + "syn", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + +[[package]] +name = "safetensors" +version = "0.6.0-dev.0" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "safetensors-python" +version = "0.6.0-dev.0" +dependencies = [ + "memmap2", + "pyo3", + "safetensors", + "serde_json", +] + +[[package]] +name = "serde" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.219" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + +[[package]] +name = "syn" +version = "2.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "target-lexicon" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a" + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unindent" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3" diff --git a/pkgs/development/python-modules/safetensors/default.nix b/pkgs/development/python-modules/safetensors/default.nix index e82879ccf563..8239d9ab4247 100644 --- a/pkgs/development/python-modules/safetensors/default.nix +++ b/pkgs/development/python-modules/safetensors/default.nix @@ -26,23 +26,26 @@ buildPythonPackage rec { pname = "safetensors"; - version = "0.5.2"; + version = "0.6.0"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "safetensors"; tag = "v${version}"; - hash = "sha256-dtHHLiTgrg/a/SQ/Z1w0BsuFDClgrMsGiSTCpbJasUs="; + hash = "sha256-wAr/jvr0w+vOHjjqE7cPcAM/IMz+58YhfoJ2XC4987M="; }; sourceRoot = "${src.name}/bindings/python"; - cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname src sourceRoot; - hash = "sha256-hjV2cfS/0WFyAnATt+A8X8sQLzQViDzkNI7zN0ltgpU="; + cargoDeps = rustPlatform.importCargoLock { + lockFile = ./Cargo.lock; }; + postPatch = '' + ln -s ${./Cargo.lock} Cargo.lock + ''; + nativeBuildInputs = [ rustPlatform.cargoSetupHook rustPlatform.maturinBuildHook @@ -88,6 +91,18 @@ buildPythonPackage rec { torch ]; pytestFlagsArray = [ "tests" ]; + disabledTests = [ + # AttributeError: module 'torch' has no attribute 'float4_e2m1fn_x2' + "test_odd_dtype_fp4" + + # AssertionError: 'No such file or directory: notafile' != 'No such file or directory: "notafile"' + "test_file_not_found" + + # AssertionError: + # 'Erro[41 chars] 5]: index 20 out of bounds for tensor dimension #1 of size 5' + # != 'Erro[41 chars] 5]: SliceOutOfRange { dim_index: 1, asked: 20, dim_size: 5 }' + "test_numpy_slice" + ]; # don't require PaddlePaddle (not in Nixpkgs), Flax, or Tensorflow (onerous) to run tests: disabledTestPaths = [ From a5926fef4fb44e8551c0b5f6f323302259999d9e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Jun 2025 00:30:14 +0000 Subject: [PATCH 25/84] dprint-plugins.dprint-plugin-markdown: 0.18.0 -> 0.19.0 --- pkgs/by-name/dp/dprint/plugins/dprint-plugin-markdown.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-markdown.nix b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-markdown.nix index d33a4a32311c..e1ff4f1e365c 100644 --- a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-markdown.nix +++ b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-markdown.nix @@ -1,7 +1,7 @@ { mkDprintPlugin }: mkDprintPlugin { description = "Markdown code formatter."; - hash = "sha256-fBy+G+DkJqhrCyyaMjmXRe1VeSeCYO+XmJ8ogwAoptA="; + hash = "sha256-2lpgVMExOjMVRTvX6hGRWuufwh2AIkiXaOzkN8LhZgw="; initConfig = { configExcludes = [ ]; configKey = "markdown"; @@ -9,6 +9,6 @@ mkDprintPlugin { }; pname = "dprint-plugin-markdown"; updateUrl = "https://plugins.dprint.dev/dprint/markdown/latest.json"; - url = "https://plugins.dprint.dev/markdown-0.18.0.wasm"; - version = "0.18.0"; + url = "https://plugins.dprint.dev/markdown-0.19.0.wasm"; + version = "0.19.0"; } From ebd1c636f119ae5a143ceb9e800a6f3bdb7078f4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Jun 2025 00:39:17 +0000 Subject: [PATCH 26/84] ntfy-alertmanager: 0.4.0 -> 0.5.0 --- pkgs/by-name/nt/ntfy-alertmanager/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/nt/ntfy-alertmanager/package.nix b/pkgs/by-name/nt/ntfy-alertmanager/package.nix index 88edb49f9157..9726dad9784b 100644 --- a/pkgs/by-name/nt/ntfy-alertmanager/package.nix +++ b/pkgs/by-name/nt/ntfy-alertmanager/package.nix @@ -6,14 +6,14 @@ buildGoModule rec { pname = "ntfy-alertmanager"; - version = "0.4.0"; + version = "0.5.0"; src = fetchurl { url = "https://git.xenrox.net/~xenrox/ntfy-alertmanager/refs/download/v${version}/ntfy-alertmanager-${version}.tar.gz"; - hash = "sha256-5rQzJZ0BaLtfj2MfyZZJ3PEiWnaTjWOMlsJYeYENW7U="; + hash = "sha256-Sn2hPt03o4Pi1WY/3d5oWhWUt8x+3P8hoNPS58tj0Kw="; }; - vendorHash = "sha256-8a6dvBERegpFYFHQGJppz5tlQioQAudCe3/Q7vro+ZI="; + vendorHash = "sha256-NHaLv+Ulzl4ev3a6OjZiacCSmYAtvqFFmbYzAp+4AFU="; meta = with lib; { description = "Bridge between ntfy and Alertmanager"; From 929e944c38f79a9ff1434523b0c30f6270dd327c Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Fri, 6 Jun 2025 00:11:37 +0200 Subject: [PATCH 27/84] python3Packages.strawberry-graphql: 0.263.1 -> 0.271.0 --- .../python-modules/strawberry-graphql/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/strawberry-graphql/default.nix b/pkgs/development/python-modules/strawberry-graphql/default.nix index 760f8ac7f913..dd2390b50a6f 100644 --- a/pkgs/development/python-modules/strawberry-graphql/default.nix +++ b/pkgs/development/python-modules/strawberry-graphql/default.nix @@ -44,7 +44,7 @@ buildPythonPackage rec { pname = "strawberry-graphql"; - version = "0.263.1"; + version = "0.271.0"; pyproject = true; disabled = pythonOlder "3.10"; @@ -53,7 +53,7 @@ buildPythonPackage rec { owner = "strawberry-graphql"; repo = "strawberry"; tag = version; - hash = "sha256-w36KY1zl/OguRFs6sM6K4F17bYQcA+bA6XS62VhRgA8="; + hash = "sha256-ypGv0ICGqCisOK0xVLWQXIZb5mF6wt3RukcUo0qM2nQ="; }; postPatch = '' @@ -152,6 +152,7 @@ buildPythonPackage rec { "tests/schema/extensions/" "tests/schema/test_dataloaders.py" "tests/schema/test_lazy/" + "tests/sanic/test_file_upload.py" "tests/test_dataloaders.py" "tests/utils/test_pretty_print.py" "tests/websockets/test_graphql_transport_ws.py" From 938b35714588707a655771ad2e1718089abbfb6c Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Fri, 6 Jun 2025 00:12:07 +0200 Subject: [PATCH 28/84] python3Packages.strawberry-django: 0.57.1 -> 0.60.0 --- .../python-modules/strawberry-django/default.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/strawberry-django/default.nix b/pkgs/development/python-modules/strawberry-django/default.nix index 939ad2561e93..e9c30e69d7c2 100644 --- a/pkgs/development/python-modules/strawberry-django/default.nix +++ b/pkgs/development/python-modules/strawberry-django/default.nix @@ -19,6 +19,7 @@ # check inputs pytestCheckHook, django-guardian, + django-model-utils, django-mptt, django-polymorphic, django-tree-queries, @@ -33,14 +34,14 @@ buildPythonPackage rec { pname = "strawberry-django"; - version = "0.57.1"; + version = "0.60.0"; pyproject = true; src = fetchFromGitHub { owner = "strawberry-graphql"; repo = "strawberry-django"; tag = "v${version}"; - hash = "sha256-nwqb9AVNQNIRdjYcutTaI3YfwuMDLP4mUirSXFq+WnI="; + hash = "sha256-mMI/tPdt9XK6Lz7VmI3uDxcCjIuidUeGHjG+6AQLoeQ="; }; build-system = [ @@ -64,6 +65,7 @@ buildPythonPackage rec { pytestCheckHook django-guardian + django-model-utils django-mptt django-polymorphic django-tree-queries From 142421f15564c0e4d5536c8bdb0e11e60eba0990 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Thu, 5 Jun 2025 23:15:23 +0200 Subject: [PATCH 29/84] netbox_4_3: init at 4.3.2 Release notes: - https://github.com/netbox-community/netbox/releases/tag/v4.3.0 - https://github.com/netbox-community/netbox/releases/tag/v4.3.1 - https://github.com/netbox-community/netbox/releases/tag/v4.3.2 Full changelog: https://github.com/netbox-community/netbox/compare/v4.2.9...v4.3.2 --- doc/release-notes/rl-2511.section.md | 4 + nixos/modules/services/web-apps/netbox.nix | 20 ++- .../ne/netbox_4_3/custom-static-root.patch | 13 ++ pkgs/by-name/ne/netbox_4_3/package.nix | 130 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 5 files changed, 157 insertions(+), 12 deletions(-) create mode 100644 pkgs/by-name/ne/netbox_4_3/custom-static-root.patch create mode 100644 pkgs/by-name/ne/netbox_4_3/package.nix diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 3e906b17836b..510a2686dff9 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -31,6 +31,10 @@ - `podofo` has been updated from `0.9.8` to `1.0.0`. These releases are by nature very incompatable due to major api changes. The legacy versions can be found under `podofo_0_10` and `podofo_0_9`. Changelog: https://github.com/podofo/podofo/blob/1.0.0/CHANGELOG.md, API-Migration-Guide: https://github.com/podofo/podofo/blob/1.0.0/API-MIGRATION.md. +- NetBox was updated to `>= 4.3.0`. Have a look at the breaking changes + of the [4.3 release](https://github.com/netbox-community/netbox/releases/tag/v4.2.0), + make the required changes to your database, if needed, then upgrade by setting `services.netbox.package = pkgs.netbox_4_3;` in your configuration. + ## Other Notable Changes {#sec-nixpkgs-release-25.11-notable-changes} diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix index 73581b56d62c..eefa274cc5fd 100644 --- a/nixos/modules/services/web-apps/netbox.nix +++ b/nixos/modules/services/web-apps/netbox.nix @@ -102,20 +102,18 @@ in package = lib.mkOption { type = lib.types.package; default = - if lib.versionAtLeast config.system.stateVersion "25.05" then + if lib.versionAtLeast config.system.stateVersion "25.11" then + pkgs.netbox_4_3 + else if lib.versionAtLeast config.system.stateVersion "25.05" then pkgs.netbox_4_2 - else if lib.versionAtLeast config.system.stateVersion "24.11" then - pkgs.netbox_4_1 - else if lib.versionAtLeast config.system.stateVersion "24.05" then - pkgs.netbox_3_7 else - pkgs.netbox_3_6; + pkgs.netbox_4_1; defaultText = lib.literalExpression '' - if lib.versionAtLeast config.system.stateVersion "24.11" - then pkgs.netbox_4_1 - else if lib.versionAtLeast config.system.stateVersion "24.05" - then pkgs.netbox_3_7 - else pkgs.netbox_3_6; + if lib.versionAtLeast config.system.stateVersion "25.11" + then pkgs.netbox_4_3 + else if lib.versionAtLeast config.system.stateVersion "25.05" + then pkgs.netbox_4_2 + else pkgs.netbox_4_1; ''; description = '' NetBox package to use. diff --git a/pkgs/by-name/ne/netbox_4_3/custom-static-root.patch b/pkgs/by-name/ne/netbox_4_3/custom-static-root.patch new file mode 100644 index 000000000000..c9219fa2b871 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_3/custom-static-root.patch @@ -0,0 +1,13 @@ +diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py +index 2de06dd10..00406af48 100644 +--- a/netbox/netbox/settings.py ++++ b/netbox/netbox/settings.py +@@ -410,7 +412,7 @@ USE_X_FORWARDED_HOST = True + X_FRAME_OPTIONS = 'SAMEORIGIN' + + # Static files (CSS, JavaScript, Images) +-STATIC_ROOT = BASE_DIR + '/static' ++STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/') + STATIC_URL = f'/{BASE_PATH}static/' + STATICFILES_DIRS = ( + os.path.join(BASE_DIR, 'project-static', 'dist'), diff --git a/pkgs/by-name/ne/netbox_4_3/package.nix b/pkgs/by-name/ne/netbox_4_3/package.nix new file mode 100644 index 000000000000..878cfd3315e6 --- /dev/null +++ b/pkgs/by-name/ne/netbox_4_3/package.nix @@ -0,0 +1,130 @@ +{ + lib, + fetchFromGitHub, + python3, + plugins ? _ps: [ ], + nixosTests, + nix-update-script, +}: +let + py = python3.override { + self = py; + packageOverrides = _final: prev: { django = prev.django_5_2; }; + }; + + extraBuildInputs = plugins py.pkgs; +in +py.pkgs.buildPythonApplication rec { + pname = "netbox"; + version = "4.3.2"; + pyproject = false; + + src = fetchFromGitHub { + owner = "netbox-community"; + repo = "netbox"; + tag = "v${version}"; + hash = "sha256-20X/0k60q2cPsWuz+qpgcfXGkg+A2k5qaWx6zHkmpWc="; + }; + + patches = [ + ./custom-static-root.patch + ]; + + dependencies = + ( + with py.pkgs; + [ + django + django-cors-headers + django-debug-toolbar + django-filter + django-graphiql-debug-toolbar + django-htmx + django-mptt + django-pglocks + django-prometheus + django-redis + django-rq + django-storages + django-tables2 + django-taggit + django-timezone-field + djangorestframework + drf-spectacular + drf-spectacular-sidecar + feedparser + jinja2 + markdown + netaddr + nh3 + pillow + psycopg + pyyaml + requests + social-auth-core + social-auth-app-django + strawberry-graphql + strawberry-django + svgwrite + tablib + + # Optional dependencies, kept here for backward compatibility + + # for the S3 data source backend + boto3 + # for Git data source backend + dulwich + # for error reporting + sentry-sdk + ] + ++ psycopg.optional-dependencies.c + ++ psycopg.optional-dependencies.pool + ++ social-auth-core.optional-dependencies.openidconnect + ) + ++ extraBuildInputs; + + nativeBuildInputs = with py.pkgs; [ + mkdocs-material + mkdocs-material-extensions + mkdocstrings + mkdocstrings-python + ]; + + postBuild = '' + PYTHONPATH=$PYTHONPATH:netbox/ + ${py.interpreter} -m mkdocs build + ''; + + installPhase = '' + mkdir -p $out/opt/netbox + cp -r . $out/opt/netbox + chmod +x $out/opt/netbox/netbox/manage.py + makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \ + --prefix PYTHONPATH : "$PYTHONPATH" + ''; + + passthru = { + python = py; + # PYTHONPATH of all dependencies used by the package + pythonPath = py.pkgs.makePythonPath dependencies; + inherit (py.pkgs) gunicorn; + tests = { + netbox = nixosTests.netbox_4_3; + inherit (nixosTests) netbox-upgrade; + }; + updateScript = nix-update-script { }; + }; + + meta = { + homepage = "https://github.com/netbox-community/netbox"; + changelog = "https://github.com/netbox-community/netbox/blob/${src.tag}/docs/release-notes/version-${lib.versions.majorMinor version}.md"; + description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; + mainProgram = "netbox"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + minijackson + raitobezarius + transcaffeine + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 03fb17ebc456..68ea47f16c51 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3821,7 +3821,7 @@ with pkgs; }; # Not in aliases because it wouldn't get picked up by callPackage - netbox = netbox_4_2; + netbox = netbox_4_3; netcap-nodpi = callPackage ../by-name/ne/netcap/package.nix { withDpi = false; From bab75336669cfa2e1bfc66463256cf9e65bc2bfc Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 22:11:45 +0200 Subject: [PATCH 30/84] netbox_4_2: mark as EOL --- pkgs/by-name/ne/netbox_4_2/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/ne/netbox_4_2/package.nix b/pkgs/by-name/ne/netbox_4_2/package.nix index 371a07b361ff..e17cd2c629c8 100644 --- a/pkgs/by-name/ne/netbox_4_2/package.nix +++ b/pkgs/by-name/ne/netbox_4_2/package.nix @@ -121,6 +121,9 @@ py.pkgs.buildPythonApplication rec { description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool"; mainProgram = "netbox"; license = lib.licenses.asl20; + knownVulnerabilities = [ + "Netbox Version ${version} is EOL; please upgrade by following the current release notes instructions" + ]; maintainers = with lib.maintainers; [ minijackson raitobezarius From 8a244f67c68d02861f58381b6c84e13a44020e5c Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Thu, 5 Jun 2025 23:29:20 +0200 Subject: [PATCH 31/84] nixos/tests/netbox: Adjust (upgrade) test for 4.3.0+, drop tests for 3.7 --- nixos/tests/all-tests.nix | 2 +- nixos/tests/web-apps/netbox-upgrade.nix | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f2071a9f68e8..f9fc10ec18e9 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -913,9 +913,9 @@ in networking.scripted = handleTest ./networking/networkd-and-scripted.nix { networkd = false; }; networking.networkd = handleTest ./networking/networkd-and-scripted.nix { networkd = true; }; networking.networkmanager = handleTest ./networking/networkmanager.nix { }; - netbox_3_7 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_3_7; }; netbox_4_1 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_1; }; netbox_4_2 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_2; }; + netbox_4_3 = handleTest ./web-apps/netbox/default.nix { netbox = pkgs.netbox_4_3; }; netbox-upgrade = runTest ./web-apps/netbox-upgrade.nix; # TODO: put in networking.nix after the test becomes more complete networkingProxy = runTest ./networking-proxy.nix; diff --git a/nixos/tests/web-apps/netbox-upgrade.nix b/nixos/tests/web-apps/netbox-upgrade.nix index 1a8c9599206d..29b553829dcb 100644 --- a/nixos/tests/web-apps/netbox-upgrade.nix +++ b/nixos/tests/web-apps/netbox-upgrade.nix @@ -1,7 +1,7 @@ { lib, pkgs, ... }: let - oldNetbox = "netbox_4_1"; - newNetbox = "netbox_4_2"; + oldNetbox = "netbox_4_2"; + newNetbox = "netbox_4_3"; apiVersion = version: From c314d6fbe8df5f2ac64a4be13118a442742cd08e Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 22:51:17 +0200 Subject: [PATCH 32/84] python312Packages.netbox-attachments: only build for python version of netbox --- .../development/python-modules/netbox-attachments/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-attachments/default.nix b/pkgs/development/python-modules/netbox-attachments/default.nix index 88fbf9a619ba..cdc92b007688 100644 --- a/pkgs/development/python-modules/netbox-attachments/default.nix +++ b/pkgs/development/python-modules/netbox-attachments/default.nix @@ -1,9 +1,9 @@ { lib, buildPythonPackage, - pythonAtLeast, fetchFromGitHub, setuptools, + python, netbox, django, netaddr, @@ -13,7 +13,7 @@ buildPythonPackage rec { version = "7.2.0"; pyproject = true; - disabled = pythonAtLeast "3.13"; + disabled = python.pythonVersion != netbox.python.pythonVersion; src = fetchFromGitHub { owner = "Kani999"; From becc327d6ed30d2c3cbe7b85f70ac35a9019d5bf Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 23:04:05 +0200 Subject: [PATCH 33/84] python313Packages.netbox-attachments: 7.2.0 -> 8.0.4 Release notes: https://github.com/Kani999/netbox-attachments/releases/tag/8.0.4 Full changelog: https://github.com/Kani999/netbox-attachments/compare/7.2.0...8.0.4 --- .../development/python-modules/netbox-attachments/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-attachments/default.nix b/pkgs/development/python-modules/netbox-attachments/default.nix index cdc92b007688..1464f6ca3be1 100644 --- a/pkgs/development/python-modules/netbox-attachments/default.nix +++ b/pkgs/development/python-modules/netbox-attachments/default.nix @@ -10,7 +10,7 @@ }: buildPythonPackage rec { pname = "netbox-attachments"; - version = "7.2.0"; + version = "8.0.4"; pyproject = true; disabled = python.pythonVersion != netbox.python.pythonVersion; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "Kani999"; repo = "netbox-attachments"; tag = version; - hash = "sha256-EYf1PbFIFyCb2fYrnn/T8dnXz3dHmDOLI8Wbnef8V8M="; + hash = "sha256-wVTI0FAj6RaEaE6FhvHq4ophnCspobqL2SnTYVynlxs="; }; build-system = [ setuptools ]; From 2b2728c7774f40d57a19594afab50341ee8a7b20 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 22:53:15 +0200 Subject: [PATCH 34/84] python312Packages.netbox-contract: only build for python version of netbox --- pkgs/development/python-modules/netbox-contract/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-contract/default.nix b/pkgs/development/python-modules/netbox-contract/default.nix index 4ce0be97692b..5239111b6c91 100644 --- a/pkgs/development/python-modules/netbox-contract/default.nix +++ b/pkgs/development/python-modules/netbox-contract/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - pythonAtLeast, + python, fetchFromGitHub, setuptools, python-dateutil, @@ -14,7 +14,7 @@ buildPythonPackage rec { version = "2.3.2"; pyproject = true; - disabled = pythonAtLeast "3.13"; + disabled = python.pythonVersion != netbox.python.pythonVersion; src = fetchFromGitHub { owner = "mlebreuil"; From d3ff75f1dc8b0c05012dbb0d24a68d1b490cd6d6 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 23:01:12 +0200 Subject: [PATCH 35/84] python313Packages.netbox-contract: 2.3.2 -> 2.4.0 Release notes: https://github.com/mlebreuil/netbox-contract/releases/tag/v2.4.0 Full changelog: https://github.com/mlebreuil/netbox-contract/compare/v2.3.2...v2.4.0 --- pkgs/development/python-modules/netbox-contract/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-contract/default.nix b/pkgs/development/python-modules/netbox-contract/default.nix index 5239111b6c91..6bf331f5f595 100644 --- a/pkgs/development/python-modules/netbox-contract/default.nix +++ b/pkgs/development/python-modules/netbox-contract/default.nix @@ -11,7 +11,7 @@ }: buildPythonPackage rec { pname = "netbox-contract"; - version = "2.3.2"; + version = "2.4.0"; pyproject = true; disabled = python.pythonVersion != netbox.python.pythonVersion; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "mlebreuil"; repo = "netbox-contract"; tag = "v${version}"; - hash = "sha256-e3N0m+oj2CMUXwI4dF/tXA+Lz+9+ZlbJAy+zHoRDNtw="; + hash = "sha256-duA53cuJ3q6CRp239xNMXQhGZHGn7IBIGNLoxt7hZh8="; }; build-system = [ setuptools ]; From 2689ec0873798994940a1a9a0360d957c73b387c Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 22:54:46 +0200 Subject: [PATCH 36/84] python312Packages.netbox-floorplan-plugin: only build for python version of netbox --- .../python-modules/netbox-floorplan-plugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix b/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix index a8ede465dbcb..69a7e2ab661f 100644 --- a/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix +++ b/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix @@ -4,16 +4,16 @@ fetchFromGitHub, setuptools, netbox, - pythonAtLeast, django, netaddr, + python, }: buildPythonPackage rec { pname = "netbox-floorplan-plugin"; version = "0.6.0"; pyproject = true; - disabled = pythonAtLeast "3.13"; + disabled = python.pythonVersion != netbox.python.pythonVersion; src = fetchFromGitHub { owner = "netbox-community"; From 091247e303ce27338b0562da8115fe7705186c44 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 23:06:06 +0200 Subject: [PATCH 37/84] python313Packages.netbox-floorplan-plugin: 0.6.0 -> 0.7.0 Release notes: https://github.com/netbox-community/netbox-floorplan-plugin/releases/tag/0.7.0 Full changelog: https://github.com/netbox-community/netbox-floorplan-plugin/compare/0.6.0...0.7.0 --- .../python-modules/netbox-floorplan-plugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix b/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix index 69a7e2ab661f..f54ed5813342 100644 --- a/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix +++ b/pkgs/development/python-modules/netbox-floorplan-plugin/default.nix @@ -10,7 +10,7 @@ }: buildPythonPackage rec { pname = "netbox-floorplan-plugin"; - version = "0.6.0"; + version = "0.7.0"; pyproject = true; disabled = python.pythonVersion != netbox.python.pythonVersion; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "netbox-community"; repo = "netbox-floorplan-plugin"; tag = version; - hash = "sha256-cJrqSXRCBedZh/pIozz/bHyhQosTy8cFYyji3KJva9Q="; + hash = "sha256-ecwPdcVuXU6OIVbafYGaY6+pbBHxhh1AlNmDBlUk1Ss="; }; build-system = [ setuptools ]; From eafc151b91ca7e0f7947b509c3ce893c249c5af0 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 22:55:05 +0200 Subject: [PATCH 38/84] python312Packages.netbox-napalm-plugin: only build for python version of netbox --- .../python-modules/netbox-napalm-plugin/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-napalm-plugin/default.nix b/pkgs/development/python-modules/netbox-napalm-plugin/default.nix index 3b06f9abc9a0..1eb1fc6923ee 100644 --- a/pkgs/development/python-modules/netbox-napalm-plugin/default.nix +++ b/pkgs/development/python-modules/netbox-napalm-plugin/default.nix @@ -4,7 +4,7 @@ fetchFromGitHub, setuptools, netbox, - pythonAtLeast, + python, napalm, django, }: @@ -13,7 +13,7 @@ buildPythonPackage rec { version = "0.3.1"; pyproject = true; - disabled = pythonAtLeast "3.13"; + disabled = python.pythonVersion != netbox.python.pythonVersion; src = fetchFromGitHub { owner = "netbox-community"; From ef18f6662715895809f3c592a1d7dd4280a6c3d9 Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 22:55:30 +0200 Subject: [PATCH 39/84] python312Packages.netbox-topology-views: only build for python version of netbox --- .../python-modules/netbox-topology-views/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-topology-views/default.nix b/pkgs/development/python-modules/netbox-topology-views/default.nix index 8617b16d559c..84f7af665171 100644 --- a/pkgs/development/python-modules/netbox-topology-views/default.nix +++ b/pkgs/development/python-modules/netbox-topology-views/default.nix @@ -4,16 +4,16 @@ fetchFromGitHub, setuptools, netbox, - pythonAtLeast, django, netaddr, + python, }: buildPythonPackage rec { pname = "netbox-topology-views"; version = "4.2.1"; pyproject = true; - disabled = pythonAtLeast "3.13"; + disabled = python.pythonVersion != netbox.python.pythonVersion; src = fetchFromGitHub { owner = "netbox-community"; From a861a2d60ec593936873b99c97b0270910db19dc Mon Sep 17 00:00:00 2001 From: transcaffeine Date: Mon, 23 Jun 2025 23:09:40 +0200 Subject: [PATCH 40/84] python313Packages.netbox-topology-views: 4.2.1 -> 4.3.0 Release notes: https://github.com/netbox-community/netbox-topology-views/releases/tag/v4.3.0 Full changelog: https://github.com/netbox-community/netbox-topology-views/compare/v4.2.1...v4.3.0 --- .../python-modules/netbox-topology-views/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/netbox-topology-views/default.nix b/pkgs/development/python-modules/netbox-topology-views/default.nix index 84f7af665171..007a94a6225a 100644 --- a/pkgs/development/python-modules/netbox-topology-views/default.nix +++ b/pkgs/development/python-modules/netbox-topology-views/default.nix @@ -10,7 +10,7 @@ }: buildPythonPackage rec { pname = "netbox-topology-views"; - version = "4.2.1"; + version = "4.3.0"; pyproject = true; disabled = python.pythonVersion != netbox.python.pythonVersion; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "netbox-community"; repo = "netbox-topology-views"; tag = "v${version}"; - hash = "sha256-ysupqyRFOKVa+evNbfSdW2W57apI0jVEU92afz6+AaE="; + hash = "sha256-K8hG2M8uWPk9+7u21z+hmedOovievkMNpn3p7I4+6t4="; }; build-system = [ setuptools ]; From 1b621248486f652ac3e9c4d29cbe7fadb790399a Mon Sep 17 00:00:00 2001 From: Johan Herland Date: Mon, 16 Jun 2025 12:57:13 +0000 Subject: [PATCH 41/84] prometheus-slurm-exporter: init at 0.20 Co-authored-by: Acid Bong --- .../pr/prometheus-slurm-exporter/package.nix | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pkgs/by-name/pr/prometheus-slurm-exporter/package.nix diff --git a/pkgs/by-name/pr/prometheus-slurm-exporter/package.nix b/pkgs/by-name/pr/prometheus-slurm-exporter/package.nix new file mode 100644 index 000000000000..a3c58246676b --- /dev/null +++ b/pkgs/by-name/pr/prometheus-slurm-exporter/package.nix @@ -0,0 +1,30 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule (finalAttrs: { + pname = "prometheus-slurm-exporter"; + version = "0.20"; + + src = fetchFromGitHub { + owner = "vpenso"; + repo = "prometheus-slurm-exporter"; + tag = finalAttrs.version; + hash = "sha256-KS9LoDuLQFq3KoKpHd8vg1jw20YCNRJNJrnBnu5vxvs="; + }; + + vendorHash = "sha256-A1dd9T9SIEHDCiVT2UwV6T02BSLh9ej6LC/2l54hgwI="; + + # Needs a working slurm environment during test + doCheck = false; + + meta = { + description = "Prometheus exporter for performance metrics from Slurm"; + homepage = "https://github.com/vpenso/prometheus-slurm-exporter"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ jherland ]; + mainProgram = "prometheus-slurm-exporter"; + }; +}) From 3c6824ba34f6a6fb450a7dd50d1a242d819cca25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= Date: Tue, 24 Jun 2025 10:52:11 +0200 Subject: [PATCH 42/84] deno: 2.3.6 -> 2.3.7 --- pkgs/by-name/de/deno/package.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/pkgs/by-name/de/deno/package.nix b/pkgs/by-name/de/deno/package.nix index a9388f6ad64e..c71faf3ea674 100644 --- a/pkgs/by-name/de/deno/package.nix +++ b/pkgs/by-name/de/deno/package.nix @@ -3,7 +3,6 @@ lib, callPackage, fetchFromGitHub, - fetchpatch, rustPlatform, cmake, yq, @@ -30,26 +29,18 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "deno"; - version = "2.3.6"; + version = "2.3.7"; src = fetchFromGitHub { owner = "denoland"; repo = "deno"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; # required for tests - hash = "sha256-l3cWnv2cEmoeecYj38eMIlgqlRjDbtQuc6Q3DmOJoqE="; + hash = "sha256-xrGEEtYOjQmKniDsPnWJSbiTRG0uBFqRbUbrvgrMyHg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-alvn+d7XTYrw8KXw+k+++J3CsBwAUbQQlh24/EOEzwY="; - cargoPatches = [ - (fetchpatch { - name = "fix-sigsegv-on-x86_64-unknown-linux-gnu-targets"; - url = "https://github.com/denoland/deno/commit/400a9565c335b51d78c8909f4dbf1dbd4fb5e5d8.patch"; - hash = "sha256-dTIw7P6sB6Esf+lSe/gc3cX54GkzLWF5X55yxP/QYoo="; - includes = [ "cli/Cargo.toml" ]; - }) - ]; + cargoHash = "sha256-1RhVg5fjzA9zKzpkjOyV1KITlTtW41VVqc2Cbe4pfdY="; patches = [ ./tests-replace-hardcoded-paths.patch From 366b94f6121a64c2b5da2bf7c77c06c6a69974ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliv=C3=A9r=20Falvai?= Date: Tue, 24 Jun 2025 11:59:58 +0200 Subject: [PATCH 43/84] deno: fetch submodules in updater script --- pkgs/by-name/de/deno/update/src.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/de/deno/update/src.ts b/pkgs/by-name/de/deno/update/src.ts index 77266e55964b..11c215b44645 100644 --- a/pkgs/by-name/de/deno/update/src.ts +++ b/pkgs/by-name/de/deno/update/src.ts @@ -16,7 +16,7 @@ interface Replacer { const log = logger("src"); const prefetchHash = (nixpkgs: string, version: string) => - run("nurl", ["https://github.com/denoland/deno", version, "-H", "-n", nixpkgs]); + run("nurl", ["https://github.com/denoland/deno", version, "-H", "-n", nixpkgs, "-S"]); const prefetchCargoHash = (nixpkgs: string) => run( "nurl", From d302ab5153cd046dfdea8c072d1f906ac7e8e39a Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 24 Jun 2025 17:55:12 +0900 Subject: [PATCH 44/84] morewaita-icon-theme: refactor - Add updateScript - Remove `with lib;` - Prefer finalAttrs over rec --- .../mo/morewaita-icon-theme/package.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/mo/morewaita-icon-theme/package.nix b/pkgs/by-name/mo/morewaita-icon-theme/package.nix index 205bfd4a2f31..5ae6511ba667 100644 --- a/pkgs/by-name/mo/morewaita-icon-theme/package.nix +++ b/pkgs/by-name/mo/morewaita-icon-theme/package.nix @@ -4,15 +4,16 @@ fetchFromGitHub, gtk3, xdg-utils, + nix-update-script, }: -stdenvNoCC.mkDerivation rec { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "morewaita-icon-theme"; version = "48.1"; src = fetchFromGitHub { owner = "somepaulo"; repo = "MoreWaita"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-18jI4hADVHC/WCmMTlA+VBuZ1jNGSxL+lO3GwWDiNoU="; }; @@ -31,11 +32,15 @@ stdenvNoCC.mkDerivation rec { runHook postInstall ''; - meta = with lib; { + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { description = "Adwaita style extra icons theme for Gnome Shell"; homepage = "https://github.com/somepaulo/MoreWaita"; - license = with licenses; [ gpl3Only ]; - platforms = platforms.linux; - maintainers = with maintainers; [ pkosel ]; + license = with lib.licenses; [ gpl3Only ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ pkosel ]; }; -} +}) From eb90549d9a799d101511ef7610eda043e8fff6b3 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 24 Jun 2025 19:03:01 +0900 Subject: [PATCH 45/84] morewaita-icon-theme: add kachick as maintainer --- pkgs/by-name/mo/morewaita-icon-theme/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/mo/morewaita-icon-theme/package.nix b/pkgs/by-name/mo/morewaita-icon-theme/package.nix index 5ae6511ba667..0d6206d416d5 100644 --- a/pkgs/by-name/mo/morewaita-icon-theme/package.nix +++ b/pkgs/by-name/mo/morewaita-icon-theme/package.nix @@ -41,6 +41,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { homepage = "https://github.com/somepaulo/MoreWaita"; license = with lib.licenses; [ gpl3Only ]; platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ pkosel ]; + maintainers = with lib.maintainers; [ + pkosel + kachick + ]; }; }) From c1519319c8074c612be087ab726e9e25bfc77a59 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 24 Jun 2025 11:00:09 +0900 Subject: [PATCH 46/84] morewaita-icon-theme: remove unnecessary build-related files from $out The package currently includes files like `dump_groups.py` and `meson.build`, that were used during the build process in upstream but are not needed in the final installed output. --- pkgs/by-name/mo/morewaita-icon-theme/package.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mo/morewaita-icon-theme/package.nix b/pkgs/by-name/mo/morewaita-icon-theme/package.nix index 0d6206d416d5..74b7318caec5 100644 --- a/pkgs/by-name/mo/morewaita-icon-theme/package.nix +++ b/pkgs/by-name/mo/morewaita-icon-theme/package.nix @@ -17,6 +17,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { hash = "sha256-18jI4hADVHC/WCmMTlA+VBuZ1jNGSxL+lO3GwWDiNoU="; }; + postPatch = '' + patchShebangs install.sh + + # Replace this workaround if https://github.com/somepaulo/MoreWaita/pull/339 is merged + substituteInPlace install.sh \ + --replace-fail '"''${HOME}/.local/share/' '"$out/share/' + ''; + nativeBuildInputs = [ gtk3 xdg-utils @@ -25,9 +33,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - install -d $out/share/icons/MoreWaita - cp -r . $out/share/icons/MoreWaita - gtk-update-icon-cache -f -t $out/share/icons/MoreWaita && xdg-desktop-menu forceupdate + ./install.sh runHook postInstall ''; From 867b22d69876c3c130e6506df337f573deca66b5 Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Tue, 24 Jun 2025 18:57:41 +0900 Subject: [PATCH 47/84] morewaita-icon-theme: 48.1 -> 48.2 Diff: https://github.com/somepaulo/MoreWaita/compare/v48.1...v48.2 This version requires an unmerged patch to avoid the `noBrokenSymlinks` error --- .../fix-broken-symlinks.patch | 48 +++++++++++++++++++ .../mo/morewaita-icon-theme/package.nix | 9 +++- 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 pkgs/by-name/mo/morewaita-icon-theme/fix-broken-symlinks.patch diff --git a/pkgs/by-name/mo/morewaita-icon-theme/fix-broken-symlinks.patch b/pkgs/by-name/mo/morewaita-icon-theme/fix-broken-symlinks.patch new file mode 100644 index 000000000000..4c7e42f4afb6 --- /dev/null +++ b/pkgs/by-name/mo/morewaita-icon-theme/fix-broken-symlinks.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Kenichi Kamiya +Date: Sun, 15 Jun 2025 10:35:51 +0900 +Subject: [PATCH] Fix broken symlinks + +--- + scalable/apps/gnome-character-map.svg | 2 +- + symbolic/apps/pamac-manager-symbolic.svg | 2 +- + symbolic/apps/pamac-symbolic.svg | 2 +- + symbolic/apps/pamac-updater-symbolic.svg | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/scalable/apps/gnome-character-map.svg b/scalable/apps/gnome-character-map.svg +index f04d4679adb66b897b42396e75896f4c46199c24..d400f7677eefaa10db958bb324247825d8c3578e 120000 +--- a/scalable/apps/gnome-character-map.svg ++++ b/scalable/apps/gnome-character-map.svg +@@ -1 +1 @@ +-accessories-character-map.svg +\ No newline at end of file ++../legacy/accessories-character-map.svg +\ No newline at end of file +diff --git a/symbolic/apps/pamac-manager-symbolic.svg b/symbolic/apps/pamac-manager-symbolic.svg +index 758557a5c791b43de172d29f466fe6b6cb9d5207..106458e72401668bca4b9457cd6c2eff9ea7e4e2 120000 +--- a/symbolic/apps/pamac-manager-symbolic.svg ++++ b/symbolic/apps/pamac-manager-symbolic.svg +@@ -1 +1 @@ +-system-software-install-symbolic.svg +\ No newline at end of file ++../legacy/system-software-install-symbolic.svg +\ No newline at end of file +diff --git a/symbolic/apps/pamac-symbolic.svg b/symbolic/apps/pamac-symbolic.svg +index 758557a5c791b43de172d29f466fe6b6cb9d5207..106458e72401668bca4b9457cd6c2eff9ea7e4e2 120000 +--- a/symbolic/apps/pamac-symbolic.svg ++++ b/symbolic/apps/pamac-symbolic.svg +@@ -1 +1 @@ +-system-software-install-symbolic.svg +\ No newline at end of file ++../legacy/system-software-install-symbolic.svg +\ No newline at end of file +diff --git a/symbolic/apps/pamac-updater-symbolic.svg b/symbolic/apps/pamac-updater-symbolic.svg +index 758557a5c791b43de172d29f466fe6b6cb9d5207..106458e72401668bca4b9457cd6c2eff9ea7e4e2 120000 +--- a/symbolic/apps/pamac-updater-symbolic.svg ++++ b/symbolic/apps/pamac-updater-symbolic.svg +@@ -1 +1 @@ +-system-software-install-symbolic.svg +\ No newline at end of file ++../legacy/system-software-install-symbolic.svg +\ No newline at end of file diff --git a/pkgs/by-name/mo/morewaita-icon-theme/package.nix b/pkgs/by-name/mo/morewaita-icon-theme/package.nix index 74b7318caec5..66a8d865ae1a 100644 --- a/pkgs/by-name/mo/morewaita-icon-theme/package.nix +++ b/pkgs/by-name/mo/morewaita-icon-theme/package.nix @@ -8,15 +8,20 @@ }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "morewaita-icon-theme"; - version = "48.1"; + version = "48.2"; src = fetchFromGitHub { owner = "somepaulo"; repo = "MoreWaita"; tag = "v${finalAttrs.version}"; - hash = "sha256-18jI4hADVHC/WCmMTlA+VBuZ1jNGSxL+lO3GwWDiNoU="; + hash = "sha256-eCMU5RNlqHN6tImGd2ur+rSC+kR5xQ8Zh4BaRgjBHVc="; }; + patches = [ + # Avoiding "ERROR: noBrokenSymlinks". ref: https://github.com/somepaulo/MoreWaita/pull/335 + ./fix-broken-symlinks.patch + ]; + postPatch = '' patchShebangs install.sh From 792ce81d053c27b5ad0fd4b05ed53481969bca5f Mon Sep 17 00:00:00 2001 From: tuxy Date: Tue, 24 Jun 2025 17:31:22 +0700 Subject: [PATCH 48/84] xenia-canary: 0-unstable-2025-06-14 -> 0-unstable-2025-06-22 --- pkgs/by-name/xe/xenia-canary/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/xe/xenia-canary/package.nix b/pkgs/by-name/xe/xenia-canary/package.nix index 92f4addf710f..462d73abb5e3 100644 --- a/pkgs/by-name/xe/xenia-canary/package.nix +++ b/pkgs/by-name/xe/xenia-canary/package.nix @@ -12,20 +12,20 @@ wrapGAppsHook3, makeDesktopItem, copyDesktopItems, - llvmPackages_18, + llvmPackages_19, autoPatchelfHook, unstableGitUpdater, fetchFromGitHub, }: -llvmPackages_18.stdenv.mkDerivation { +llvmPackages_19.stdenv.mkDerivation { pname = "xenia-canary"; - version = "0-unstable-2025-06-14"; + version = "0-unstable-2025-06-21"; src = fetchFromGitHub { owner = "xenia-canary"; repo = "xenia-canary"; fetchSubmodules = true; - rev = "f65f044ee51360de6dd26f5ea0a247e92d8f2275"; + rev = "fd1abfe6aa66b2348d9f93f8e5065def06b1a11d"; hash = "sha256-cxwawoCLE0E/HaELfI3FG4yhk4GRtjB9pCs9gkeM+uc="; }; From a9ceeb720d523756d341e8d3aca045fcf8c0c843 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Jun 2025 12:35:52 +0000 Subject: [PATCH 49/84] dprint-plugins.dprint-plugin-typescript: 0.95.7 -> 0.95.8 --- pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix index b67fd0559b34..9f86d13aa122 100644 --- a/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix +++ b/pkgs/by-name/dp/dprint/plugins/dprint-plugin-typescript.nix @@ -1,7 +1,7 @@ { mkDprintPlugin }: mkDprintPlugin { description = "TypeScript/JavaScript code formatter."; - hash = "sha256-mAePVUsjHVo9okkozXZmwvz456YeO36ghyU4gxKJdyw="; + hash = "sha256-u6DpQWhPyERphKmlXOTE6NW/08YzBDWgzWTJ4JLLAjE="; initConfig = { configExcludes = [ "**/node_modules" ]; configKey = "typescript"; @@ -16,6 +16,6 @@ mkDprintPlugin { }; pname = "dprint-plugin-typescript"; updateUrl = "https://plugins.dprint.dev/dprint/typescript/latest.json"; - url = "https://plugins.dprint.dev/typescript-0.95.7.wasm"; - version = "0.95.7"; + url = "https://plugins.dprint.dev/typescript-0.95.8.wasm"; + version = "0.95.8"; } From dbc7d6855b4b6e8b4b13ffcd420472367350f27f Mon Sep 17 00:00:00 2001 From: steinuil Date: Tue, 24 Jun 2025 15:57:40 +0200 Subject: [PATCH 50/84] carapace: 1.3.2 -> 1.3.3 --- pkgs/shells/carapace/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/carapace/default.nix b/pkgs/shells/carapace/default.nix index e95c6a36b45d..96830ccfcb1d 100644 --- a/pkgs/shells/carapace/default.nix +++ b/pkgs/shells/carapace/default.nix @@ -9,16 +9,16 @@ buildGoModule (finalAttrs: { pname = "carapace"; - version = "1.3.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = "carapace-sh"; repo = "carapace-bin"; tag = "v${finalAttrs.version}"; - hash = "sha256-DgWC3IsuHncJzVfWxIGWDxknTAdHJEijvjhO7q14EYQ="; + hash = "sha256-dVM5XFFNXAVoN2xshq5k0Y6vSrfSNS0bIptcloX/uSg="; }; - vendorHash = "sha256-oq1hZ2P093zsI+UAGHi5XfRXqGGxWpR5j7x7N7ng3xE="; + vendorHash = "sha256-XRbqxL2ANWi2aZbB30tNBxJoBIoDoMxKXMpOx++JJ6M="; ldflags = [ "-s" From f94d0e7ca60b0641ce4b4a1a75a173d3027eabfd Mon Sep 17 00:00:00 2001 From: miampf Date: Thu, 8 May 2025 15:45:26 +0200 Subject: [PATCH 51/84] arrow: init at 3.0.0 --- pkgs/by-name/ar/arrow/package.nix | 102 ++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 pkgs/by-name/ar/arrow/package.nix diff --git a/pkgs/by-name/ar/arrow/package.nix b/pkgs/by-name/ar/arrow/package.nix new file mode 100644 index 000000000000..f798956d6d9f --- /dev/null +++ b/pkgs/by-name/ar/arrow/package.nix @@ -0,0 +1,102 @@ +{ + stdenv, + lib, + fetchFromGitHub, + godot_4_4, + alsa-lib, + libGL, + libpulseaudio, + libX11, + libXcursor, + libXext, + libXi, + libXrandr, + udev, + vulkan-loader, + autoPatchelfHook, + writableTmpDirAsHomeHook, + makeDesktopItem, + copyDesktopItems, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "arrow"; + version = "3.0.0"; + + src = fetchFromGitHub { + owner = "mhgolkar"; + repo = "Arrow"; + tag = "v${finalAttrs.version}"; + hash = "sha256-oodW6XvesBWic0yK1Se/tycjqblE4qUSuAk+3MY3x8I="; + }; + + desktopItems = [ + (makeDesktopItem { + type = "Application"; + name = "Arrow"; + exec = "Arrow"; + icon = "Arrow"; + terminal = false; + comment = "Game Narrative Design Tool"; + desktopName = "Arrow"; + categories = [ "Application" ]; + }) + ]; + + nativeBuildInputs = [ + autoPatchelfHook + writableTmpDirAsHomeHook + godot_4_4 + copyDesktopItems + ]; + + runtimeDependencies = map lib.getLib [ + alsa-lib + libGL + libpulseaudio + libX11 + libXcursor + libXext + libXi + libXrandr + udev + vulkan-loader + ]; + + passthru.updateScript = nix-update-script { }; + + buildPhase = '' + runHook preBuild + + ln -s "${godot_4_4.export-templates-bin}" $HOME/.local + + mkdir -p build + godot4 --headless --export-release Linux ./build/Arrow + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -D -m 755 -t $out/libexec ./build/Arrow + install -D -m 644 -t $out/libexec ./build/Arrow.pck + + install -d -m 755 $out/bin + ln -s $out/libexec/Arrow $out/bin/Arrow + + install -vD icon.svg $out/share/icons/hicolor/scalable/apps/Arrow.svg + + runHook postInstall + ''; + + meta = { + homepage = "https://mhgolkar.github.io/Arrow/"; + description = "Game Narrative Design Tool"; + license = lib.licenses.mit; + mainProgram = "Arrow"; + maintainers = with lib.maintainers; [ miampf ]; + platforms = lib.platforms.linux; + }; +}) From 833696f07c90d2cbd4bc75003681fe6120b243e4 Mon Sep 17 00:00:00 2001 From: Jonathan Davies Date: Tue, 24 Jun 2025 15:15:17 +0000 Subject: [PATCH 52/84] =?UTF-8?q?clickhouse:=2025.3.3.42=20=E2=86=92=2025.?= =?UTF-8?q?3.4.190?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/cl/clickhouse/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clickhouse/package.nix b/pkgs/by-name/cl/clickhouse/package.nix index cb8903eae19c..5157b6eec435 100644 --- a/pkgs/by-name/cl/clickhouse/package.nix +++ b/pkgs/by-name/cl/clickhouse/package.nix @@ -21,7 +21,7 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { pname = "clickhouse"; - version = "25.3.3.42"; + version = "25.3.4.190"; src = fetchFromGitHub rec { owner = "ClickHouse"; @@ -29,7 +29,7 @@ llvmPackages_19.stdenv.mkDerivation (finalAttrs: { tag = "v${finalAttrs.version}-lts"; fetchSubmodules = true; name = "clickhouse-${tag}.tar.gz"; - hash = "sha256-VYT6Rnq7LaV9fZc4LJ9YtbWQDgEARYok8MjVfg8itIg="; + hash = "sha256-8KH0mziVlayu9g4EwW+hpSV97P72CYDKwGCZ5ycDUwE="; postFetch = '' # delete files that make the source too big rm -rf $out/contrib/llvm-project/llvm/test From 0edbbfc8bbc7da1153ff6a66678d87a663bc5488 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Tue, 24 Jun 2025 17:37:09 +0200 Subject: [PATCH 53/84] Reapply "workflows/labels: manage stale & merge conflict labels" This reverts commit c366efa6e2816c2cb48b3018fe00ceb8ca6cbc81. --- .github/workflows/labels.yml | 361 +++++++++++++++++++++-------------- 1 file changed, 214 insertions(+), 147 deletions(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 83cf0511fc5e..c3bc9301f67f 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -17,18 +17,12 @@ on: NIXPKGS_CI_APP_PRIVATE_KEY: required: true workflow_dispatch: - inputs: - updatedWithin: - description: 'Updated within [hours]' - type: number - required: false - default: 0 # everything since last run concurrency: # This explicitly avoids using `run_id` for the concurrency key to make sure that only - # *one* non-PR run can run at a time. + # *one* scheduled run can run at a time. group: labels-${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number }} - # PR- and manually-triggered runs will be cancelled, but scheduled runs will be queued. + # PR-triggered runs will be cancelled, but scheduled runs will be queued. cancel-in-progress: ${{ github.event_name != 'schedule' }} # This is used as fallback without app only. @@ -69,8 +63,6 @@ jobs: - name: Labels from API data and Eval results uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 - env: - UPDATED_WITHIN: ${{ inputs.updatedWithin }} with: github-token: ${{ steps.app-token.outputs.token || github.token }} script: | @@ -101,6 +93,9 @@ jobs: github.hook.wrap('request', async (request, options) => { // Requests to the /rate_limit endpoint do not count against the rate limit. if (options.url == '/rate_limit') return request(options) + // Search requests are in a different resource group, which allows 30 requests / minute. + // We do less than a handful each run, so not implementing throttling for now. + if (options.url.startsWith('/search/')) return request(options) stats.requests++ if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(options.method)) return writeLimits.schedule(request.bind(null, options)) @@ -128,102 +123,68 @@ jobs: const reservoirUpdater = setInterval(updateReservoir, 60 * 1000) process.on('uncaughtException', () => clearInterval(reservoirUpdater)) - if (process.env.UPDATED_WITHIN && !/^\d+$/.test(process.env.UPDATED_WITHIN)) - throw new Error('Please enter "updated within" as integer in hours.') + async function handle(item) { + try { + const log = (k,v,skip) => { + core.info(`#${item.number} - ${k}: ${v}` + (skip ? ' (skipped)' : '')) + return skip + } - const cutoff = new Date(await (async () => { - // Always run for Pull Request triggers, no cutoff since there will be a single - // response only anyway. 0 is the Unix epoch, so always smaller. - if (context.payload.pull_request?.number) return 0 + log('Last updated at', item.updated_at) + stats.prs++ + log('URL', item.html_url) - // Manually triggered via UI when updatedWithin is set. Will fallthrough to the last - // option if the updatedWithin parameter is set to 0, which is the default. - const updatedWithin = Number.parseInt(process.env.UPDATED_WITHIN, 10) - if (updatedWithin) return new Date().getTime() - updatedWithin * 60 * 60 * 1000 + const pull_number = item.number + const issue_number = item.number - // Normally a scheduled run, but could be workflow_dispatch, see above. Go back as far - // as the last successful run of this workflow to make sure we are not leaving anyone - // behind on GHA failures. - // Defaults to go back 1 hour on the first run. - return (await github.rest.actions.listWorkflowRuns({ - ...context.repo, - workflow_id: 'labels.yml', - event: 'schedule', - status: 'success', - exclude_pull_requests: true - })).data.workflow_runs[0]?.created_at ?? new Date().getTime() - 1 * 60 * 60 * 1000 - })()) - core.info('cutoff timestamp: ' + cutoff.toISOString()) + // The search result is of a format that works for both issues and pull requests and thus + // does not have all fields of a full pull_request response. Notably, it is missing `head.sha`, + // which we need to fetch the workflow run below. When triggered via pull_request event, + // this field is already available. + // This API request is also important for the merge-conflict label, because it triggers the + // creation of a new test merge commit. This is needed to actually determine the state of a PR. + const pull_request = item.head ? item : (await github.rest.pulls.get({ + ...context.repo, + pull_number + })).data - // To simplify this action's logic we fetch the pull_request data again below, even if - // we are already in a pull_request event's context and would have the data readily - // available. We do this by filtering the list of pull requests with head and base - // branch - there can only be a single open Pull Request for any such combination. - const prEventCondition = !context.payload.pull_request ? undefined : { - // "label" is in the format of `user:branch` or `org:branch` - head: context.payload.pull_request.head.label, - base: context.payload.pull_request.base.ref - } - - const prs = await github.paginate( - github.rest.pulls.list, - { - ...context.repo, - state: 'open', - sort: 'updated', - direction: 'desc', - ...prEventCondition - }, - (response, done) => response.data.map(async (pull_request) => { - try { - const log = (k,v,skip) => { - core.info(`PR #${pull_request.number} - ${k}: ${v}` + (skip ? ' (skipped)' : '')) - return skip - } - - if (log('Last updated at', pull_request.updated_at, new Date(pull_request.updated_at) < cutoff)) - return done() - stats.prs++ - log('URL', pull_request.html_url) - - const run_id = (await github.rest.actions.listWorkflowRuns({ + const run_id = (await github.rest.actions.listWorkflowRuns({ + ...context.repo, + workflow_id: 'pr.yml', + event: 'pull_request_target', + status: 'success', + exclude_pull_requests: true, + head_sha: pull_request.head.sha + })).data.workflow_runs[0]?.id ?? + // TODO: Remove this after 2025-09-17, at which point all eval.yml artifacts will have expired. + (await github.rest.actions.listWorkflowRuns({ ...context.repo, - workflow_id: 'pr.yml', + // In older PRs, we need eval.yml instead of pr.yml. + workflow_id: 'eval.yml', event: 'pull_request_target', - // For PR events, the workflow run is still in progress with this job itself. - status: prEventCondition ? 'in_progress' : 'success', + status: 'success', exclude_pull_requests: true, head_sha: pull_request.head.sha - })).data.workflow_runs[0]?.id ?? - // TODO: Remove this after 2025-09-17, at which point all eval.yml artifacts will have expired. - (await github.rest.actions.listWorkflowRuns({ - ...context.repo, - // In older PRs, we need eval.yml instead of pr.yml. - workflow_id: 'eval.yml', - event: 'pull_request_target', - status: 'success', - exclude_pull_requests: true, - head_sha: pull_request.head.sha - })).data.workflow_runs[0]?.id + })).data.workflow_runs[0]?.id - // Newer PRs might not have run Eval to completion, yet. We can skip them, because this - // job will be run as part of that Eval run anyway. - if (log('Last eval run', run_id ?? '', !run_id)) - return; + // Newer PRs might not have run Eval to completion, yet. + // Older PRs might not have an eval.yml workflow, yet. + // In either case we continue without fetching an artifact on a best-effort basis. + log('Last eval run', run_id ?? '') - const artifact = (await github.rest.actions.listWorkflowRunArtifacts({ - ...context.repo, - run_id, - name: 'comparison' - })).data.artifacts[0] + const artifact = run_id && (await github.rest.actions.listWorkflowRunArtifacts({ + ...context.repo, + run_id, + name: 'comparison' + })).data.artifacts[0] - // Instead of checking the boolean artifact.expired, we will give us a minute to - // actually download the artifact in the next step and avoid that race condition. - // Older PRs, where the workflow run was already eval.yml, but the artifact was not - // called "comparison", yet, will be skipped as well. - const expired = new Date(artifact?.expires_at ?? 0) < new Date(new Date().getTime() + 60 * 1000) - if (log('Artifact expires at', artifact?.expires_at ?? '', expired)) - return; + // Instead of checking the boolean artifact.expired, we will give us a minute to + // actually download the artifact in the next step and avoid that race condition. + // Older PRs, where the workflow run was already eval.yml, but the artifact was not + // called "comparison", yet, will skip the download. + const expired = !artifact || new Date(artifact?.expires_at ?? 0) < new Date(new Date().getTime() + 60 * 1000) + log('Artifact expires at', artifact?.expires_at ?? '') + if (!expired) { stats.artifacts++ await artifactClient.downloadArtifact(artifact.id, { @@ -232,39 +193,82 @@ jobs: repositoryOwner: context.repo.owner, token: core.getInput('github-token') }, - path: path.resolve(pull_request.number.toString()), + path: path.resolve(pull_number.toString()), expectedHash: artifact.digest }) + } - // Create a map (Label -> Boolean) of all currently set labels. - // Each label is set to True and can be disabled later. - const before = Object.fromEntries( - (await github.paginate(github.rest.issues.listLabelsOnIssue, { + // Create a map (Label -> Boolean) of all currently set labels. + // Each label is set to True and can be disabled later. + const before = Object.fromEntries( + (await github.paginate(github.rest.issues.listLabelsOnIssue, { + ...context.repo, + issue_number + })) + .map(({ name }) => [name, true]) + ) + + const approvals = new Set( + (await github.paginate(github.rest.pulls.listReviews, { + ...context.repo, + pull_number + })) + .filter(review => review.state == 'APPROVED') + .map(review => review.user?.id) + ) + + const latest_event_at = new Date( + (await github.paginate( + github.rest.issues.listEventsForTimeline, + { ...context.repo, - issue_number: pull_request.number - })) - .map(({ name }) => [name, true]) - ) + issue_number, + per_page: 100 + } + )) + // We also ignore base_ref_force_pushed, which will not happen in nixpkgs, but + // is very useful for testing in forks. + .findLast(({ event }) => !['labeled', 'unlabeled', 'base_ref_force_pushed'].includes(event)) + ?.created_at ?? item.created_at + ) + const stale_at = new Date(new Date().setDate(new Date().getDate() - 180)) - const approvals = new Set( - (await github.paginate(github.rest.pulls.listReviews, { - ...context.repo, - pull_number: pull_request.number - })) - .filter(review => review.state == 'APPROVED') - .map(review => review.user?.id) - ) + // Manage most of the labels, without eval results + const after = Object.assign( + {}, + before, + { + // We intentionally don't use the mergeable or mergeable_state attributes. + // Those have an intermediate state while the test merge commit is created. + // This doesn't work well for us, because we might have just triggered another + // test merge commit creation by request the pull request via API at the start + // of this function. + // The attribute merge_commit_sha keeps the old value of null or the hash *until* + // the new test merge commit has either successfully been created or failed so. + // This essentially means we are updating the merge conflict label in two steps: + // On the first pass of the day, we just fetch the pull request, which triggers + // the creation. At this stage, the label is likely not updated, yet. + // The second pass will then read the result from the first pass and set the label. + '2.status: merge conflict': !pull_request.merge_commit_sha, + '2.status: stale': !before['1.severity: security'] && latest_event_at < stale_at, + '12.approvals: 1': approvals.size == 1, + '12.approvals: 2': approvals.size == 2, + '12.approvals: 3+': approvals.size >= 3, + '12.first-time contribution': + [ 'NONE', 'FIRST_TIMER', 'FIRST_TIME_CONTRIBUTOR' ].includes(pull_request.author_association), + } + ) + // Manage labels based on eval results + if (!expired) { const maintainers = new Set(Object.keys( - JSON.parse(await readFile(`${pull_request.number}/maintainers.json`, 'utf-8')) + JSON.parse(await readFile(`${pull_number}/maintainers.json`, 'utf-8')) ).map(m => Number.parseInt(m, 10))) - const evalLabels = JSON.parse(await readFile(`${pull_request.number}/changed-paths.json`, 'utf-8')).labels + const evalLabels = JSON.parse(await readFile(`${pull_number}/changed-paths.json`, 'utf-8')).labels - // Manage the labels - const after = Object.assign( - {}, - before, + Object.assign( + after, // Ignore `evalLabels` if it's an array. // This can happen for older eval runs, before we switched to objects. // The old eval labels would have been set by the eval run, @@ -272,41 +276,104 @@ jobs: // TODO: Simplify once old eval results have expired (~2025-10) (Array.isArray(evalLabels) ? undefined : evalLabels), { - '12.approvals: 1': approvals.size == 1, - '12.approvals: 2': approvals.size == 2, - '12.approvals: 3+': approvals.size >= 3, '12.approved-by: package-maintainer': Array.from(maintainers).some(m => approvals.has(m)), - '12.first-time contribution': - [ 'NONE', 'FIRST_TIMER', 'FIRST_TIME_CONTRIBUTOR' ].includes(pull_request.author_association), } ) - - // No need for an API request, if all labels are the same. - const hasChanges = Object.keys(after).some(name => (before[name] ?? false) != after[name]) - if (log('Has changes', hasChanges, !hasChanges)) - return; - - // Skipping labeling on a pull_request event, because we have no privileges. - const labels = Object.entries(after).filter(([,value]) => value).map(([name]) => name) - if (log('Set labels', labels, context.eventName == 'pull_request')) - return; - - await github.rest.issues.setLabels({ - ...context.repo, - issue_number: pull_request.number, - labels - }) - } catch (cause) { - throw new Error(`Labeling PR #${pull_request.number} failed.`, { cause }) } - }) - ); - (await Promise.allSettled(prs.flat())) - .filter(({ status }) => status == 'rejected') - .map(({ reason }) => core.setFailed(`${reason.message}\n${reason.cause.stack}`)) + // No need for an API request, if all labels are the same. + const hasChanges = Object.keys(after).some(name => (before[name] ?? false) != after[name]) + if (log('Has changes', hasChanges, !hasChanges)) + return; - core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`) + // Skipping labeling on a pull_request event, because we have no privileges. + const labels = Object.entries(after).filter(([,value]) => value).map(([name]) => name) + if (log('Set labels', labels, context.eventName == 'pull_request')) + return; + + await github.rest.issues.setLabels({ + ...context.repo, + issue_number, + labels + }) + } catch (cause) { + throw new Error(`Labeling #${item.number} failed.`, { cause }) + } + } + + if (context.payload.pull_request) { + await handle(context.payload.pull_request) + } else { + const workflowData = (await github.rest.actions.listWorkflowRuns({ + ...context.repo, + workflow_id: 'labels.yml', + event: 'schedule', + status: 'success', + exclude_pull_requests: true, + per_page: 1 + })).data + + // Go back as far as the last successful run of this workflow to make sure + // we are not leaving anyone behind on GHA failures. + // Defaults to go back 1 hour on the first run. + const cutoff = new Date(workflowData.workflow_runs[0]?.created_at ?? new Date().getTime() - 1 * 60 * 60 * 1000) + core.info('cutoff timestamp: ' + cutoff.toISOString()) + + const updatedItems = await github.paginate( + github.rest.search.issuesAndPullRequests, + { + q: [ + `repo:"${process.env.GITHUB_REPOSITORY}"`, + 'type:pr', + 'is:open', + `updated:>=${cutoff.toISOString()}` + ].join(' AND '), + // TODO: Remove in 2025-10, when it becomes the default. + advanced_search: true + } + ) + + const allOptions = { + q: [ + `repo:"${process.env.GITHUB_REPOSITORY}"`, + 'type:pr', + 'is:open' + ].join(' AND '), + sort: 'created', + direction: 'asc', + // TODO: Remove in 2025-10, when it becomes the default. + advanced_search: true + } + + const { total_count: total_pulls } = (await github.rest.search.issuesAndPullRequests({ + ...allOptions, + per_page: 1 + })).data + const { total_count: total_runs } = workflowData + const allItems = (await github.rest.search.issuesAndPullRequests({ + ...allOptions, + per_page: 100, + // We iterate through pages of 100 items across scheduled runs. With currently ~7000 open PRs and + // up to 6*24=144 scheduled runs per day, we hit every PR twice each day. + // We might not hit every PR on one iteration, because the pages will shift slightly when + // PRs are closed or merged. We assume this to be OK on the bigger scale, because a PR which was + // missed once, would have to move through the whole page to be missed again. This is very unlikely, + // so it should certainly be hit on the next iteration. + // TODO: Evaluate after a while, whether the above holds still true and potentially implement + // an overlap between runs. + page: total_runs % Math.ceil(total_pulls / 100) + })).data.items + + // Some items might be in both search results, so filtering out duplicates as well. + const items = [].concat(updatedItems, allItems) + .filter((thisItem, idx, arr) => idx == arr.findIndex(firstItem => firstItem.number == thisItem.number)) + + ;(await Promise.allSettled(items.map(handle))) + .filter(({ status }) => status == 'rejected') + .map(({ reason }) => core.setFailed(`${reason.message}\n${reason.cause.stack}`)) + + core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`) + } clearInterval(reservoirUpdater) - name: Log current API rate limits From a301d1662880551b7bf96d6927d723e9d17eb267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20H=C3=A4ring?= Date: Tue, 24 Jun 2025 18:46:21 +0200 Subject: [PATCH 54/84] perlPackages.ImagePNGLibpng: 0.57 -> 0.59 --- pkgs/top-level/perl-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 45d0287268fe..46f71ff43fa0 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -16950,12 +16950,12 @@ with self; }; }; - ImagePNGLibpng = buildPerlPackage { + ImagePNGLibpng = buildPerlPackage rec { pname = "Image-PNG-Libpng"; - version = "0.57"; + version = "0.59"; src = fetchurl { - url = "mirror://cpan/authors/id/B/BK/BKB/Image-PNG-Libpng-0.56.tar.gz"; - hash = "sha256-+vu/6/9CP3u4XvJ6MEH7YpG1AzbHpYIiSlysQzHDx9k="; + url = "mirror://cpan/authors/id/B/BK/BKB/Image-PNG-Libpng-${version}.tar.gz"; + hash = "sha256-4fn19YqM6YhwUp9WgIQfsz4wQnLzn6rtXC95Kc5vWNc="; }; buildInputs = [ pkgs.libpng ]; meta = { From 2d4449f7387fa9b8edbce0673ced027178232f89 Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Tue, 24 Jun 2025 12:57:32 -0400 Subject: [PATCH 55/84] icbm3d: fix darwin and cross-compiled builds Forces `$CC` back to the correct value so it doesn't just assume `gcc`. Patches `randnum.c` and `text.c` to use the correct `#include`s instead of just ignoring the implicit declaration warnings. --- pkgs/by-name/ic/icbm3d/package.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ic/icbm3d/package.nix b/pkgs/by-name/ic/icbm3d/package.nix index 22a2fc0cc044..1973d0de4f37 100644 --- a/pkgs/by-name/ic/icbm3d/package.nix +++ b/pkgs/by-name/ic/icbm3d/package.nix @@ -16,11 +16,17 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ libX11 ]; + buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # fix darwin and cross-compiled builds + # Function are declared after they are used in the file, this is error since gcc-14. # randnum.c:25:3: warning: implicit declaration of function 'srand' [-Wimplicit-function-declaration] # randnum.c:33:7: warning: implicit declaration of function 'rand'; did you mean 'randnum'? [-Wimplicit-function-declaration] # text.c:34:50: warning: implicit declaration of function 'strlen' [-Wimplicit-function-declaration] - env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration"; + postPatch = '' + substituteInPlace randnum.c --replace-fail 'stdio.h' 'stdlib.h' + sed -i '1i\ + #include ' text.c + ''; installPhase = '' runHook preInstall @@ -35,6 +41,6 @@ stdenv.mkDerivation (finalAttrs: { description = "3D vector-based clone of the atari game Missile Command"; mainProgram = "icbm3d"; license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; + platforms = lib.platforms.unix; }; }) From 2476727700f6e02c9a95f0f0ff1d22769b044ec0 Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Tue, 24 Jun 2025 13:23:34 -0400 Subject: [PATCH 56/84] icbm3d: remove install commands from makefile The Makefile tries to install icbm3d immediately after building it, and ends up trying to copy it to /icbm3d. Normally this just gets an error and moves on, but it's probably better to not try it in the first place. --- pkgs/by-name/ic/icbm3d/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ic/icbm3d/package.nix b/pkgs/by-name/ic/icbm3d/package.nix index 1973d0de4f37..270e57c3045d 100644 --- a/pkgs/by-name/ic/icbm3d/package.nix +++ b/pkgs/by-name/ic/icbm3d/package.nix @@ -26,6 +26,11 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace randnum.c --replace-fail 'stdio.h' 'stdlib.h' sed -i '1i\ #include ' text.c + + # The Makefile tries to install icbm3d immediately after building it, and + # ends up trying to copy it to /icbm3d. Normally this just gets an error + # and moves on, but it's probably better to not try it in the first place. + sed -i '/INSTALLROOT/d' makefile ''; installPhase = '' From 30fa220f2edfd9389afe398c7cedf6fd8d3390cd Mon Sep 17 00:00:00 2001 From: Rhys-T <108157737+Rhys-T@users.noreply.github.com> Date: Tue, 24 Jun 2025 13:39:49 -0400 Subject: [PATCH 57/84] xgalagapp: fix darwin and cross-compiled builds Forces `$CXX` back to the correct value so it doesn't just assume `g++`. Also rewrites the derivation to use the standard `buildPhase`, and properly call the `preInstall` and `postInstall` hooks. --- pkgs/by-name/xg/xgalagapp/package.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/xg/xgalagapp/package.nix b/pkgs/by-name/xg/xgalagapp/package.nix index 8afd7f29f069..0611ba0ae8fc 100644 --- a/pkgs/by-name/xg/xgalagapp/package.nix +++ b/pkgs/by-name/xg/xgalagapp/package.nix @@ -19,14 +19,20 @@ stdenv.mkDerivation rec { libXpm ]; - buildPhase = '' - make all HIGH_SCORES_FILE=.xgalaga++.scores - ''; + buildFlags = [ + "all" + "HIGH_SCORES_FILE=.xgalaga++.scores" + "CXX=${stdenv.cc.targetPrefix}c++" # fix darwin and cross-compiled builds + ]; installPhase = '' + runHook preInstall + mkdir -p $out/bin $out/share/man mv xgalaga++ $out/bin mv xgalaga++.6x $out/share/man + + runHook postInstall ''; meta = with lib; { @@ -34,6 +40,6 @@ stdenv.mkDerivation rec { description = "XGalaga++ is a classic single screen vertical shoot ’em up. It is inspired by XGalaga and reuses most of its sprites"; mainProgram = "xgalaga++"; license = licenses.gpl2Plus; - platforms = platforms.linux; + platforms = platforms.unix; }; } From d5072dd3444b7da967eecd6c6b35687cfde444c6 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Tue, 24 Jun 2025 19:31:21 +0200 Subject: [PATCH 58/84] workflows/labels: fix stale label To set the stale label properly, we need to consider the right timeline events only - and their respective relevant timestamps. --- .github/workflows/labels.yml | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index c3bc9301f67f..3abf5011a97f 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -226,11 +226,32 @@ jobs: per_page: 100 } )) - // We also ignore base_ref_force_pushed, which will not happen in nixpkgs, but - // is very useful for testing in forks. - .findLast(({ event }) => !['labeled', 'unlabeled', 'base_ref_force_pushed'].includes(event)) - ?.created_at ?? item.created_at + .filter(({ event }) => [ + // These events are hand-picked from: + // https://docs.github.com/en/rest/using-the-rest-api/issue-event-types?apiVersion=2022-11-28 + // Each of those causes a PR/issue to *not* be considered as stale anymore. + // Most of these use created_at. + 'assigned', + 'commented', // uses updated_at, because that could be > created_at + 'committed', // uses committer.date + 'head_ref_force_pushed', + 'milestoned', + 'pinned', + 'ready_for_review', + 'renamed', + 'reopened', + 'review_dismissed', + 'review_requested', + 'reviewed', // uses submitted_at + 'unlocked', + 'unmarked_as_duplicate', + ].includes(event)) + .map(({ created_at, updated_at, committer, submitted_at }) => new Date(updated_at ?? created_at ?? submitted_at ?? committer.date)) + .sort() + .reverse() + .at(0) ?? item.created_at ) + const stale_at = new Date(new Date().setDate(new Date().getDate() - 180)) // Manage most of the labels, without eval results From ed1fc4c6b3561fcef919ac289aaeddba37d112cc Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Tue, 24 Jun 2025 19:34:21 +0200 Subject: [PATCH 59/84] workflows/labels: fix running in pull_request context When running in a pull_request context, the labels job is part of the currently running workflow - which will never have succeeded, yet. Apparently it could be failed already, so in this case we take *any* workflow run, no matter its state. --- .github/workflows/labels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 3abf5011a97f..c2b33ef8adba 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -152,7 +152,8 @@ jobs: ...context.repo, workflow_id: 'pr.yml', event: 'pull_request_target', - status: 'success', + // In pull_request contexts the workflow is still running. + status: context.payload.pull_request ? undefined : 'success', exclude_pull_requests: true, head_sha: pull_request.head.sha })).data.workflow_runs[0]?.id ?? From aecf8faeeb8c3406560229e4da5f49555de7c7e7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Jun 2025 20:16:01 +0000 Subject: [PATCH 60/84] bfs: 4.0.6 -> 4.0.8 --- pkgs/by-name/bf/bfs/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/bf/bfs/package.nix b/pkgs/by-name/bf/bfs/package.nix index 681a4db2e52d..f2327395e4f1 100644 --- a/pkgs/by-name/bf/bfs/package.nix +++ b/pkgs/by-name/bf/bfs/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "bfs"; - version = "4.0.6"; + version = "4.0.8"; src = fetchFromGitHub { repo = "bfs"; owner = "tavianator"; rev = version; - hash = "sha256-TXnoy+VWkS5ilW6QEtE6vd80FaJ/nIWGaeBJ/cjvquM="; + hash = "sha256-yZoyDa8um3UA8K9Ty17xaGUvQmJA/agZPBsNo+/6weI="; }; buildInputs = From 96f4f17d9fe8534b0002bb8c4bcb3d184cd9f9ec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Jun 2025 20:20:42 +0000 Subject: [PATCH 61/84] cue: 0.13.1 -> 0.13.2 --- pkgs/by-name/cu/cue/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cu/cue/package.nix b/pkgs/by-name/cu/cue/package.nix index 5edb98cec8d6..d4eb8729b1a1 100644 --- a/pkgs/by-name/cu/cue/package.nix +++ b/pkgs/by-name/cu/cue/package.nix @@ -10,13 +10,13 @@ buildGoModule (finalAttrs: { pname = "cue"; - version = "0.13.1"; + version = "0.13.2"; src = fetchFromGitHub { owner = "cue-lang"; repo = "cue"; tag = "v${finalAttrs.version}"; - hash = "sha256-3cTRewUn9Ykb/BoqOdM7LYTQTAqAuW4w06XkBWhZWrY="; + hash = "sha256-g8CG37sN5KdmZwdAdQS2HL4YPGNIkO3d817PHKcIDeA="; }; vendorHash = "sha256-J9Ox9Yt64PmL2AE+GRdWDHlBtpfmDtxgUbEPaka5JSo="; From 2ba1044b99c9bca36ef549afe349148365096d6c Mon Sep 17 00:00:00 2001 From: emilylange Date: Tue, 24 Jun 2025 22:47:21 +0200 Subject: [PATCH 62/84] chromium,chromedriver: 137.0.7151.119 -> 138.0.7204.49 https://developer.chrome.com/blog/new-in-chrome-138 https://chromereleases.googleblog.com/2025/06/stable-channel-update-for-desktop_24.html This update includes 11 security fixes. CVEs: CVE-2025-6555 CVE-2025-6556 CVE-2025-6557 --- .../networking/browsers/chromium/common.nix | 6 +- .../networking/browsers/chromium/info.json | 263 +++++++++--------- 2 files changed, 138 insertions(+), 131 deletions(-) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index abc4d61c02cd..2fc9e6ee146f 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -566,11 +566,12 @@ let # exact version or even running a newer version. ./patches/chromium-136-nodejs-assert-minimal-version-instead-of-exact-match.patch ] - ++ lib.optionals (chromiumVersionAtLeast "137") [ + ++ lib.optionals (versionRange "137" "138") [ (fetchpatch { # Partial revert of upstream clang+llvm bump revert to fix the following error when building with LLVM < 21: # clang++: error: unknown argument: '-fextend-variable-liveness=none' # https://chromium-review.googlesource.com/c/chromium/src/+/6514242 + # Upstream relanded this in M138+ with . name = "chromium-137-llvm-19.patch"; url = "https://chromium.googlesource.com/chromium/src/+/ddf8f8a465be2779bd826db57f1299ccd2f3aa25^!?format=TEXT"; includes = [ "build/config/compiler/BUILD.gn" ]; @@ -579,11 +580,12 @@ let hash = "sha256-wAR8E4WKMvdkW8DzdKpyNpp4dynIsYAbnJ2MqE8V2o8="; }) ] - ++ lib.optionals (chromiumVersionAtLeast "137") [ + ++ lib.optionals (versionRange "137" "138") [ (fetchpatch { # Backport "Fix build with system libpng" that fixes a typo in core/fxcodec/png/png_decoder.cpp that causes # the build to fail at the final linking step. # https://pdfium-review.googlesource.com/c/pdfium/+/132130 + # Started shipping with M138+. name = "pdfium-Fix-build-with-system-libpng.patch"; url = "https://pdfium.googlesource.com/pdfium.git/+/83f11d630aa1cb6d5ceb292364412f7b0585a201^!?format=TEXT"; extraPrefix = "third_party/pdfium/"; diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index ae3334e23ce0..330623ce8247 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -1,27 +1,27 @@ { "chromium": { - "version": "137.0.7151.119", + "version": "138.0.7204.49", "chromedriver": { - "version": "137.0.7151.120", - "hash_darwin": "sha256-3NECoMlK57ZlCUPra20rJrZcx9FnMWvTXlcdksn8FUc=", - "hash_darwin_aarch64": "sha256-P1trGStKjTD/h+avjAXE5N6nqvAra9RDsSvrR/pTRUA=" + "version": "138.0.7204.50", + "hash_darwin": "sha256-JqEH04dZxqyUKou8QkwtJa0+4AXWPm0p3NJlYM2fnqw=", + "hash_darwin_aarch64": "sha256-WojmEFRIqFDMfay3UA0pzSwH9FRno+nHxzR47x4o7gA=" }, "deps": { "depot_tools": { - "rev": "1fcc527019d786502b02f71b8b764ee674a40953", - "hash": "sha256-7HJyJARZPes5MmKgXd3TV1uRjk0bH/pkPm+F4scg+Tc=" + "rev": "a8900cc0f023d6a662eb66b317e8ddceeb113490", + "hash": "sha256-1avxBlK0WLHTru5wUecbiGpSEYv8Epobsl4EfCaWX9A=" }, "gn": { - "rev": "85cc21e94af590a267c1c7a47020d9b420f8a033", - "hash": "sha256-+nKP2hBUKIqdNfDz1vGggXSdCuttOt0GwyGUQ3Z1ZHI=" + "rev": "ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b", + "hash": "sha256-UB9a7Fr1W0yYld6WbXyRR8dFqWsj/zx4KumDZ5JQKSM=" }, - "npmHash": "sha256-I6MsfAhrLRmgiRJ13LSejfy2N63C3Oug5tOOXA622j4=" + "npmHash": "sha256-8d5VTHutv51libabhxv7SqPRcHfhVmGDSOvTSv013rE=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "e0ac9d12dff5f2d33c935958b06bf1ded7f1c08c", - "hash": "sha256-+3C2n/7bbIOpXGvBrFnSMNlgLVRMoPtOF14CDROVClI=", + "rev": "d2b48fd5f7813ed477a2d68fa232b8178fa4fb1e", + "hash": "sha256-n2jSVXpV0mqdTdLpE+N3yJhutJTOE1fez0BleU0+VSU=", "recompress": true }, "src/third_party/clang-format/script": { @@ -31,28 +31,28 @@ }, "src/third_party/compiler-rt/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/compiler-rt.git", - "rev": "d0e4db9fcea15a392aaada986cbe33658afc0454", - "hash": "sha256-P/uDeqalafY1S7AqZkL1Pz7Jc+iWrkfiACxEtgTRqdU=" + "rev": "57196dd146582915c955f6d388e31aea93220c51", + "hash": "sha256-FVdcKGwRuno3AzS6FUvI8OTj3mBMRfFR2A8GzYcwIU4=" }, "src/third_party/libc++/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git", - "rev": "9d0cba76be7399399d3a499ff3a52c264db3b104", - "hash": "sha256-wpMma142NBqyrSbaReQr5yOYhvQIZ06j6S2EUnXmZ2I=" + "rev": "a01c02c9d4acbdae3b7e8a2f3ee58579a9c29f96", + "hash": "sha256-36ulJk/YTfP5k1sDeA/WQyIO8xaplRKK4cQhfTZdpko=" }, "src/third_party/libc++abi/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git", - "rev": "f2a7f2987f9dcdf8b04c2d8cd4dcb186641a7c3e", - "hash": "sha256-X9cAbyd8ZPSwqOGhPYwIZ6b9E3tVwAuAYZKMgbZQxgk=" + "rev": "9810fb23f6ba666f017c2b67c67de2bcac2b44bd", + "hash": "sha256-DkCvfFjMztFTzKf081XyiefW6tMBSZ1AdzcPzXAVPnk=" }, "src/third_party/libunwind/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git", - "rev": "81e2cb40a70de2b6978e6d8658891ded9a77f7e3", - "hash": "sha256-XdFKn+cGOxA0fHkVMG9UAhCmpML44ocoyHB7XnumX7o=" + "rev": "8575f4ae4fcf8892938bd9766cf1a5c90a0ed04e", + "hash": "sha256-O1S3ijnoVrTHmZDGmgQQe0MVGsSZL7usXAPflGFmMXY=" }, "src/third_party/llvm-libc/src": { "url": "https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git", - "rev": "cc59264cf9b2ecab0cfc8b51f6f1878372416d36", - "hash": "sha256-wQMUL5uAaR8sA1V0FHTZv3jVVaF3NxiHfNnlMq3YImY=" + "rev": "9c3ae3120fe83b998d0498dcc9ad3a56c29fad0c", + "hash": "sha256-BsoHIvdqgYzBUkd23++enEHIhq5GeVWrWdVdhXrHh9A=" }, "src/chrome/test/data/perf/canvas_bench": { "url": "https://chromium.googlesource.com/chromium/canvas_bench.git", @@ -71,8 +71,8 @@ }, "src/docs/website": { "url": "https://chromium.googlesource.com/website.git", - "rev": "e157e12d99cfc729a970b474344673c44e2d2c9c", - "hash": "sha256-fowwJbXOR4OIN4+1bJEWv9VP/TLHb9+H1Vt3apVLwkk=" + "rev": "d21d90790d8ea421b317c4cb52a0d94133422796", + "hash": "sha256-X9GIZkPokZ8ojNVDScDQL8D0tJGsaQMg8ncenuBzFHk=" }, "src/media/cdm/api": { "url": "https://chromium.googlesource.com/chromium/cdm.git", @@ -81,8 +81,8 @@ }, "src/net/third_party/quiche/src": { "url": "https://quiche.googlesource.com/quiche.git", - "rev": "faec206356fe384c522f34982ae2e92f2f111242", - "hash": "sha256-8SuRhYAD3RWMiqD/a8usrRnYKd6prAK5jdwJVXRI+Q0=" + "rev": "3b42119c3e4be5d4720c3c1b384106fa43e9b5e3", + "hash": "sha256-UYyBMjv6ATIwBXYngGof85pBCHXb/jYXetVo0oBrHf8=" }, "src/testing/libfuzzer/fuzzers/wasm_corpus": { "url": "https://chromium.googlesource.com/v8/fuzzer_wasm_corpus.git", @@ -96,8 +96,8 @@ }, "src/third_party/angle": { "url": "https://chromium.googlesource.com/angle/angle.git", - "rev": "df9c59dcacff7d186d00e3263a1aa68f8059137c", - "hash": "sha256-ybi/DwOQ10I+MK9buKpdNcUlFAI9RA3NfyoB3Udpfyo=" + "rev": "df15136b959fc60c230265f75ee7fc75c96e8250", + "hash": "sha256-b4bGxhtrsfmVdJo/5QT4/mtQ6hqxmfpmcrieqaT9/ls=" }, "src/third_party/angle/third_party/glmark2/src": { "url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2", @@ -111,8 +111,8 @@ }, "src/third_party/angle/third_party/VK-GL-CTS/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS", - "rev": "dd7e71367795e2dc4d46effda5378f22e9000d16", - "hash": "sha256-EZoSoDLFWRR2xkHOKNaNVQvubFp8in0p7/CHN8CFaVI=" + "rev": "c9d2e24d1a6da00165a0b5908ea4ba05c2e5f0b2", + "hash": "sha256-EFhi4dELfyq6FcB+YFlzKfoXz44i5ieFK1KUlFzqE1I=" }, "src/third_party/anonymous_tokens/src": { "url": "https://chromium.googlesource.com/external/github.com/google/anonymous-tokens.git", @@ -131,8 +131,8 @@ }, "src/third_party/dawn": { "url": "https://dawn.googlesource.com/dawn.git", - "rev": "fbe707f88ccabca01031e47bf165bd9d499878dd", - "hash": "sha256-8tmDR3l7eHWUfVRU90Kg76N/moU6Lb5b3FySJOckl8U=" + "rev": "86772f20cca54b46f62b65ece1ef61224aef09db", + "hash": "sha256-N9DVbQE56WWBmJ/PJlYhU+pr8I+PFf/7FzMLCNqx3hg=" }, "src/third_party/dawn/third_party/glfw": { "url": "https://chromium.googlesource.com/external/github.com/glfw/glfw", @@ -141,8 +141,8 @@ }, "src/third_party/dawn/third_party/dxc": { "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectXShaderCompiler", - "rev": "8209d53f0ef0257e5b8c78d22057086403946cca", - "hash": "sha256-2yM8Fct7Ru8ZSFr+Qm1Bv52K2/geAwmOpWc/X7yxLQY=" + "rev": "d72e2b1a15d22fc825e2f3c939f1baac43281ae9", + "hash": "sha256-0LfNcR1FXy5GcL2yHHA6A7EJIWtZU1U/2xSq/eysUa0=" }, "src/third_party/dawn/third_party/dxheaders": { "url": "https://chromium.googlesource.com/external/github.com/microsoft/DirectX-Headers", @@ -161,8 +161,13 @@ }, "src/third_party/dawn/third_party/webgpu-cts": { "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts", - "rev": "3df76734dc695c4d1c51276b5d9eb63078362972", - "hash": "sha256-4jCsCt2rcUpUk2xeL3tZx/jTnuJ+COG+xsDtR+sK1oQ=" + "rev": "905c7cbfeaac1cf3feb4c6056dd6f3dbaa06b074", + "hash": "sha256-eMDb0nG9HDiesd8KPajbMej8JTll4JkIf17KMnKvW1s=" + }, + "src/third_party/dawn/third_party/webgpu-headers/src": { + "url": "https://chromium.googlesource.com/external/github.com/webgpu-native/webgpu-headers", + "rev": "60cd9020309b87a30cd7240aad32accd24262a5e", + "hash": "sha256-+Kf4yPBhM6y2kYTZud9vCavT/BBOzDBsph5+/bUuwkM=" }, "src/third_party/highway/src": { "url": "https://chromium.googlesource.com/external/github.com/google/highway.git", @@ -176,13 +181,13 @@ }, "src/third_party/boringssl/src": { "url": "https://boringssl.googlesource.com/boringssl.git", - "rev": "918cf66ed841930fe1554ae8d78974b95e989596", - "hash": "sha256-gzcXse/emv9JBMiInUV5KTeyMQ0igUdFpzUJR4vCUu4=" + "rev": "9295969e1dad2c31d0d99481734c1c68dcbc6403", + "hash": "sha256-+Gs+efB1ZizjMYRSRTQrMDPZsDC+dgNJ9+yHXkzm/ZM=" }, "src/third_party/breakpad/breakpad": { "url": "https://chromium.googlesource.com/breakpad/breakpad.git", - "rev": "232a723f5096ab02d53d87931efa485fa77d3b03", - "hash": "sha256-0ynZuxIqBIpNkfD3Y9XdPFQr7HeQcsUO3lhnqvH+k8c=" + "rev": "2625edb085169e92cf036c236ac79ab594a7b1cc", + "hash": "sha256-+Z7KphmQYCeN0aJkqyMrJ4tIi3BhqN16KoPNLb/bMGo=" }, "src/third_party/cast_core/public/src": { "url": "https://chromium.googlesource.com/cast_core/public", @@ -191,8 +196,8 @@ }, "src/third_party/catapult": { "url": "https://chromium.googlesource.com/catapult.git", - "rev": "000f47cfa393d7f9557025a252862e2a61a60d44", - "hash": "sha256-FIJZE1Qu1MLZA4qxB68k1NjhgSbFTjf57YF85JicVZw=" + "rev": "5477c6dfde1132b685c73edc16e1bc71449a691d", + "hash": "sha256-xHe9WoAq1FElMSnu5mlEzrH+EzKiwWXeXMCH69KL5a0=" }, "src/third_party/ced/src": { "url": "https://chromium.googlesource.com/external/github.com/google/compact_enc_det.git", @@ -226,23 +231,23 @@ }, "src/third_party/cros_system_api": { "url": "https://chromium.googlesource.com/chromiumos/platform2/system_api.git", - "rev": "68114875ad35b573034a2ab1f5cdf3dbb0e59468", - "hash": "sha256-cGpteAnjGcxJUcrdLRFfQN7ruTEdNvNCbOH6EC+a39s=" + "rev": "fe88d943e5f328b34e38b91296db39650f6ec6f3", + "hash": "sha256-WlSxI1J+HjAD2UaQjW3oOQpZDnMn/ROpTLYTP4efTi4=" }, "src/third_party/crossbench": { "url": "https://chromium.googlesource.com/crossbench.git", - "rev": "d91cc488cd651b00009e5d6c70f222362598bec9", - "hash": "sha256-o/sw1P+mZOSb6XIVFivC02hTPu++x+xJy2SRP2I9yGE=" + "rev": "feff46a3cd49eb39667205cdfa2b490bcffc9ba1", + "hash": "sha256-YomhvLtDFkGWyivN81gRxtOh9U32Zt6+/obTwccJuRo=" }, "src/third_party/depot_tools": { "url": "https://chromium.googlesource.com/chromium/tools/depot_tools.git", - "rev": "1fcc527019d786502b02f71b8b764ee674a40953", - "hash": "sha256-7HJyJARZPes5MmKgXd3TV1uRjk0bH/pkPm+F4scg+Tc=" + "rev": "a8900cc0f023d6a662eb66b317e8ddceeb113490", + "hash": "sha256-1avxBlK0WLHTru5wUecbiGpSEYv8Epobsl4EfCaWX9A=" }, "src/third_party/devtools-frontend/src": { "url": "https://chromium.googlesource.com/devtools/devtools-frontend", - "rev": "afc8e923a37090445d6d97ca23fea49d9eb7b9cf", - "hash": "sha256-io0J6tt0RXumjjSklZyJpALV5IikPbROd40xcrX4iBs=" + "rev": "f8dfe8b36e516cef8a5a169e88d16480d8abdc68", + "hash": "sha256-7ygnGBAeiLxwbTx5s7LRs9+ZOe06tr8VFcSY5cVHnS4=" }, "src/third_party/dom_distiller_js/dist": { "url": "https://chromium.googlesource.com/chromium/dom-distiller/dist.git", @@ -256,8 +261,8 @@ }, "src/third_party/eigen3/src": { "url": "https://chromium.googlesource.com/external/gitlab.com/libeigen/eigen.git", - "rev": "464c1d097891a1462ab28bf8bb763c1683883892", - "hash": "sha256-OJyfUyiR8PFSaWltx6Ig0RCB+LxPxrPtc0GUfu2dKrk=" + "rev": "ae3aba99db4c829b4cc4d9fdd54321dedd814dc4", + "hash": "sha256-dWWjpQ6M7udOQqUV6P9go3R3O4J2XYpvkngJjRDY4v8=" }, "src/third_party/farmhash/src": { "url": "https://chromium.googlesource.com/external/github.com/google/farmhash.git", @@ -271,8 +276,8 @@ }, "src/third_party/ffmpeg": { "url": "https://chromium.googlesource.com/chromium/third_party/ffmpeg.git", - "rev": "01f23648c6b84de6c0f717fa4e1816f53b9ee72e", - "hash": "sha256-hNzQZQxaa2Wtl7GWWF852cFmmXy4pc15Pp0d59TTfnI=" + "rev": "dcdd0fa51b65a0b1688ff6b8f0cc81908f09ded2", + "hash": "sha256-noc3iZ1yCEgkwWyznx48rXC8JuKxla9QgC/CIjRL/y8=" }, "src/third_party/flac": { "url": "https://chromium.googlesource.com/chromium/deps/flac.git", @@ -286,8 +291,8 @@ }, "src/third_party/fontconfig/src": { "url": "https://chromium.googlesource.com/external/fontconfig.git", - "rev": "14d466b30a8ab4a9d789977ed94f2c30e7209267", - "hash": "sha256-W5WIgC6A52kY4fNkbsDEa0o+dfd97Rl5NKfgnIRpI00=" + "rev": "8cf0ce700a8abe0d97ace4bf7efc7f9534b729ba", + "hash": "sha256-Kz7KY+evfOciKFHIBLG1JxIRgHRTzuBLgxXHv3m/Y1Y=" }, "src/third_party/fp16/src": { "url": "https://chromium.googlesource.com/external/github.com/Maratyszcza/FP16.git", @@ -301,8 +306,8 @@ }, "src/third_party/freetype/src": { "url": "https://chromium.googlesource.com/chromium/src/third_party/freetype2.git", - "rev": "2d1abd3bbb4d2396ed63b3e5accd66724cf62307", - "hash": "sha256-MAVHzILj9f+/HfVjZXyJkSQM3WBwzg7IDpAwiYHfA88=" + "rev": "738905b34bd1f5a8ff51bd2bc8e38a2d8be9bfd6", + "hash": "sha256-j5FPldhIOzsOsFBAMyNh44FTeOD8Gm3scoi3B3hhgKQ=" }, "src/third_party/freetype-testing/src": { "url": "https://chromium.googlesource.com/external/github.com/freetype/freetype2-testing.git", @@ -351,8 +356,8 @@ }, "src/third_party/googletest/src": { "url": "https://chromium.googlesource.com/external/github.com/google/googletest.git", - "rev": "cd430b47a54841ec45d64d2377d7cabaf0eba610", - "hash": "sha256-QT9PQ9bF+eCPfRLkcHpH4jc0UZfGPc98fHf8QDV5bZg=" + "rev": "09ffd0015395354774c059a17d9f5bee36177ff9", + "hash": "sha256-md/jPkFrs/0p0BYGyquh57Zxh+1dKaK26PDtUN1+Ce0=" }, "src/third_party/hunspell_dictionaries": { "url": "https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git", @@ -361,8 +366,8 @@ }, "src/third_party/icu": { "url": "https://chromium.googlesource.com/chromium/deps/icu.git", - "rev": "4c8cc4b365a505ce35be1e0bd488476c5f79805d", - "hash": "sha256-eGI/6wk6IOUPvX7pRTm4VJk1CqkkxalTu84L36i/D6k=" + "rev": "b929596baebf0ab4ac7ec07f38365db4c50a559d", + "hash": "sha256-/T7uyzwTCDaamLwSvutvbn6BJuoG1RqeR+xhXI5jmJw=" }, "src/third_party/jsoncpp/source": { "url": "https://chromium.googlesource.com/external/github.com/open-source-parsers/jsoncpp.git", @@ -381,8 +386,8 @@ }, "src/third_party/fuzztest/src": { "url": "https://chromium.googlesource.com/external/github.com/google/fuzztest.git", - "rev": "b10387fdbbca18192f85eaa5323a59f44bf9c468", - "hash": "sha256-L2QG0pUmGjGdtdlivxYfxSqO9YaVHpIT6lvJwBMTxMw=" + "rev": "f03aafb7516050ea73f617bf969f03eac641aefc", + "hash": "sha256-MHli8sadgC3OMesBGhkjPM/yW49KFOtdFuBII1bcFas=" }, "src/third_party/domato/src": { "url": "https://chromium.googlesource.com/external/github.com/googleprojectzero/domato.git", @@ -396,18 +401,18 @@ }, "src/third_party/libaom/source/libaom": { "url": "https://aomedia.googlesource.com/aom.git", - "rev": "719f60edc51b6141a2434bf1b5110c2fb075b246", - "hash": "sha256-W62uXVbQiq6Ef3bar2NsCXJoz5KKUK8Y/9n2vK7Vf3Q=" + "rev": "2cca4aba034f99842c2e6cdc173f83801d289764", + "hash": "sha256-pyLKjLG83Jlx6I+0M8Ah94ku4NIFcrHNYswfVHMvdrc=" }, "src/third_party/crabbyavif/src": { "url": "https://chromium.googlesource.com/external/github.com/webmproject/CrabbyAvif.git", - "rev": "02d0fad2c512380b7270d6e704c86521075d7d54", - "hash": "sha256-T9ibgp0glfY5EhwMiwlvXKZat0InDu7PoqE1H8/lS5A=" + "rev": "eb883022a5886739f07f0241f918e2be97d65ff0", + "hash": "sha256-IxtMAqN3O/s1GrVKzcge9cQ+DVtJtFvHYvsfjmflwVQ=" }, "src/third_party/nearby/src": { "url": "https://chromium.googlesource.com/external/github.com/google/nearby-connections.git", - "rev": "e71de0e0c312caf8d2fa22f132619c6a68496444", - "hash": "sha256-dzJtRhoPA1FWeu0xjd7kJ1Q2nT5gIkKpIgQmywsRlPY=" + "rev": "959322177f40f2e0f1ecacd8a1aea2805e67b62b", + "hash": "sha256-qFLs3gMV0v6c0gjyn29D6pRxSAKumpzAWVgHabPFWRw=" }, "src/third_party/securemessage/src": { "url": "https://chromium.googlesource.com/external/github.com/google/securemessage.git", @@ -416,8 +421,8 @@ }, "src/third_party/jetstream/main": { "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git", - "rev": "0976ddeae0863ef5fb3f9ad09906224b0989f9ad", - "hash": "sha256-NyXGd7SwsECGBJ2qodGYB3os+UBgIOg/I8mnrsZJuTg=" + "rev": "539ab943598b505832a25a2222aa8957f1a20d6f", + "hash": "sha256-mE6IoHpLV0LUWEeeiWycXtOhIbhkPvVdLvsPSyv4xPk=" }, "src/third_party/jetstream/v2.2": { "url": "https://chromium.googlesource.com/external/github.com/WebKit/JetStream.git", @@ -511,13 +516,13 @@ }, "src/third_party/libvpx/source/libvpx": { "url": "https://chromium.googlesource.com/webm/libvpx.git", - "rev": "40ec928b3fadcf8edd836445bb5842a11aeb7a2d", - "hash": "sha256-aUHvIv78KTiyN/cOYNuhW4UCOD55s8l8VLu4oP0Pk1s=" + "rev": "b84ca9b63730e7d4563573a56a66317eb0087ebf", + "hash": "sha256-SFdYF8vnwNHQbZ1N/ZHr4kxfi9o+BAtuqbak80m9uP4=" }, "src/third_party/libwebm/source": { "url": "https://chromium.googlesource.com/webm/libwebm.git", - "rev": "e79a98159fdf6d1aa37b3500e32c6410a2cbe268", - "hash": "sha256-t7An0vYzukel0poLaU4t2k78k3tTR5didbcV47cGWxQ=" + "rev": "c4522d6cd68582d66f1adfd24debfa9bee202afa", + "hash": "sha256-tfji0yPV7v/DETViEp2T7AO6P5xCjPYScTlV3eWFV0w=" }, "src/third_party/libwebp/src": { "url": "https://chromium.googlesource.com/webm/libwebp.git", @@ -526,8 +531,8 @@ }, "src/third_party/libyuv": { "url": "https://chromium.googlesource.com/libyuv/libyuv.git", - "rev": "9f9b5cf660dcfa0d3fdee41cf4ffbe4bb6e95114", - "hash": "sha256-OYmsMPz7nJwkVSpsDW7SbqrCU5raC1k3Mh/UkonCujM=" + "rev": "61bdaee13a701d2b52c6dc943ccc5c888077a591", + "hash": "sha256-J9Wi3aCc6OjtQCP8JnrY7PYrY587dKLaa1KGAMWmE0c=" }, "src/third_party/lss": { "url": "https://chromium.googlesource.com/linux-syscall-support.git", @@ -561,13 +566,13 @@ }, "src/third_party/openscreen/src": { "url": "https://chromium.googlesource.com/openscreen", - "rev": "40fe10467c27b6536e5d3241e5881b6e9f243216", - "hash": "sha256-fKXCuGzNVcN8l/2VNR5c9lwUjmSDb7MuEAVF5h8VXQU=" + "rev": "8cc5a0e8f6695263d44206cf5930641979cb3179", + "hash": "sha256-YlcvSDSCHHqDA43+hd5hpajZrIGqpn3KxhMJD8Wf+rs=" }, "src/third_party/openscreen/src/buildtools": { "url": "https://chromium.googlesource.com/chromium/src/buildtools", - "rev": "00459762409cb29cecf398a23cdb0cae918b7515", - "hash": "sha256-QXGJRGyyuN0EPDAF7CAzcTSbjHkz8FRjhqd1JEFF/1o=" + "rev": "077a66f30fcf281b066fafb6dfc60818c238efb6", + "hash": "sha256-WnbgaCzZ/BJli6M60kP9e4mVPFDx0yu3eCac5wmQ7iM=" }, "src/third_party/openscreen/src/third_party/tinycbor/src": { "url": "https://chromium.googlesource.com/external/github.com/intel/tinycbor.git", @@ -576,23 +581,23 @@ }, "src/third_party/pdfium": { "url": "https://pdfium.googlesource.com/pdfium.git", - "rev": "c82c611f105c0df064cc8c76363578caf9eafb75", - "hash": "sha256-kcrWcvbbGgQTfGypJ2EaLunYtSipJJRAin2jHunZoCU=" + "rev": "cf433ae5520d061db56391155b59b34e67484f39", + "hash": "sha256-FF0iXahVfqbi4OOdH9PPgCTAIQT/q0nlT/H70pubCMQ=" }, "src/third_party/perfetto": { "url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git", - "rev": "f35ae1939989c58c29df43f9c2d8610f5b932715", - "hash": "sha256-SyYTZnNar6F6/k6PGrkRan3l9hAikEVRciDQQaR7Jvs=" + "rev": "dd35b295cd359ba094404218414955f961a0d6ae", + "hash": "sha256-kzVsti2tygOMgT61TmCz26AByMd3gIXA6xz8RE0iCz4=" }, "src/third_party/protobuf-javascript/src": { "url": "https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf-javascript", - "rev": "eb785a9363664a402b6336dfe96aad27fb33ffa8", - "hash": "sha256-zq86SrDASl6aYPFPijRZp03hJqXUFz2Al/KkiNq7i0M=" + "rev": "28bf5df73ef2f345a936d9cc95d64ba8ed426a53", + "hash": "sha256-c/aC+LZQtedL5oouUXw2eTF6xD7LN3J3C0q3D0wl+W0=" }, "src/third_party/pthreadpool/src": { "url": "https://chromium.googlesource.com/external/github.com/google/pthreadpool.git", - "rev": "290ee6fff0c36614702d6b297c148e3fa08e056a", - "hash": "sha256-jRHF7vZPmh70jNFVukfWzVnA2dBLSDSnMWVyZ9e08n4=" + "rev": "dcc9f28589066af0dbd4555579281230abbf74dd", + "hash": "sha256-qogacGPNy6SKQaK8CZvGC8YZbVjhDTXuhDqGopB0Eps=" }, "src/third_party/pyelftools": { "url": "https://chromium.googlesource.com/chromiumos/third_party/pyelftools.git", @@ -621,13 +626,13 @@ }, "src/third_party/search_engines_data/resources": { "url": "https://chromium.googlesource.com/external/search_engines_data.git", - "rev": "be408bdc2c1501ef25206145a49dcebb98db34b5", - "hash": "sha256-XlAE782PsEysPVIBM/Q8VdE9XnvoYUVaeMmUUoYFgvM=" + "rev": "09fd22f3a4fb77ab03b7734e0c03ff7d7f97ef88", + "hash": "sha256-x7zGPqha12Og/AjQp1mkO0MNydM4xXvIcaapNziW0Kw=" }, "src/third_party/skia": { "url": "https://skia.googlesource.com/skia.git", - "rev": "0dfd95a49aed617f242c8b06dd5b255d1cb07776", - "hash": "sha256-HBqkqEoyQo3KuRCwP5NW9kuY9maaBYSpjA1lcBdFjxk=" + "rev": "a46d5732d9fca93eaec23e502e2eef814b707e6b", + "hash": "sha256-k0vE2K9KfeYsTVZchvKEA8M7GJQcekbuO5wHJeycBZo=" }, "src/third_party/smhasher/src": { "url": "https://chromium.googlesource.com/external/smhasher.git", @@ -641,13 +646,13 @@ }, "src/third_party/sqlite/src": { "url": "https://chromium.googlesource.com/chromium/deps/sqlite.git", - "rev": "8a22b25ad7244abaf07e372cc6dc97e041d663a9", - "hash": "sha256-1vAGAF3idxgHGaqb5gT5k3KIGC2H3gqC3RTVU2ZRf4A=" + "rev": "0a1397d274701c5d39e661e948160da2b9a8db1e", + "hash": "sha256-jqelU2bFZ4XwI5dpkusvgUobmRyYo/41ZKqbEmOdpis=" }, "src/third_party/swiftshader": { "url": "https://swiftshader.googlesource.com/SwiftShader.git", - "rev": "7905fa19e456df5aa8e2233a7ec5832c9c6c287b", - "hash": "sha256-Wi8mttxM1fuLqrL2q6qPnpmyAfmDqJGA8Wub+yexFLA=" + "rev": "a8133cbb3c8969e3c1e6b3cea2c02ec8312ef9ca", + "hash": "sha256-Fd6T9zFJVPJaF2sbBy+uK0Ia0C6AIZsDbNvPSkbuTJM=" }, "src/third_party/text-fragments-polyfill/src": { "url": "https://chromium.googlesource.com/external/github.com/GoogleChromeLabs/text-fragments-polyfill.git", @@ -656,18 +661,18 @@ }, "src/third_party/tflite/src": { "url": "https://chromium.googlesource.com/external/github.com/tensorflow/tensorflow.git", - "rev": "42d6877b1aa1cf324eb03ccf9b13511400341deb", - "hash": "sha256-KummGT7CUoGd3lCGXvtSFcFD1FhSlJXDcEi1WKUza70=" + "rev": "151774faba661a5985a8264653f4457c70a56dea", + "hash": "sha256-qpwF2+/dw1u24O5+4bW74R43AgGN//NZwzEmlkyHlr0=" }, "src/third_party/vulkan-deps": { "url": "https://chromium.googlesource.com/vulkan-deps", - "rev": "96793fb0ff6fb5d4328cc6f71d84f5cb2d835daf", - "hash": "sha256-rAtsw8JV8EwrNzjK5p7JbWQa6fHfpByvZcP71hHC8uM=" + "rev": "5912cbdd295c2bacb5798432a7b1cac9d20c0725", + "hash": "sha256-kIj8sncNg6dJzg1fgORev/o164G3kMXCGHzlzb09n0U=" }, "src/third_party/glslang/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang", - "rev": "fc9889c889561c5882e83819dcaffef5ed45529b", - "hash": "sha256-HwFP4KJuA+BMQVvBWV0BCRj9U5I3CLEU+5bBtde2f6w=" + "rev": "93231001597dad1149a5d035af30eda50b9e6b6c", + "hash": "sha256-0PocroQj02mdpmFVXr6XB7mVVNzQOaBXm/2GNacZLF0=" }, "src/third_party/spirv-cross/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross", @@ -676,38 +681,38 @@ }, "src/third_party/spirv-headers/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers", - "rev": "bab63ff679c41eb75fc67dac76e1dc44426101e1", - "hash": "sha256-hi4vCwdCnwuYodUYq75niCZt2t9lERQH6529/R+7nH8=" + "rev": "c9aad99f9276817f18f72a4696239237c83cb775", + "hash": "sha256-/KfUxWDczLQ/0DOiFC4Z66o+gtoF/7vgvAvKyv9Z9OA=" }, "src/third_party/spirv-tools/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools", - "rev": "8e9165a3d162967a424dcf2ff645a98b50381cce", - "hash": "sha256-GsoaeO3FMzMtMStg1Wp0KUHU3Xxmmr7t3lDyu0ervNk=" + "rev": "01021466b5e71deaac9054f56082566c782bfd51", + "hash": "sha256-04CWBDu4Q+H7EtVTealNyGx0Hml7OjIf0FfK0IuzisY=" }, "src/third_party/vulkan-headers/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers", - "rev": "e2e53a724677f6eba8ff0ce1ccb64ee321785cbd", - "hash": "sha256-lIuJ50zi9UIMrP/FePI8jHFhJ5LsKhthDY4gIHeZNpo=" + "rev": "75ad707a587e1469fb53a901b9b68fe9f6fbc11f", + "hash": "sha256-vB49bFCx9VVEtpwIFcxdqYT+Pk4DgjoPz4rzPfmuRps=" }, "src/third_party/vulkan-loader/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader", - "rev": "fb78607414e154c7a5c01b23177ba719c8a44909", - "hash": "sha256-CeIjyW90Ri0MvhyFfYgss5Rjh5fHKhQf7CgBEcB/nPk=" + "rev": "c913466fdc5004584890f89ff91121bdb2ffd4ba", + "hash": "sha256-D5S1xQbsJ4Ov+3u84Mxj3L/3elyW78jpKRbYo8FpD28=" }, "src/third_party/vulkan-tools/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools", - "rev": "0b8196724e4ad28cc7459b82a9b75f252c08cb3e", - "hash": "sha256-oL4lyUH26eO6eJy7EQmuXdt4oy3eQ65fribfMSOZV+8=" + "rev": "60b640cb931814fcc6dabe4fc61f4738c56579f6", + "hash": "sha256-snLYtiXK1eBZYsc7X18/wk4TnhmkSqquWxyjmw9IF2A=" }, "src/third_party/vulkan-utility-libraries/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries", - "rev": "4e246c56ec5afb5ad66b9b04374d39ac04675c8e", - "hash": "sha256-MmC4UVa9P/0h7r8IBp1LhP9EztwyZv/ASWKKj8Gk1T8=" + "rev": "49ac28931f28bffaa3cd73dc4ad997284d574962", + "hash": "sha256-2mi5gtacSDxtZB8a3oGZqgLhwntSLXlEzDq6W14RHp4=" }, "src/third_party/vulkan-validation-layers/src": { "url": "https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers", - "rev": "cea6ec1cdd37494c1f0fc5619c6c356ac33372fb", - "hash": "sha256-iXQZ6Qpe0li+QeThxMUCn45OufZ8W/qJcejpMb4/gWc=" + "rev": "f7ceb1d01a292846db77ec87786be84d6fd568d9", + "hash": "sha256-K0KZ8wXTCVRBBN9AWy63ukmE6QkQHKcRgo+YluOhjyc=" }, "src/third_party/vulkan_memory_allocator": { "url": "https://chromium.googlesource.com/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git", @@ -751,18 +756,18 @@ }, "src/third_party/webgpu-cts/src": { "url": "https://chromium.googlesource.com/external/github.com/gpuweb/cts.git", - "rev": "168536ad91bff176bbe31ae692d97f8bfe9fb86d", - "hash": "sha256-HB16HM4Gj+2F26tyN393VmHbGxvKOZ+M949059odN/4=" + "rev": "905c7cbfeaac1cf3feb4c6056dd6f3dbaa06b074", + "hash": "sha256-eMDb0nG9HDiesd8KPajbMej8JTll4JkIf17KMnKvW1s=" }, "src/third_party/webpagereplay": { "url": "https://chromium.googlesource.com/webpagereplay.git", - "rev": "2c5049abfc2cf36ece82f7f84ebdcb786659eaf7", - "hash": "sha256-lMqCZ27TJ4aXKWDuN22VtceXh0jNH4Ll1234xCbEOro=" + "rev": "18172a359f6dab8e3f70b6c5c8c7c55d3e97537a", + "hash": "sha256-qJnO3fFJhaQA77v1lTJ4B7cbXivquTcSvx/m+OcI3No=" }, "src/third_party/webrtc": { "url": "https://webrtc.googlesource.com/src.git", - "rev": "cec4daea7ed5da94fc38d790bd12694c86865447", - "hash": "sha256-mxRckkiBIpQp2Qxj6fcer3jDftp3wlg+aO4BoUHhyiY=" + "rev": "e4445e46a910eb407571ec0b0b8b7043562678cf", + "hash": "sha256-72NbtdYbyMxSGULvOGsZqLj4kvT79pu+TKcnEmcj/Pc=" }, "src/third_party/wuffs/src": { "url": "https://skia.googlesource.com/external/github.com/google/wuffs-mirror-release-c.git", @@ -781,18 +786,18 @@ }, "src/third_party/xnnpack/src": { "url": "https://chromium.googlesource.com/external/github.com/google/XNNPACK.git", - "rev": "474d7e58d4b8f4bd1a98ee74bc57858769f7d925", - "hash": "sha256-UO+nOh7R+3xTSxF2u8dIrv7qn/QmhnDr2J5Ciumj93M=" + "rev": "f82ad65ca52cb4d39b73088468a5fe00f56fb47c", + "hash": "sha256-aavq+i8EpQmIMPaym6JxwBFjbpqKtHshXUkdBIXDtpw=" }, "src/third_party/zstd/src": { "url": "https://chromium.googlesource.com/external/github.com/facebook/zstd.git", - "rev": "d654fca78690fa15cceb8058ac47454d914a0e63", - "hash": "sha256-Ginvak0y1CjURT3mQZzdLn3MW9vXxC7T0KLsM6SHDV0=" + "rev": "f9938c217da17ec3e9dcd2a2d99c5cf39536aeb9", + "hash": "sha256-emmJF7XLq5CxXFd0KUrtUtw1YGOHDSiz39vtgVoEPd0=" }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "075234cf3d7622d9d588a6f748fc4501aa23080c", - "hash": "sha256-wrLxRuJ3rq1yC0PIUGPsuDB/YNee1x3J/i6ZSLk70HM=" + "rev": "0ea9b0813581826a94b45324e746f9ab57f0f843", + "hash": "sha256-jGx1jafKyh9BrrJwWKU78sKlwkX9KYHzhggx6TzRel4=" } } }, From 82dbe793af379868bfef71378a8c20695ce031d2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 24 Jun 2025 20:54:11 +0000 Subject: [PATCH 63/84] postgresqlPackages.h3-pg: 4.2.2 -> 4.2.3 --- pkgs/servers/sql/postgresql/ext/h3-pg.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/h3-pg.nix b/pkgs/servers/sql/postgresql/ext/h3-pg.nix index 3defcde5699f..69e67b2e339e 100644 --- a/pkgs/servers/sql/postgresql/ext/h3-pg.nix +++ b/pkgs/servers/sql/postgresql/ext/h3-pg.nix @@ -11,13 +11,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "h3-pg"; - version = "4.2.2"; + version = "4.2.3"; src = fetchFromGitHub { owner = "zachasme"; repo = "h3-pg"; tag = "v${finalAttrs.version}"; - hash = "sha256-2xp9gssPMTroLT/1Me0VWvtIPyouIk9MW0Rp13uYBEw="; + hash = "sha256-kTh0Y0C2pNB5Ul1rp77ets/5VeU1zw1WasGHkOaDMh8="; }; postPatch = From f1dc4ca736b8a8f8a81a63df892dbcb7c3e5475f Mon Sep 17 00:00:00 2001 From: Armin Mahdilou Date: Tue, 24 Jun 2025 23:29:31 +0200 Subject: [PATCH 64/84] winbox: add UDP port range Wine needs to listen to UDP ports 40k to 50k. Winbox can use these ports to discover and connect. Signed-off-by: Armin Mahdilou --- nixos/modules/programs/winbox.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/modules/programs/winbox.nix b/nixos/modules/programs/winbox.nix index d4be0a08d871..e0643030166b 100644 --- a/nixos/modules/programs/winbox.nix +++ b/nixos/modules/programs/winbox.nix @@ -24,6 +24,14 @@ in config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; - networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 5678 ]; + networking.firewall = lib.mkIf cfg.openFirewall { + allowedUDPPorts = [ 5678 ]; + allowedUDPPortRanges = [ + { + from = 40000; + to = 50000; + } + ]; + }; }; } From c96604fa5f91ea0870f4ae387fb06d11b4e0d9a0 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Tue, 24 Jun 2025 22:38:36 +0200 Subject: [PATCH 65/84] =?UTF-8?q?ocamlPackages.awa:=200.5.1=20=E2=86=92=20?= =?UTF-8?q?0.5.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/development/ocaml-modules/awa/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix index 5f563725ed9b..236661b518a0 100644 --- a/pkgs/development/ocaml-modules/awa/default.nix +++ b/pkgs/development/ocaml-modules/awa/default.nix @@ -16,17 +16,16 @@ cmdliner, base64, zarith, + mirage-mtime, }: buildDunePackage rec { pname = "awa"; - version = "0.5.1"; - - minimalOCamlVersion = "4.10"; + version = "0.5.2"; src = fetchurl { url = "https://github.com/mirage/awa-ssh/releases/download/v${version}/awa-${version}.tbz"; - hash = "sha256-bd6vBgUwJh1MUlrgbdbBVTZMd3gcJGIX8EEJ5872n14="; + hash = "sha256-64gloekVN0YsBwUodrJc6QaNU3PGKMIZMPJWvBfzaj0="; }; propagatedBuildInputs = [ @@ -48,6 +47,7 @@ buildDunePackage rec { cstruct-unix cmdliner fmt + mirage-mtime ]; meta = with lib; { From 643d10d7321d2c55ab7381660d747d0ee80c0e05 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Jun 2025 00:45:49 +0000 Subject: [PATCH 66/84] confy: 0.8.0 -> 0.8.1 --- pkgs/by-name/co/confy/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/co/confy/package.nix b/pkgs/by-name/co/confy/package.nix index 1f2a8ab4f067..46a658e3db5d 100644 --- a/pkgs/by-name/co/confy/package.nix +++ b/pkgs/by-name/co/confy/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "confy"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromSourcehut { owner = "~fabrixxm"; repo = "confy"; rev = finalAttrs.version; - hash = "sha256-lQZ9joLK6w+sIjCVOEHstnnQomUl2E4F8FXCZukMUkI="; + hash = "sha256-rkVem9bPjp68Pk8fVPMDZLFFQsqeeRsynWciCk6xWhU="; }; nativeBuildInputs = [ From ea4db2c55af5c98ed0452fe2b80a752a38d0285d Mon Sep 17 00:00:00 2001 From: botnk Date: Wed, 25 Jun 2025 02:01:24 +0000 Subject: [PATCH 67/84] zed-editor: 0.191.7 -> 0.191.9 Changelog: https://github.com/zed-industries/zed/releases/tag/v0.191.9 --- pkgs/by-name/ze/zed-editor/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 9378824b7d87..95d0c46c1972 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -99,7 +99,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.191.7"; + version = "0.191.9"; outputs = [ "out" ] @@ -111,7 +111,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-Kx9VolPqKR0ML7F7ITnp5GPT4ULJvmTsRHKgkKZPGwQ="; + hash = "sha256-QdRksW2T8gzyPhqd4jIUfuVmcXh3j7yIah5TGqHNxNM="; }; patches = [ @@ -138,7 +138,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; useFetchCargoVendor = true; - cargoHash = "sha256-MMQYbhv/6s+9zxP9E5bcCDS9TUYSbapkX5sklVpNHnI="; + cargoHash = "sha256-Cvj2fit1nxgbxOLK7wUdqkLJpECVB5uwUKyWmjNFygU="; nativeBuildInputs = [ From d052721d00ce5d0469c47e9d9e3564e7da30965c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Jun 2025 03:55:45 +0000 Subject: [PATCH 68/84] starlark: 0-unstable-2025-06-03 -> 0-unstable-2025-06-23 --- 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 9a4ecc6db7c3..6fdbad49f4d4 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-06-03"; + version = "0-unstable-2025-06-23"; src = fetchFromGitHub { owner = "google"; repo = "starlark-go"; - rev = "27fdb1d4744d057ceaa6c18d8eca9bf5692e3852"; - hash = "sha256-iS9v4XRJTclFxc/siuhTGliUAjM4pqju9lD+muFXp4Y="; + rev = "8bf495bf4e9a6110b82436cdebbdc3f06ad4f474"; + hash = "sha256-m8jWFPXYrT0kTbrz6xHi6Q7D5mzoycU+SY3h7SnCYiU="; }; vendorHash = "sha256-8drlCBy+KROyqXzm/c+HBe/bMVOyvwRoLHxOApJhMfo="; From f1861478f944944a9286479ae3b843784e19f66b Mon Sep 17 00:00:00 2001 From: liberodark Date: Mon, 23 Jun 2025 11:30:49 +0200 Subject: [PATCH 69/84] overpush: init at 0.4.3 --- pkgs/by-name/ov/overpush/package.nix | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pkgs/by-name/ov/overpush/package.nix diff --git a/pkgs/by-name/ov/overpush/package.nix b/pkgs/by-name/ov/overpush/package.nix new file mode 100644 index 000000000000..08b603d3b0af --- /dev/null +++ b/pkgs/by-name/ov/overpush/package.nix @@ -0,0 +1,53 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + pkg-config, + versionCheckHook, + nix-update-script, +}: + +buildGoModule (finalAttrs: { + pname = "overpush"; + version = "0.4.3"; + + src = fetchFromGitHub { + owner = "mrusme"; + repo = "overpush"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Bs5Mlpod7bIQxekadU6xBhgC8nchli+BvxEH6NeMOKw="; + }; + + vendorHash = "sha256-wsuztFwEfluUxL2RjMP7Y+JtxQHr5oLwHkAL8UIHyVQ="; + + env.CGO_ENABLED = "0"; + + ldflags = [ + "-s" + "-X main.version=${finalAttrs.version}" + ]; + + nativeBuildInputs = [ + pkg-config + ]; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "Self-hosted, drop-in replacement for Pushover that can use XMPP"; + homepage = "https://github.com/mrusme/overpush"; + changelog = "https://github.com/mrusme/overpush/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ liberodark ]; + platforms = lib.platforms.linux; + mainProgram = "overpush"; + }; +}) From 9b0f8f81860f2fd49825f2aa56387687e7b80eb7 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Fri, 13 Jun 2025 09:07:27 +0200 Subject: [PATCH 70/84] docs: merge-bot requires authoring by r-ryantm or a committer This brings the listed conditions into sync between `CONTRIBUTING.md`, `maintainers/README.md`, and the nixpkgs-merge-bot README. --- CONTRIBUTING.md | 2 +- maintainers/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8636219cc9ad..3b3e9b4bdb1f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -313,7 +313,7 @@ Container system, boot system and library changes are some examples of the pull To streamline automated updates, leverage the nixpkgs-merge-bot by simply commenting `@NixOS/nixpkgs-merge-bot merge`. The bot will verify if the following conditions are met, refusing to merge otherwise: -- the PR author should be @r-ryantm; +- the PR author should be @r-ryantm or a Nixpkgs committer; - the commenter that issued the command should be among the package maintainers; - the package should reside in `pkgs/by-name`. diff --git a/maintainers/README.md b/maintainers/README.md index 2759b0aa7dc1..91da7847fdbc 100644 --- a/maintainers/README.md +++ b/maintainers/README.md @@ -178,7 +178,7 @@ are available under `./scripts/`. See its [README](./scripts/README.md) for further information. # nixpkgs-merge-bot -To streamline autoupdates, leverage the nixpkgs-merge-bot by commenting `@NixOS/nixpkgs-merge-bot merge` if the package resides in pkgs-by-name and the commenter is among the package maintainers. The bot ensures that all ofborg checks, except for darwin, are successfully completed before merging the pull request. Should the checks still be underway, the bot patiently waits for ofborg to finish before attempting the merge again. +To streamline autoupdates, leverage the nixpkgs-merge-bot by commenting `@NixOS/nixpkgs-merge-bot merge` if the package resides in pkgs-by-name, the commenter is among the package maintainers, and the pull request author is @r-ryantm or a Nixpkgs committer. The bot ensures that all ofborg checks, except for darwin, are successfully completed before merging the pull request. Should the checks still be underway, the bot patiently waits for ofborg to finish before attempting the merge again. # Guidelines for Committers From 561c53736866dcf9af9b6533038f45bf8be61758 Mon Sep 17 00:00:00 2001 From: Mahyar Mirrashed Date: Wed, 25 Jun 2025 00:38:32 -0500 Subject: [PATCH 71/84] vimPlugins.auto-fix-return-nvim: init at 2025-06-23 --- pkgs/applications/editors/vim/plugins/generated.nix | 13 +++++++++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 2 files changed, 14 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 7e0eb9ee3f45..f7e5d05c7184 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -1114,6 +1114,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + auto-fix-return-nvim = buildVimPlugin { + pname = "auto-fix-return.nvim"; + version = "2025-06-23"; + src = fetchFromGitHub { + owner = "Jay-Madden"; + repo = "auto-fix-return.nvim"; + rev = "01ccaa47e286f1627b730b9cc58e7ebb2a622fd1"; + sha256 = "06as097zfdvrzx7ajdmib3czsbmh7r5l5szvlmj8lf8wfk7d35bq"; + }; + meta.homepage = "https://github.com/Jay-Madden/auto-fix-return.nvim/"; + meta.hydraPlatforms = [ ]; + }; + auto-git-diff = buildVimPlugin { pname = "auto-git-diff"; version = "2022-10-29"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index b0d7453038b2..b3ef38fe9b29 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -84,6 +84,7 @@ https://github.com/skywind3000/asynctasks.vim/,, https://github.com/vmchale/ats-vim/,, https://github.com/augmentcode/augment.vim/,HEAD, https://github.com/ray-x/aurora/,, +https://github.com/Jay-Madden/auto-fix-return.nvim/,HEAD, https://github.com/hotwatermorning/auto-git-diff/,, https://github.com/asiryk/auto-hlsearch.nvim/,HEAD, https://github.com/jiangmiao/auto-pairs/,, From dbf7f02566dac279f9a9f4de321aa154f31e22ba Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 25 Jun 2025 06:02:40 +0000 Subject: [PATCH 72/84] mirrord: 3.144.0 -> 3.146.0 --- 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 cad3b85fb214..8b64bbc7ad7b 100644 --- a/pkgs/by-name/mi/mirrord/manifest.json +++ b/pkgs/by-name/mi/mirrord/manifest.json @@ -1,21 +1,21 @@ { - "version": "3.144.0", + "version": "3.146.0", "assets": { "x86_64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_linux_x86_64", - "hash": "sha256-XbveB71EIChiuPVfqOshEhPZHnTGd7xJt48/zuyq5TA=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.146.0/mirrord_linux_x86_64", + "hash": "sha256-hyLB5r2YJ32jd64xueIFGET+FiGMCJInHcOu/YyHCbI=" }, "aarch64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_linux_aarch64", - "hash": "sha256-4Tw68aWpNsjfi6d7qgBhbVvAMsHwUsttfVSpx3Kv2Nk=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.146.0/mirrord_linux_aarch64", + "hash": "sha256-6Yi0FeXweDPbYI+c/XsCGetCkz1Ab4u4LAaGu6msJwc=" }, "aarch64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_mac_universal", - "hash": "sha256-FhRgopH7QRH+30Bofoiwdx3Vlne6D/ftaqhGuUnyH0g=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.146.0/mirrord_mac_universal", + "hash": "sha256-qvF6JTfeXvwNniNBn+/eGD6RBesbVeLgPo9HcDVBtKA=" }, "x86_64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.144.0/mirrord_mac_universal", - "hash": "sha256-FhRgopH7QRH+30Bofoiwdx3Vlne6D/ftaqhGuUnyH0g=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.146.0/mirrord_mac_universal", + "hash": "sha256-qvF6JTfeXvwNniNBn+/eGD6RBesbVeLgPo9HcDVBtKA=" } } } From 72e4f67a3811b0c87ec444d658ca46dad0c47e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Kugland?= Date: Mon, 2 Jun 2025 01:13:01 +0000 Subject: [PATCH 73/84] pd-else: init at 1.0-beta --- pkgs/by-name/pd/pd-else/package.nix | 82 +++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 pkgs/by-name/pd/pd-else/package.nix diff --git a/pkgs/by-name/pd/pd-else/package.nix b/pkgs/by-name/pd/pd-else/package.nix new file mode 100644 index 000000000000..adcd63d80c74 --- /dev/null +++ b/pkgs/by-name/pd/pd-else/package.nix @@ -0,0 +1,82 @@ +{ + lib, + stdenv, + fetchFromGitHub, + puredata, + pkg-config, + cmake, + openssl, + libogg, + libvorbis, + opusfile, + ffmpeg, + zlib, +}: + +stdenv.mkDerivation rec { + pname = "pd-else"; + version = "1.0-rc13"; + + src = fetchFromGitHub { + owner = "porres"; + repo = "pd-else"; + tag = "v.${version}"; + hash = "sha256-WebjdozcFup2xk3cS9LPTiA6m0l1sR6sj3hHlt6ScfU="; + }; + + nativeBuildInputs = [ + pkg-config + cmake + ]; + + buildInputs = [ + puredata + openssl + libogg + libvorbis + opusfile + ffmpeg + zlib + ]; + + # Set up Pure Data headers and configure with system libraries + preConfigure = '' + substituteInPlace CMakeLists.txt \ + --replace-fail 'add_subdirectory(Source/Shared/ffmpeg)' '# add_subdirectory(Source/Shared/ffmpeg) - using system FFmpeg' \ + --replace-fail 'target_link_libraries(play.file_tilde PRIVATE ffmpeg)' 'target_link_libraries(play.file_tilde PRIVATE avformat avcodec avutil swresample z)' \ + --replace-fail 'target_link_libraries(sfload PRIVATE ffmpeg)' 'target_link_libraries(sfload PRIVATE avformat avcodec avutil swresample z)' \ + --replace-fail 'target_link_libraries(sfinfo PRIVATE ffmpeg)' 'target_link_libraries(sfinfo PRIVATE avformat avcodec avutil swresample z)' + ''; + + cmakeFlags = [ + "-DCMAKE_C_FLAGS=-I${puredata}/include/pd" + "-DCMAKE_CXX_FLAGS=-I${puredata}/include/pd" + "-DUSE_LTO=ON" + "-DOPENSSL_CRYPTO_LIBRARY=${lib.getLib openssl}/lib/libcrypto.so" + "-DOPENSSL_SSL_LIBRARY=${lib.getLib openssl}/lib/libssl.so" + ]; + + postInstall = '' + mv else/ $out/else/ + rm -rf $out/include/ $out/lib/ + ''; + + postFixup = '' + interpreter=$(cat $NIX_CC/nix-support/dynamic-linker) + find $out -type f -executable -exec patchelf --set-interpreter "$interpreter" --set-rpath ${lib.makeLibraryPath buildInputs} {} \; + ''; + + meta = { + description = "EL Locus Solus' Externals for Pure Data"; + longDescription = '' + ELSE is a library of externals and abstractions for Pure Data. + It provides a comprehensive set of tools for signal processing, + MIDI, GUI, and more in Pure Data. + ''; + homepage = "https://github.com/porres/pd-else"; + license = lib.licenses.wtfpl; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isDarwin; + maintainers = [ lib.maintainers.kugland ]; + }; +} From c3a862db042cc3d1956477a404eaeff1a28dca22 Mon Sep 17 00:00:00 2001 From: Gliczy <129636582+Gliczy@users.noreply.github.com> Date: Wed, 25 Jun 2025 08:21:38 +0200 Subject: [PATCH 74/84] vencord: 1.12.3 -> 1.12.4 --- pkgs/by-name/ve/vencord/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ve/vencord/package.nix b/pkgs/by-name/ve/vencord/package.nix index 3b919d9e583e..c6498b649e54 100644 --- a/pkgs/by-name/ve/vencord/package.nix +++ b/pkgs/by-name/ve/vencord/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "vencord"; - version = "1.12.3"; + version = "1.12.4"; src = fetchFromGitHub { owner = "Vendicated"; repo = "Vencord"; rev = "v${finalAttrs.version}"; - hash = "sha256-fOZXgyA61G+D7otNNO8d89ghR/GiYPJ7vSZtj9TeGuU="; + hash = "sha256-x5tbLoNGBT3tS+QXn0piFMM8+uqoQt8gfQJap1TyLmQ="; }; pnpmDeps = pnpm_10.fetchDeps { From 25354a7d4d8e284fc83bd8d5790156a2846e642b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 24 Jun 2025 14:33:11 +0200 Subject: [PATCH 75/84] guix: 1.4.0 -> 1.4.0-unstable-2025-06.24 Fixes CVE-2025-46415, CVE-2025-52991, CVE-2025-52992, CVE-2025-52993 and CVE-2025-46416. --- .../gu/guix/missing-cstdint-include.patch | 24 +++++++ pkgs/by-name/gu/guix/package.nix | 62 +++++++------------ 2 files changed, 48 insertions(+), 38 deletions(-) create mode 100644 pkgs/by-name/gu/guix/missing-cstdint-include.patch diff --git a/pkgs/by-name/gu/guix/missing-cstdint-include.patch b/pkgs/by-name/gu/guix/missing-cstdint-include.patch new file mode 100644 index 000000000000..4799744d1043 --- /dev/null +++ b/pkgs/by-name/gu/guix/missing-cstdint-include.patch @@ -0,0 +1,24 @@ +From bdf4159dd5c1cf925512c0eb8490846c084e3c8c Mon Sep 17 00:00:00 2001 +From: Reepca Russelstein +Date: Tue, 24 Jun 2025 22:35:04 -0500 +Subject: [PATCH] nix: libutil: add include to seccomp.hh. + +* nix/libutil/seccomp.hh (): add include of header. + +Change-Id: I0a0b2892d81dbab662eda1ba80f4736178d70c65 +--- + nix/libutil/seccomp.hh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/nix/libutil/seccomp.hh b/nix/libutil/seccomp.hh +index 634dfad5f8..a4b449fc66 100644 +--- a/nix/libutil/seccomp.hh ++++ b/nix/libutil/seccomp.hh +@@ -4,6 +4,7 @@ + #include /* For AUDIT_ARCH_* */ + #include + #include ++#include + + + /* This file provides two preprocessor macros (among other things): diff --git a/pkgs/by-name/gu/guix/package.nix b/pkgs/by-name/gu/guix/package.nix index e72bc7ef46cf..3451676d931b 100644 --- a/pkgs/by-name/gu/guix/package.nix +++ b/pkgs/by-name/gu/guix/package.nix @@ -1,9 +1,9 @@ { lib, stdenv, - fetchurl, - fetchpatch, - fetchDebianPatch, + fetchgit, + graphviz, + gettext, autoreconfHook, disarchive, git, @@ -27,6 +27,7 @@ pkg-config, po4a, scheme-bytestructures, + slirp4netns, texinfo, bzip2, libgcrypt, @@ -37,45 +38,21 @@ storeDir ? "/gnu/store", confDir ? "/etc", }: - +let + rev = "30a5d140aa5a789a362749d057754783fea83dde"; +in stdenv.mkDerivation rec { pname = "guix"; - version = "1.4.0"; + version = "1.4.0-unstable-2025-06-24"; - src = fetchurl { - url = "mirror://gnu/guix/guix-${version}.tar.gz"; - hash = "sha256-Q8dpy/Yy7wVEmsH6SMG6FSwzSUxqvH5HE3u6eyFJ+KQ="; + src = fetchgit { + url = "https://codeberg.org/guix/guix.git"; + inherit rev; + hash = "sha256-QsOYApnwA2hb1keSv6p3EpMT09xCs9uyoSeIdXzftF0="; }; patches = [ - (fetchpatch { - name = "CVE-2024-27297_1.patch"; - url = "https://git.savannah.gnu.org/cgit/guix.git/patch/?id=8f4ffb3fae133bb21d7991e97c2f19a7108b1143"; - hash = "sha256-xKo1h2uckC2pYHt+memekagfL6dWcF8gOnTOOW/wJUU="; - }) - (fetchpatch { - name = "CVE-2024-27297_2.patch"; - url = "https://git.savannah.gnu.org/cgit/guix.git/patch/?id=ff1251de0bc327ec478fc66a562430fbf35aef42"; - hash = "sha256-f4KWDVrvO/oI+4SCUHU5GandkGtHrlaM1BWygM/Qlao="; - }) - # see https://guix.gnu.org/en/blog/2024/build-user-takeover-vulnerability - (fetchDebianPatch { - inherit pname version; - debianRevision = "8"; - patch = "security/0101-daemon-Sanitize-failed-build-outputs-prior-to-exposi.patch"; - hash = "sha256-cbra/+K8+xHUJrCKRgzJCuhMBpzCSjgjosKAkJx7QIo="; - }) - (fetchDebianPatch { - inherit pname version; - debianRevision = "8"; - patch = "security/0102-daemon-Sanitize-successful-build-outputs-prior-to-ex.patch"; - hash = "sha256-mOnlYtpIuYL+kDvSNuXuoDLJP03AA9aI2ALhap+0NOM="; - }) - (fetchpatch { - name = "fix-guile-ssh-detection.patch"; - url = "https://git.savannah.gnu.org/cgit/guix.git/patch/?id=b8a45bd0473ab2ba9b96b7ef429a557ece9bf06c"; - hash = "sha256-oYkgM694qPK8kqgxatkr4fj/GL73ozTNQADNyDeU6WY="; - }) + ./missing-cstdint-include.patch ]; postPatch = '' @@ -90,6 +67,8 @@ stdenv.mkDerivation rec { autoreconfHook disarchive git + graphviz + gettext glibcLocales guile guile-avahi @@ -110,6 +89,7 @@ stdenv.mkDerivation rec { pkg-config po4a scheme-bytestructures + slirp4netns texinfo ]; @@ -136,6 +116,7 @@ stdenv.mkDerivation rec { guile-zlib guile-zstd scheme-bytestructures + slirp4netns ]; configureFlags = [ @@ -145,6 +126,11 @@ stdenv.mkDerivation rec { "--with-bash-completion-dir=$(out)/etc/bash_completion.d" ]; + preAutoreconf = '' + echo ${version} > .tarball-version + ./bootstrap + ''; + enableParallelBuilding = true; postInstall = '' @@ -174,8 +160,8 @@ stdenv.mkDerivation rec { Guix. Guix is based on the Nix package manager. ''; - homepage = "http://www.gnu.org/software/guix"; - changelog = "https://git.savannah.gnu.org/cgit/guix.git/plain/NEWS?h=v${version}"; + homepage = "https://guix.gnu.org/"; + changelog = "https://codeberg.org/guix/guix/raw/commit/${rev}/NEWS"; license = lib.licenses.gpl3Plus; mainProgram = "guix"; maintainers = with lib.maintainers; [ From 39dc87db4bf75ad01e1f56d47e187861fbe8790a Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Tue, 24 Jun 2025 19:43:57 +0200 Subject: [PATCH 76/84] workflows/labels: handle PR-creation-edge-case for merge conflict label Explained very well by the code comment. --- .github/workflows/labels.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index c2b33ef8adba..38f5071efebd 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -255,6 +255,13 @@ jobs: const stale_at = new Date(new Date().setDate(new Date().getDate() - 180)) + // After creation of a Pull Request, `merge_commit_sha` will be null initially: + // The very first merge commit will only be calculated after a little while. + // To avoid labeling the PR as conflicted before that, we wait a few minutes. + // This is intentionally less than the time that Eval takes, so that the label job + // running after Eval can indeed label the PR as conflicted if that is the case. + const merge_commit_sha_valid = new Date() - new Date(pull_request.created_at) > 3 * 60 * 1000 + // Manage most of the labels, without eval results const after = Object.assign( {}, @@ -271,7 +278,7 @@ jobs: // On the first pass of the day, we just fetch the pull request, which triggers // the creation. At this stage, the label is likely not updated, yet. // The second pass will then read the result from the first pass and set the label. - '2.status: merge conflict': !pull_request.merge_commit_sha, + '2.status: merge conflict': merge_commit_sha_valid && !pull_request.merge_commit_sha, '2.status: stale': !before['1.severity: security'] && latest_event_at < stale_at, '12.approvals: 1': approvals.size == 1, '12.approvals: 2': approvals.size == 2, From ddf3480d49ba35240e324644015ccb2422379679 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Tue, 24 Jun 2025 19:51:53 +0200 Subject: [PATCH 77/84] workflows/labels: improve cleanup of reservoir timer This should make sure that the timer is cleaned up, no matter what. This didn't seem to be the case before, where it would still be stuck sometimes, when throwing an error somewhere. --- .github/workflows/labels.yml | 128 ++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 63 deletions(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 38f5071efebd..efc8556b1556 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -121,7 +121,6 @@ jobs: await updateReservoir() // Update remaining requests every minute to account for other jobs running in parallel. const reservoirUpdater = setInterval(updateReservoir, 60 * 1000) - process.on('uncaughtException', () => clearInterval(reservoirUpdater)) async function handle(item) { try { @@ -330,80 +329,83 @@ jobs: } } - if (context.payload.pull_request) { - await handle(context.payload.pull_request) - } else { - const workflowData = (await github.rest.actions.listWorkflowRuns({ - ...context.repo, - workflow_id: 'labels.yml', - event: 'schedule', - status: 'success', - exclude_pull_requests: true, - per_page: 1 - })).data + try { + if (context.payload.pull_request) { + await handle(context.payload.pull_request) + } else { + const workflowData = (await github.rest.actions.listWorkflowRuns({ + ...context.repo, + workflow_id: 'labels.yml', + event: 'schedule', + status: 'success', + exclude_pull_requests: true, + per_page: 1 + })).data - // Go back as far as the last successful run of this workflow to make sure - // we are not leaving anyone behind on GHA failures. - // Defaults to go back 1 hour on the first run. - const cutoff = new Date(workflowData.workflow_runs[0]?.created_at ?? new Date().getTime() - 1 * 60 * 60 * 1000) - core.info('cutoff timestamp: ' + cutoff.toISOString()) + // Go back as far as the last successful run of this workflow to make sure + // we are not leaving anyone behind on GHA failures. + // Defaults to go back 1 hour on the first run. + const cutoff = new Date(workflowData.workflow_runs[0]?.created_at ?? new Date().getTime() - 1 * 60 * 60 * 1000) + core.info('cutoff timestamp: ' + cutoff.toISOString()) - const updatedItems = await github.paginate( - github.rest.search.issuesAndPullRequests, - { + const updatedItems = await github.paginate( + github.rest.search.issuesAndPullRequests, + { + q: [ + `repo:"${process.env.GITHUB_REPOSITORY}"`, + 'type:pr', + 'is:open', + `updated:>=${cutoff.toISOString()}` + ].join(' AND '), + // TODO: Remove in 2025-10, when it becomes the default. + advanced_search: true + } + ) + + const allOptions = { q: [ `repo:"${process.env.GITHUB_REPOSITORY}"`, 'type:pr', - 'is:open', - `updated:>=${cutoff.toISOString()}` + 'is:open' ].join(' AND '), + sort: 'created', + direction: 'asc', // TODO: Remove in 2025-10, when it becomes the default. advanced_search: true } - ) - const allOptions = { - q: [ - `repo:"${process.env.GITHUB_REPOSITORY}"`, - 'type:pr', - 'is:open' - ].join(' AND '), - sort: 'created', - direction: 'asc', - // TODO: Remove in 2025-10, when it becomes the default. - advanced_search: true + const { total_count: total_pulls } = (await github.rest.search.issuesAndPullRequests({ + ...allOptions, + per_page: 1 + })).data + const { total_count: total_runs } = workflowData + const allItems = (await github.rest.search.issuesAndPullRequests({ + ...allOptions, + per_page: 100, + // We iterate through pages of 100 items across scheduled runs. With currently ~7000 open PRs and + // up to 6*24=144 scheduled runs per day, we hit every PR twice each day. + // We might not hit every PR on one iteration, because the pages will shift slightly when + // PRs are closed or merged. We assume this to be OK on the bigger scale, because a PR which was + // missed once, would have to move through the whole page to be missed again. This is very unlikely, + // so it should certainly be hit on the next iteration. + // TODO: Evaluate after a while, whether the above holds still true and potentially implement + // an overlap between runs. + page: total_runs % Math.ceil(total_pulls / 100) + })).data.items + + // Some items might be in both search results, so filtering out duplicates as well. + const items = [].concat(updatedItems, allItems) + .filter((thisItem, idx, arr) => idx == arr.findIndex(firstItem => firstItem.number == thisItem.number)) + + ;(await Promise.allSettled(items.map(handle))) + .filter(({ status }) => status == 'rejected') + .map(({ reason }) => core.setFailed(`${reason.message}\n${reason.cause.stack}`)) + + core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`) } - - const { total_count: total_pulls } = (await github.rest.search.issuesAndPullRequests({ - ...allOptions, - per_page: 1 - })).data - const { total_count: total_runs } = workflowData - const allItems = (await github.rest.search.issuesAndPullRequests({ - ...allOptions, - per_page: 100, - // We iterate through pages of 100 items across scheduled runs. With currently ~7000 open PRs and - // up to 6*24=144 scheduled runs per day, we hit every PR twice each day. - // We might not hit every PR on one iteration, because the pages will shift slightly when - // PRs are closed or merged. We assume this to be OK on the bigger scale, because a PR which was - // missed once, would have to move through the whole page to be missed again. This is very unlikely, - // so it should certainly be hit on the next iteration. - // TODO: Evaluate after a while, whether the above holds still true and potentially implement - // an overlap between runs. - page: total_runs % Math.ceil(total_pulls / 100) - })).data.items - - // Some items might be in both search results, so filtering out duplicates as well. - const items = [].concat(updatedItems, allItems) - .filter((thisItem, idx, arr) => idx == arr.findIndex(firstItem => firstItem.number == thisItem.number)) - - ;(await Promise.allSettled(items.map(handle))) - .filter(({ status }) => status == 'rejected') - .map(({ reason }) => core.setFailed(`${reason.message}\n${reason.cause.stack}`)) - - core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`) + } finally { + clearInterval(reservoirUpdater) } - clearInterval(reservoirUpdater) - name: Log current API rate limits env: From 579bfd48daf875aea88171c1fa6abccf4b21a956 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Tue, 24 Jun 2025 20:52:50 +0200 Subject: [PATCH 78/84] workflows/labels: use /pulls endpoint instead of search for "all" pull requests It's necessary to use a combination of different endpoints here, because the /search endpoint only allows fetching the first 1000 items and will fail with a higher page number (11+). On the flip side, the /pulls endpoint doesn't allow counting the total number of results, so we can't calculate the required page number with its response. Putting both together should work, though. --- .github/workflows/labels.yml | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index efc8556b1556..9c664d9c11f9 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -138,8 +138,7 @@ jobs: // The search result is of a format that works for both issues and pull requests and thus // does not have all fields of a full pull_request response. Notably, it is missing `head.sha`, - // which we need to fetch the workflow run below. When triggered via pull_request event, - // this field is already available. + // which we need to fetch the workflow run below. This field is already available non-search sources. // This API request is also important for the merge-conflict label, because it triggers the // creation of a new test merge commit. This is needed to actually determine the state of a PR. const pull_request = item.head ? item : (await github.rest.pulls.get({ @@ -362,7 +361,11 @@ jobs: } ) - const allOptions = { + // The search endpoint only allows fetching the first 1000 records, but the + // pull request list endpoint does not support counting the total number + // of results. + // Thus, we use /search for counting and /pulls for reading the response. + const { total_count: total_pulls } = (await github.rest.search.issuesAndPullRequests({ q: [ `repo:"${process.env.GITHUB_REPOSITORY}"`, 'type:pr', @@ -371,16 +374,16 @@ jobs: sort: 'created', direction: 'asc', // TODO: Remove in 2025-10, when it becomes the default. - advanced_search: true - } - - const { total_count: total_pulls } = (await github.rest.search.issuesAndPullRequests({ - ...allOptions, + advanced_search: true, per_page: 1 })).data const { total_count: total_runs } = workflowData - const allItems = (await github.rest.search.issuesAndPullRequests({ - ...allOptions, + + const allPulls = (await github.rest.pulls.list({ + ...context.repo, + state: 'open', + sort: 'created', + direction: 'asc', per_page: 100, // We iterate through pages of 100 items across scheduled runs. With currently ~7000 open PRs and // up to 6*24=144 scheduled runs per day, we hit every PR twice each day. @@ -391,10 +394,10 @@ jobs: // TODO: Evaluate after a while, whether the above holds still true and potentially implement // an overlap between runs. page: total_runs % Math.ceil(total_pulls / 100) - })).data.items + })).data // Some items might be in both search results, so filtering out duplicates as well. - const items = [].concat(updatedItems, allItems) + const items = [].concat(updatedItems, allPulls) .filter((thisItem, idx, arr) => idx == arr.findIndex(firstItem => firstItem.number == thisItem.number)) ;(await Promise.allSettled(items.map(handle))) From 2ef4bc288263526729f62fbc61dcf0eb013b84e4 Mon Sep 17 00:00:00 2001 From: Mahyar Mirrashed Date: Wed, 25 Jun 2025 01:49:46 -0500 Subject: [PATCH 79/84] vimPlugins.lazydocker-nvim: init at 2025-06-05 --- pkgs/applications/editors/vim/plugins/generated.nix | 13 +++++++++++++ pkgs/applications/editors/vim/plugins/overrides.nix | 8 ++++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 22 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 7e0eb9ee3f45..187876b0d493 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -6886,6 +6886,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + lazydocker-nvim = buildVimPlugin { + pname = "lazydocker.nvim"; + version = "2025-06-05"; + src = fetchFromGitHub { + owner = "crnvl96"; + repo = "lazydocker.nvim"; + rev = "d5878defd757a193fbd73f12ec54faee9a6b19e1"; + sha256 = "0vwx3yvy4lqppjgwz5gkqxrbr5m6b6kplh5z0nh5s7i7xqahqm1r"; + }; + meta.homepage = "https://github.com/crnvl96/lazydocker.nvim/"; + meta.hydraPlatforms = [ ]; + }; + lazygit-nvim = buildVimPlugin { pname = "lazygit.nvim"; version = "2025-06-13"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 821a7be77646..a2ef41c03cc1 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -118,6 +118,8 @@ # typst-preview dependencies tinymist, websocat, + # lazydocker.nvim dependencies + lazydocker, # luau-lsp-nvim dependencies luau-lsp, # uv.nvim dependencies @@ -1533,6 +1535,12 @@ in ]; }; + lazydocker-nvim = super.lazydocker-nvim.overrideAttrs { + runtimeDeps = [ + lazydocker + ]; + }; + LazyVim = super.LazyVim.overrideAttrs { # Any other dependency is optional dependencies = [ self.lazy-nvim ]; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index b0d7453038b2..ef11875716c3 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -528,6 +528,7 @@ https://github.com/latex-box-team/latex-box/,, https://github.com/dundalek/lazy-lsp.nvim/,HEAD, https://github.com/folke/lazy.nvim/,HEAD, https://github.com/folke/lazydev.nvim/,, +https://github.com/crnvl96/lazydocker.nvim/,HEAD, https://github.com/kdheepak/lazygit.nvim/,, https://github.com/Julian/lean.nvim/,, https://github.com/leanprover/lean.vim/,, From 56fb029033e5ac9dc9d020ad60fdea939afac0e6 Mon Sep 17 00:00:00 2001 From: Mahyar Mirrashed Date: Wed, 25 Jun 2025 02:04:36 -0500 Subject: [PATCH 80/84] vimPlugins.helm-ls-nvim: init at 2025-06-07 --- pkgs/applications/editors/vim/plugins/generated.nix | 13 +++++++++++++ pkgs/applications/editors/vim/plugins/overrides.nix | 7 +++++++ .../editors/vim/plugins/vim-plugin-names | 1 + 3 files changed, 21 insertions(+) diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 7e0eb9ee3f45..abe4f3756465 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -5933,6 +5933,19 @@ final: prev: { meta.hydraPlatforms = [ ]; }; + helm-ls-nvim = buildVimPlugin { + pname = "helm-ls.nvim"; + version = "2025-06-07"; + src = fetchFromGitHub { + owner = "qvalentin"; + repo = "helm-ls.nvim"; + rev = "2bf45466c26a24e05b5266f82a3abead13e32c16"; + sha256 = "0h0mp3qf57s4byr37rg1ynbr3bha1wa9fswnv3ypb0n9n9igr5ys"; + }; + meta.homepage = "https://github.com/qvalentin/helm-ls.nvim/"; + meta.hydraPlatforms = [ ]; + }; + helpview-nvim = buildVimPlugin { pname = "helpview.nvim"; version = "2025-04-26"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 821a7be77646..b293b156ac49 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -23,6 +23,7 @@ direnv, fzf, gawk, + helm-ls, himalaya, htop, jq, @@ -1403,6 +1404,12 @@ in luaAttr = luaPackages.haskell-tools-nvim; }; + helm-ls-nvim = super.helm-ls-nvim.overrideAttrs { + runtimeDeps = [ + helm-ls + ]; + }; + helpview-nvim = super.helpview-nvim.overrideAttrs { nvimSkipModules = [ "definitions.__vimdoc" ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index b0d7453038b2..2d88cab9f994 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -454,6 +454,7 @@ https://github.com/wenzel-hoffman/haskell-with-unicode.vim/,HEAD, https://github.com/travitch/hasksyn/,, https://github.com/lukas-reineke/headlines.nvim/,HEAD, https://github.com/rebelot/heirline.nvim/,, +https://github.com/qvalentin/helm-ls.nvim/,HEAD, https://github.com/OXY2DEV/helpview.nvim/,HEAD, https://github.com/RaafatTurki/hex.nvim/,HEAD, https://github.com/Yggdroot/hiPairs/,, From c9257371dc8bc0a2f1e2c65997d2cc4a5ad7996e Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 25 Jun 2025 09:44:33 +0200 Subject: [PATCH 81/84] workflows/labels: fix stale label date sorting With the help of: https://stackabuse.com/how-to-sort-an-array-by-date-in-javascript/ --- .github/workflows/labels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 9c664d9c11f9..1aa46d751206 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -246,8 +246,8 @@ jobs: 'unmarked_as_duplicate', ].includes(event)) .map(({ created_at, updated_at, committer, submitted_at }) => new Date(updated_at ?? created_at ?? submitted_at ?? committer.date)) - .sort() - .reverse() + // Reverse sort by date value. The default sort() sorts by string representation, which is bad for dates. + .sort((a,b) => b-a) .at(0) ?? item.created_at ) From ca0c35d813c2edd317cb6f1236cd6430aa6410dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charlotte=20=F0=9F=A6=9D=20Dele=C5=84kec?= Date: Tue, 24 Jun 2025 08:16:33 +0100 Subject: [PATCH 82/84] bcachefs-unlock: respect x-systemd mount options This will allow unlocking to take place *after* all of the devices have been probed, as indicated by the x-systemd.wants and x-systemd.requires options. This allows for multi-device bcachefs volumes to be reliably unlocked. --- doc/release-notes/rl-2511.section.md | 2 ++ nixos/modules/tasks/filesystems/bcachefs.nix | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 3e906b17836b..a0c44875f200 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -37,6 +37,8 @@ - Added `rewriteURL` attribute to the nixpkgs `config`, to allow for rewriting the URLs downloaded by `fetchurl`. +- The systemd initrd will now respect `x-systemd.wants` and `x-systemd.requires` for reliably unlocking multi-disk bcachefs volumes. + - New hardening flags, `strictflexarrays1` and `strictflexarrays3` were made available, corresponding to the gcc/clang options `-fstrict-flex-arrays=1` and `-fstrict-flex-arrays=3` respectively. - `gramps` has been updated to 6.0.0 diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix index 75a3fb21686c..1390b87f1711 100644 --- a/nixos/modules/tasks/filesystems/bcachefs.nix +++ b/nixos/modules/tasks/filesystems/bcachefs.nix @@ -93,19 +93,27 @@ let let mountUnit = "${utils.escapeSystemdPath (prefix + (lib.removeSuffix "/" fs.mountPoint))}.mount"; device = firstDevice fs; - deviceUnit = "${utils.escapeSystemdPath device}.device"; + mkDeviceUnit = device: "${utils.escapeSystemdPath device}.device"; + deviceUnit = mkDeviceUnit device; + extractProperty = + prop: options: (map (lib.removePrefix "${prop}=") (builtins.filter (lib.hasPrefix prop) options)); + normalizeUnits = unit: if lib.hasPrefix "/" unit then mkDeviceUnit unit else unit; + requiredUnits = map normalizeUnits (extractProperty "x-systemd.requires" fs.options); + wantedUnits = map normalizeUnits (extractProperty "x-systemd.wants" fs.options); in { name = "unlock-bcachefs-${utils.escapeSystemdPath fs.mountPoint}"; value = { description = "Unlock bcachefs for ${fs.mountPoint}"; requiredBy = [ mountUnit ]; - after = [ deviceUnit ]; + after = [ deviceUnit ] ++ requiredUnits ++ wantedUnits; before = [ mountUnit "shutdown.target" ]; bindsTo = [ deviceUnit ]; + requires = requiredUnits; + wants = wantedUnits; conflicts = [ "shutdown.target" ]; unitConfig.DefaultDependencies = false; serviceConfig = { From 814bbef95e68e821d58790699e4b850877e5af1f Mon Sep 17 00:00:00 2001 From: Charlotte Date: Wed, 25 Jun 2025 09:37:33 +0100 Subject: [PATCH 83/84] bcachefs-unlock: Also handle mount paths Co-authored-by: Will Fancher --- nixos/modules/tasks/filesystems/bcachefs.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/modules/tasks/filesystems/bcachefs.nix b/nixos/modules/tasks/filesystems/bcachefs.nix index 1390b87f1711..36e1fba3e711 100644 --- a/nixos/modules/tasks/filesystems/bcachefs.nix +++ b/nixos/modules/tasks/filesystems/bcachefs.nix @@ -97,7 +97,15 @@ let deviceUnit = mkDeviceUnit device; extractProperty = prop: options: (map (lib.removePrefix "${prop}=") (builtins.filter (lib.hasPrefix prop) options)); - normalizeUnits = unit: if lib.hasPrefix "/" unit then mkDeviceUnit unit else unit; + mkMountUnit = path: "${utils.escapeSystemdPath path}.mount"; + normalizeUnits = + unit: + if lib.hasPrefix "/dev/" unit then + mkDeviceUnit unit + else if lib.hasPrefix "/" unit then + mkMountUnit unit + else + unit; requiredUnits = map normalizeUnits (extractProperty "x-systemd.requires" fs.options); wantedUnits = map normalizeUnits (extractProperty "x-systemd.wants" fs.options); in From 59ac9479e4675cb052723b971cc02064e85209c8 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Wed, 25 Jun 2025 12:30:10 +0200 Subject: [PATCH 84/84] workflows/labels: fix merge conflict label The previous implementation had two problems: - When switching from /search to /pulls, we disabled the additional GET on each single pull request - which causes no test merge commit creation for all PRs. This means, merge conflicts will not actually be detected. - By using `item` in the pull-request triggered case, this goes back to `context.payload.pull_request`, which is the state *at the beginning* of the workflow run. But this renders our "let's wait 3 minutes before checking merge_commit_sha" logic void. While we wait for 3 minutes, we still use the *old* value afterwards... Just making the extra request every time simplifies the logic and solves both problems. --- .github/workflows/labels.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 1aa46d751206..3421ef77da5e 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -136,12 +136,9 @@ jobs: const pull_number = item.number const issue_number = item.number - // The search result is of a format that works for both issues and pull requests and thus - // does not have all fields of a full pull_request response. Notably, it is missing `head.sha`, - // which we need to fetch the workflow run below. This field is already available non-search sources. - // This API request is also important for the merge-conflict label, because it triggers the + // This API request is important for the merge-conflict label, because it triggers the // creation of a new test merge commit. This is needed to actually determine the state of a PR. - const pull_request = item.head ? item : (await github.rest.pulls.get({ + const pull_request = (await github.rest.pulls.get({ ...context.repo, pull_number })).data