From 3c20746f99537b0c8bf42ceef162fe73cdef7c77 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Wed, 15 Jan 2025 11:54:42 +0000 Subject: [PATCH 001/272] doc: Cross-reference roles syntax doc & implementation reasoning: - (doc -> code) make it easier to find where those are implemented - to get easier insight if/what a specific renderer does with it - in case one wants to improve them, which seems likely as they are rather Nix/NixOS-specific - (took me too long to find their implementation) - (code -> doc) ensure changes to the code can be reflected in the doc - code authors might not know about the reference documentation or how to find it --- doc/README.md | 1 + .../ni/nixos-render-docs/src/nixos_render_docs/asciidoc.py | 1 + .../ni/nixos-render-docs/src/nixos_render_docs/commonmark.py | 1 + pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py | 1 + .../ni/nixos-render-docs/src/nixos_render_docs/manpage.py | 1 + pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/md.py | 1 + 6 files changed, 6 insertions(+) diff --git a/doc/README.md b/doc/README.md index 09a38d9dabbe..531c38acdfa5 100644 --- a/doc/README.md +++ b/doc/README.md @@ -108,6 +108,7 @@ A few markups for other kinds of literals are also available: These literal kinds are used mostly in NixOS option documentation. This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax. +They are handled by `myst_role` defined per renderer. #### Admonitions diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/asciidoc.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/asciidoc.py index 0c2531209876..dadcaa96b467 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/asciidoc.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/asciidoc.py @@ -182,6 +182,7 @@ class AsciiDocRenderer(Renderer): self._leave_block() return "\n" def myst_role(self, token: Token, tokens: Sequence[Token], i: int) -> str: + # NixOS-specific roles are documented at /doc/README.md (with reverse reference) self._parstack[-1].continuing = True content = asciidoc_escape(token.content) if token.meta['name'] == 'manpage' and (url := self._manpage_urls.get(token.content)): diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/commonmark.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/commonmark.py index 6287b60f0a51..7f31d0be44ae 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/commonmark.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/commonmark.py @@ -159,6 +159,7 @@ class CommonMarkRenderer(Renderer): self._leave_block() return "" def myst_role(self, token: Token, tokens: Sequence[Token], i: int) -> str: + # NixOS-specific roles are documented at /doc/README.md (with reverse reference) self._parstack[-1].continuing = True content = md_make_code(token.content) if token.meta['name'] == 'manpage' and (url := self._manpage_urls.get(token.content)): diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py index 1de511c7ce31..3e4ff1aedb7a 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/html.py @@ -136,6 +136,7 @@ class HTMLRenderer(Renderer): def dd_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: return "" def myst_role(self, token: Token, tokens: Sequence[Token], i: int) -> str: + # NixOS-specific roles are documented at /doc/README.md (with reverse reference) if token.meta['name'] == 'command': return f'{escape(token.content)}' if token.meta['name'] == 'file': diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manpage.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manpage.py index 024ec8d134dd..a3d6e791cabd 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manpage.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/manpage.py @@ -253,6 +253,7 @@ class ManpageRenderer(Renderer): self._leave_block() return ".RE" def myst_role(self, token: Token, tokens: Sequence[Token], i: int) -> str: + # NixOS-specific roles are documented at /doc/README.md (with reverse reference) if token.meta['name'] in [ 'command', 'env', 'option' ]: return f'\\fB{man_escape(token.content)}\\fP' elif token.meta['name'] in [ 'file', 'var' ]: diff --git a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/md.py b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/md.py index 894daf9ca9c7..93f07818b454 100644 --- a/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/md.py +++ b/pkgs/by-name/ni/nixos-render-docs/src/nixos_render_docs/md.py @@ -228,6 +228,7 @@ class Renderer: def dd_close(self, token: Token, tokens: Sequence[Token], i: int) -> str: raise RuntimeError("md token not supported", token) def myst_role(self, token: Token, tokens: Sequence[Token], i: int) -> str: + # NixOS-specific roles are documented at /doc/README.md (with reverse reference) raise RuntimeError("md token not supported", token) def attr_span_begin(self, token: Token, tokens: Sequence[Token], i: int) -> str: raise RuntimeError("md token not supported", token) From 48a221fff3361cc0ed2a37b7928cc2d81464c1ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Moreira?= Date: Tue, 7 Jan 2025 18:08:37 -0300 Subject: [PATCH 002/272] maintainers: add joaomoreira --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 3e1a1e1cbcfe..74009f788ac0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10935,6 +10935,13 @@ githubId = 22916782; name = "Joan Massachs"; }; + joaomoreira = { + matrix = "@joaomoreira:matrix.org"; + github = "joaoymoreira"; + githubId = 151087767; + name = "João Moreira"; + keys = [ { fingerprint = "F457 0A3A 5F89 22F8 F572 E075 EF8B F2C8 C5F4 097D"; } ]; + }; joaquintrinanes = { email = "hi@joaquint.io"; github = "JoaquinTrinanes"; From d69db6997b975ab7abd9f81ebe33fd8ccd66107b Mon Sep 17 00:00:00 2001 From: alikindsys Date: Thu, 6 Feb 2025 00:47:13 -0300 Subject: [PATCH 003/272] maintainers: add alikindsys --- maintainers/maintainer-list.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f3d03f99db7f..202946cb4f7b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1162,6 +1162,16 @@ githubId = 30437811; name = "Alex Andrews"; }; + alikindsys = { + email = "alice@blocovermelho.org"; + github = "alikindsys"; + githubId = 36565196; + name = "Alikind System"; + + keys = [{ + fingerprint = "7D31 15DC D912 C15A 2781 F7BB 511C B44B C752 2A89"; + }]; + }; alirezameskin = { email = "alireza.meskin@gmail.com"; github = "alirezameskin"; From f7dda0a89387b9c2b0c8a482386183995e5cea87 Mon Sep 17 00:00:00 2001 From: Alois Wohlschlager Date: Tue, 18 Feb 2025 19:13:01 +0100 Subject: [PATCH 004/272] vlc: ffmpeg_4 -> ffmpeg_6 The upstream VLC 3 branch now support hardware video decoding using VAAPI with newer FFmpeg versions too. Cherry-pick the relevant patch and bump to FFmpeg 6. Support for version 7 would require several more cherry-picks, so it is not done here. --- pkgs/by-name/vl/vlc/package.nix | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 4b9269bf4b90..5f94bf6516df 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -12,11 +12,7 @@ fetchpatch, fetchurl, # Please unpin FFmpeg on the next upstream release. - # Currently FFmpeg is pinned to 4.x because VAAPI acceleration is broken when - # building with newer versions: - # https://code.videolan.org/videolan/vlc/-/issues/26772 - # This is intentional by upstream but VLC 4.0 will support newer FFmpeg. - ffmpeg_4, + ffmpeg_6, flac, fluidsynth, freefont_ttf, @@ -143,7 +139,7 @@ stdenv.mkDerivation (finalAttrs: { avahi dbus faad2 - ffmpeg_4 + ffmpeg_6 flac fluidsynth fribidi @@ -247,6 +243,12 @@ stdenv.mkDerivation (finalAttrs: { url = "https://code.videolan.org/videolan/vlc/uploads/eb1c313d2d499b8a777314f789794f9d/0001-Add-lssl-and-lcrypto-to-liblive555_plugin_la_LIBADD.patch"; hash = "sha256-qs3gY1ksCZlf931TSZyMuT2JD0sqrmcRCZwL+wVG0U8="; }) + # support VAAPI hardware video decoding with newer ffmpeg + # upstream merge request: https://code.videolan.org/videolan/vlc/-/merge_requests/6606 (will be included in the next release) + (fetchpatch { + url = "https://code.videolan.org/videolan/vlc/-/commit/ba5dc03aecc1d96f81b76838f845ebde7348cf62.diff"; + hash = "sha256-s6AI9O0V3AKOyw9LbQ9CgjaCi5m5+nLacKNLl5ZLC6Q="; + }) ]; postPatch = From 53dd5df0778bfba9fa040219824ead42006ceec5 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Mon, 17 Feb 2025 21:27:35 -0800 Subject: [PATCH 005/272] reaper-reapack-extension: init at 1.2.5 --- .../re/reaper-reapack-extension/darwin.nix | 36 ++++++++++++ .../re/reaper-reapack-extension/linux.nix | 57 +++++++++++++++++++ .../re/reaper-reapack-extension/package.nix | 27 +++++++++ 3 files changed, 120 insertions(+) create mode 100644 pkgs/by-name/re/reaper-reapack-extension/darwin.nix create mode 100644 pkgs/by-name/re/reaper-reapack-extension/linux.nix create mode 100644 pkgs/by-name/re/reaper-reapack-extension/package.nix diff --git a/pkgs/by-name/re/reaper-reapack-extension/darwin.nix b/pkgs/by-name/re/reaper-reapack-extension/darwin.nix new file mode 100644 index 000000000000..d44bf2c324bb --- /dev/null +++ b/pkgs/by-name/re/reaper-reapack-extension/darwin.nix @@ -0,0 +1,36 @@ +{ + stdenvNoCC, + fetchurl, + pname, + version, + meta, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + inherit + pname + version + meta + ; + src = fetchurl { + url = + let + arch = if stdenvNoCC.hostPlatform.system == "x86_64-darwin" then "x86_64" else "arm64"; + in + "https://github.com/cfillion/reapack/releases/download/v${finalAttrs.version}/reaper_reapack-${arch}.dylib"; + hash = + { + x86_64-darwin = "sha256-slLzjIWpEzOn4GAcRwb6WdJSVExuQK0cVgHgd7qM4oE="; + aarch64-darwin = "sha256-eFKEUuTUWE4Wp/vWVrvTbK78U6TicvRXSWggVAH2Og4="; + } + .${stdenvNoCC.hostPlatform.system}; + }; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + install -D * -t $out/UserPlugins + runHook postInstall + ''; +}) diff --git a/pkgs/by-name/re/reaper-reapack-extension/linux.nix b/pkgs/by-name/re/reaper-reapack-extension/linux.nix new file mode 100644 index 000000000000..04fd22b25267 --- /dev/null +++ b/pkgs/by-name/re/reaper-reapack-extension/linux.nix @@ -0,0 +1,57 @@ +{ + boost, + catch2_3, + cmake, + curl, + fetchFromGitHub, + git, + libxml2, + openssl, + php, + ruby, + sqlite, + stdenv, + zlib, + + pname, + version, + meta, +}: + +stdenv.mkDerivation (finalAttrs: { + inherit + pname + version + meta + ; + + src = fetchFromGitHub { + owner = "cfillion"; + repo = "reapack"; + tag = "v${finalAttrs.version}"; + hash = "sha256-RhXAjTNAJegeCJaYkvwJedZrXRA92dQ0EeHJr9ngeCg="; + fetchSubmodules = true; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + git + php + ruby + ]; + + buildInputs = [ + boost + catch2_3 + curl + libxml2 + openssl + sqlite + zlib + ]; + + cmakeFlags = [ "-Wno-dev" ]; + +}) diff --git a/pkgs/by-name/re/reaper-reapack-extension/package.nix b/pkgs/by-name/re/reaper-reapack-extension/package.nix new file mode 100644 index 000000000000..1f5bafa0574c --- /dev/null +++ b/pkgs/by-name/re/reaper-reapack-extension/package.nix @@ -0,0 +1,27 @@ +{ + lib, + stdenvNoCC, + callPackage, +}: +let + p = if stdenvNoCC.hostPlatform.isDarwin then ./darwin.nix else ./linux.nix; +in +callPackage p { + pname = "reaper-reapack-extension"; + version = "1.2.5"; + meta = { + description = "Package manager for REAPER"; + homepage = "https://reapack.com/"; + license = with lib.licenses; [ + lgpl3Plus + gpl3Plus + ]; + maintainers = with lib.maintainers; [ pancaek ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + }; +} From 8181d2a7c120902a66ed15824c2d4ad054f06379 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Fri, 28 Feb 2025 20:28:25 +0100 Subject: [PATCH 006/272] nixos/user-groups: Don't double-UTF8-encode subUidMapFile Because with it only being single-UTF8-decoded, this lead to the file ~doubling in size whenever it contained any non-ascii characters! --- nixos/modules/config/update-users-groups.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/update-users-groups.pl b/nixos/modules/config/update-users-groups.pl index f0b692a759d1..a2be448d625b 100644 --- a/nixos/modules/config/update-users-groups.pl +++ b/nixos/modules/config/update-users-groups.pl @@ -376,4 +376,4 @@ foreach my $u (values %usersOut) { updateFile("/etc/subuid", join("\n", @subUids) . "\n"); updateFile("/etc/subgid", join("\n", @subGids) . "\n"); -updateFile($subUidMapFile, encode_json($subUidMap) . "\n"); +updateFile($subUidMapFile, to_json($subUidMap) . "\n"); From b602f8682923e4f71b3a39af68d25bfe1e94693f Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Fri, 28 Feb 2025 20:35:33 +0100 Subject: [PATCH 007/272] nixos/users-groups: Catch invalid usernames early Prevents running into the problem from the parent commit in the first place. --- nixos/modules/config/users-groups.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix index 0fe5cc357b87..5b05acd7e163 100644 --- a/nixos/modules/config/users-groups.nix +++ b/nixos/modules/config/users-groups.nix @@ -931,6 +931,21 @@ in { } ] ++ flatten (flip mapAttrsToList cfg.users (name: user: [ + ( + let + # Things fail in various ways with especially non-ascii usernames. + # This regex mirrors the one from shadow's is_valid_name: + # https://github.com/shadow-maint/shadow/blob/bee77ffc291dfed2a133496db465eaa55e2b0fec/lib/chkname.c#L68 + # though without the trailing $, because Samba 3 got its last release + # over 10 years ago and is not in Nixpkgs anymore, + # while later versions don't appear to require anything like that. + nameRegex = "[a-zA-Z0-9_.][a-zA-Z0-9_.-]*"; + in + { + assertion = builtins.match nameRegex user.name != null; + message = "The username \"${user.name}\" is not valid, it does not match the regex \"${nameRegex}\"."; + } + ) { assertion = (user.hashedPassword != null) -> (match ".*:.*" user.hashedPassword == null); From 1a9e6f6b072d15b21cb36edd3a4b5734132d0873 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 3 Mar 2025 10:43:39 +0000 Subject: [PATCH 008/272] sshuttle: 1.2.0 -> 1.3.0 --- pkgs/by-name/ss/sshuttle/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ss/sshuttle/package.nix b/pkgs/by-name/ss/sshuttle/package.nix index ca1d12bacce6..2c878db45299 100644 --- a/pkgs/by-name/ss/sshuttle/package.nix +++ b/pkgs/by-name/ss/sshuttle/package.nix @@ -15,14 +15,14 @@ python3Packages.buildPythonApplication rec { pname = "sshuttle"; - version = "1.2.0"; + version = "1.3.0"; pyproject = true; src = fetchFromGitHub { owner = "sshuttle"; repo = "sshuttle"; tag = "v${version}"; - hash = "sha256-xJxFtyLTqPozTaPZxAYZySKIo9c23dwEzn6GHpxW1OY="; + hash = "sha256-6RNH2S4GXlAWBQSSmgHFcpYECYJoQtZVScrhLMM0gEk="; }; build-system = [ python3Packages.poetry-core ]; @@ -70,7 +70,7 @@ python3Packages.buildPythonApplication rec { Works with Linux and Mac OS and supports DNS tunneling. ''; homepage = "https://github.com/sshuttle/sshuttle"; - changelog = "https://github.com/sshuttle/sshuttle/blob/v${version}/CHANGES.rst"; + changelog = "https://github.com/sshuttle/sshuttle/blob/${src.tag}/CHANGES.rst"; license = lib.licenses.lgpl21Plus; maintainers = with lib.maintainers; [ domenkozar From e003b9e7358b1b3ffcb6b072c424025a1907df5b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 4 Mar 2025 08:15:16 +0000 Subject: [PATCH 009/272] t3: 1.0.8 -> 1.0.9 --- pkgs/by-name/t3/t3/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/t3/t3/package.nix b/pkgs/by-name/t3/t3/package.nix index c1b05db9d3ce..2017c0d57287 100644 --- a/pkgs/by-name/t3/t3/package.nix +++ b/pkgs/by-name/t3/t3/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "t3"; - version = "1.0.8"; + version = "1.0.9"; src = fetchFromGitHub { owner = "flox"; repo = "t3"; tag = "v${finalAttrs.version}"; - hash = "sha256-SaSBFqMh6zOty0mnYL4RJxAxbB1LJusKLdMn7Atv+As="; + hash = "sha256-42T0qQ3zK1jTRU+gcBzEet5rHZ6QuknCbPdbGPNlETI="; }; makeFlags = [ From 5f58a817318b4a6900f936ee910c58a5015312c4 Mon Sep 17 00:00:00 2001 From: Chris Moultrie <821688+tebriel@users.noreply.github.com> Date: Tue, 4 Mar 2025 08:30:16 -0500 Subject: [PATCH 010/272] grocy: 4.3.0 -> 4.4.2 --- .../0001-Define-configs-with-env-vars.patch | 58 +++++++++++-------- ...-config-file-as-it-s-stored-in-etc-g.patch | 11 ++-- pkgs/by-name/gr/grocy/package.nix | 8 +-- 3 files changed, 44 insertions(+), 33 deletions(-) diff --git a/pkgs/by-name/gr/grocy/0001-Define-configs-with-env-vars.patch b/pkgs/by-name/gr/grocy/0001-Define-configs-with-env-vars.patch index 75aa54f9c9c2..13efe8613693 100644 --- a/pkgs/by-name/gr/grocy/0001-Define-configs-with-env-vars.patch +++ b/pkgs/by-name/gr/grocy/0001-Define-configs-with-env-vars.patch @@ -1,17 +1,18 @@ -From 231ee836e357b83cc2fc0a3a977f74839308ec68 Mon Sep 17 00:00:00 2001 -From: Ember Keske -Date: Wed, 2 Aug 2023 06:36:02 +0200 +From b1df18da8735ed8c043e5e63753a6524cce620e1 Mon Sep 17 00:00:00 2001 +From: Chris Moultrie +Date: Tue, 4 Mar 2025 08:20:58 -0500 Subject: [PATCH 1/2] Define configs with env vars --- - app.php | 6 +++--- - services/DatabaseService.php | 2 +- - services/FilesService.php | 2 +- - services/StockService.php | 2 +- - 4 files changed, 6 insertions(+), 6 deletions(-) + app.php | 8 ++++---- + controllers/BaseApiController.php | 2 +- + services/DatabaseService.php | 2 +- + services/FilesService.php | 2 +- + services/StockService.php | 2 +- + 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app.php b/app.php -index bc5b1b3..26f7687 100644 +index 9cdd14e5..c0b30b6e 100644 --- a/app.php +++ b/app.php @@ -12,7 +12,7 @@ use Slim\Views\Blade; @@ -23,7 +24,16 @@ index bc5b1b3..26f7687 100644 require_once __DIR__ . '/config-dist.php'; // For not in own config defined values we use the default ones require_once __DIR__ . '/helpers/ConfigurationValidator.php'; -@@ -64,7 +64,7 @@ $app = AppFactory::create(); +@@ -52,7 +52,7 @@ catch (EInvalidConfig $ex) + } + + // Create data/viewcache folder if it doesn't exist +-$viewcachePath = GROCY_DATAPATH . '/viewcache'; ++$viewcachePath = getenv('GROCY_CACHE_DIR'); + if (!file_exists($viewcachePath)) + { + mkdir($viewcachePath); +@@ -85,7 +85,7 @@ $app = AppFactory::create(); $container = $app->getContainer(); $container->set('view', function (Container $container) { @@ -32,7 +42,7 @@ index bc5b1b3..26f7687 100644 }); $container->set('UrlManager', function (Container $container) -@@ -106,7 +106,7 @@ $errorMiddleware->setDefaultErrorHandler( +@@ -127,7 +127,7 @@ $errorMiddleware->setDefaultErrorHandler( $app->add(new CorsMiddleware($app->getResponseFactory())); @@ -42,7 +52,7 @@ index bc5b1b3..26f7687 100644 ob_clean(); // No response output before here $app->run(); diff --git a/controllers/BaseApiController.php b/controllers/BaseApiController.php -index 5941e348..e5b02af4 100644 +index 5941e348..9283ba93 100644 --- a/controllers/BaseApiController.php +++ b/controllers/BaseApiController.php @@ -162,7 +162,7 @@ class BaseApiController extends BaseController @@ -55,10 +65,10 @@ index 5941e348..e5b02af4 100644 $htmlPurifierConfig->set('Attr.EnableID', true); $htmlPurifierConfig->set('HTML.SafeIframe', true); diff --git a/services/DatabaseService.php b/services/DatabaseService.php -index ba79a73..12a851a 100644 +index c5914e49..c249a3bf 100644 --- a/services/DatabaseService.php +++ b/services/DatabaseService.php -@@ -137,6 +137,6 @@ class DatabaseService +@@ -145,6 +145,6 @@ class DatabaseService return GROCY_DATAPATH . '/grocy_' . $dbSuffix . '.db'; } @@ -67,7 +77,7 @@ index ba79a73..12a851a 100644 } } diff --git a/services/FilesService.php b/services/FilesService.php -index 7d07035..a6dd4b0 100644 +index 113a6478..61568bc6 100644 --- a/services/FilesService.php +++ b/services/FilesService.php @@ -10,7 +10,7 @@ class FilesService extends BaseService @@ -80,18 +90,18 @@ index 7d07035..a6dd4b0 100644 { mkdir($this->StoragePath); diff --git a/services/StockService.php b/services/StockService.php -index 9f034a5..fd3c0b7 100644 +index 2261db4e..cd438942 100644 --- a/services/StockService.php +++ b/services/StockService.php -@@ -1707,7 +1707,7 @@ class StockService extends BaseService - throw new \Exception('No barcode lookup plugin defined'); - } +@@ -1752,7 +1752,7 @@ class StockService extends BaseService -- $path = GROCY_DATAPATH . "/plugins/$pluginName.php"; -+ $path = getenv('GROCY_PLUGIN_DIR') . "/$pluginName.php"; - if (file_exists($path)) + // User plugins take precedence + $standardPluginPath = __DIR__ . "/../plugins/$pluginName.php"; +- $userPluginPath = GROCY_DATAPATH . "/plugins/$pluginName.php"; ++ $userPluginPath = getenv('GROCY_PLUGIN_DIR') . "/$pluginName.php"; + if (file_exists($userPluginPath)) { - require_once $path; + require_once $userPluginPath; -- -2.42.0 +2.47.2 diff --git a/pkgs/by-name/gr/grocy/0002-Remove-check-for-config-file-as-it-s-stored-in-etc-g.patch b/pkgs/by-name/gr/grocy/0002-Remove-check-for-config-file-as-it-s-stored-in-etc-g.patch index 24050f782c48..fd3139ae936e 100644 --- a/pkgs/by-name/gr/grocy/0002-Remove-check-for-config-file-as-it-s-stored-in-etc-g.patch +++ b/pkgs/by-name/gr/grocy/0002-Remove-check-for-config-file-as-it-s-stored-in-etc-g.patch @@ -1,6 +1,6 @@ -From b532add2d1287489d4541e79c976bb77795696cd Mon Sep 17 00:00:00 2001 -From: Ember Keske -Date: Wed, 2 Aug 2023 06:36:46 +0200 +From f397d6e82d73761358d815a5ba880a05e7e281c3 Mon Sep 17 00:00:00 2001 +From: Chris Moultrie +Date: Tue, 4 Mar 2025 08:21:28 -0500 Subject: [PATCH 2/2] Remove check for config-file as it's stored in /etc/grocy --- @@ -8,7 +8,7 @@ Subject: [PATCH 2/2] Remove check for config-file as it's stored in /etc/grocy 1 file changed, 1 deletion(-) diff --git a/helpers/PrerequisiteChecker.php b/helpers/PrerequisiteChecker.php -index 8e12a5c..37b433d 100644 +index 8e12a5c5..37b433db 100644 --- a/helpers/PrerequisiteChecker.php +++ b/helpers/PrerequisiteChecker.php @@ -18,7 +18,6 @@ class PrerequisiteChecker @@ -20,4 +20,5 @@ index 8e12a5c..37b433d 100644 self::checkForComposer(); self::checkForPhpExtensions(); -- -2.42.0 \ No newline at end of file +2.47.2 + diff --git a/pkgs/by-name/gr/grocy/package.nix b/pkgs/by-name/gr/grocy/package.nix index 18374dbac41a..a1b62e792432 100644 --- a/pkgs/by-name/gr/grocy/package.nix +++ b/pkgs/by-name/gr/grocy/package.nix @@ -10,20 +10,20 @@ php.buildComposerProject2 (finalAttrs: { pname = "grocy"; - version = "4.3.0"; + version = "4.4.2"; src = fetchFromGitHub { owner = "grocy"; repo = "grocy"; tag = "v${finalAttrs.version}"; - hash = "sha256-9Lc3NUZ7Huiyt887kCHL6lshow3+Pqrq8h1NV+CFHGs="; + hash = "sha256-jIlFQFXtxZ/rrPs9iSCn32scXPgi1ed4o8qXKm/WrrQ="; }; - vendorHash = "sha256-0Hn9dp5ASF0R2L0HTeQ9nSSN7dZgk1a4mv+ZkNMm+k8="; + vendorHash = "sha256-cKKJFsDoQqiW7qicZi2sZ6Fmymg/4oU45PWJ0NsjjtY="; offlineCache = fetchYarnDeps { yarnLock = finalAttrs.src + "/yarn.lock"; - hash = "sha256-l8uYMBMufbSHhxNxqqA0BqCLqUYubjIpgevaenzy5Ic="; + hash = "sha256-iym+kdnjkcQtIIe800Q4BYR7/vLl63XT62FtDJnjqkw="; }; nativeBuildInputs = [ From 80ffcc9b7cbb1b781b6c7356ea59262d67842549 Mon Sep 17 00:00:00 2001 From: Chris Moultrie <821688+tebriel@users.noreply.github.com> Date: Tue, 4 Mar 2025 12:55:10 -0500 Subject: [PATCH 011/272] grocy: fix passthru test with second curl invocation --- nixos/tests/grocy.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/tests/grocy.nix b/nixos/tests/grocy.nix index 0cfaf1e7fc58..3031ed15c743 100644 --- a/nixos/tests/grocy.nix +++ b/nixos/tests/grocy.nix @@ -25,7 +25,10 @@ import ./make-test-python.nix ( machine.wait_for_open_port(80) machine.wait_for_unit("multi-user.target") + # This establishes _something_ machine.succeed("curl -sSf http://localhost") + # The second request creates the database, unsure why both are required + machine.succeed("curl -sSf http://localhost/") machine.succeed( "curl -c cookies -sSf -X POST http://localhost/login -d 'username=admin&password=admin'" From 110b3af97a8524161cd90e7a2aa5f2c269e4268c Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 6 Mar 2025 02:00:59 +0100 Subject: [PATCH 012/272] nixos/tests/echoip: use runTest --- nixos/tests/all-tests.nix | 2 +- nixos/tests/echoip.nix | 47 +++++++++++++++++++-------------------- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 809440bfbf97..06411420a5dc 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -341,7 +341,7 @@ in { early-mount-options = handleTest ./early-mount-options.nix {}; ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {}; ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {}; - echoip = handleTest ./echoip.nix {}; + echoip = runTest ./echoip.nix; ecryptfs = handleTest ./ecryptfs.nix {}; fscrypt = handleTest ./fscrypt.nix {}; fastnetmon-advanced = runTest ./fastnetmon-advanced.nix; diff --git a/nixos/tests/echoip.nix b/nixos/tests/echoip.nix index 036018b26438..0e7747d713c1 100644 --- a/nixos/tests/echoip.nix +++ b/nixos/tests/echoip.nix @@ -1,29 +1,28 @@ -import ./make-test-python.nix ( - { lib, ... }: - { - name = "echoip"; - meta.maintainers = with lib.maintainers; [ defelo ]; +{ lib, ... }: - nodes.machine = { - services.echoip = { - enable = true; - virtualHost = "echoip.local"; - }; +{ + name = "echoip"; + meta.maintainers = with lib.maintainers; [ defelo ]; - networking.hosts = { - "127.0.0.1" = [ "echoip.local" ]; - "::1" = [ "echoip.local" ]; - }; + nodes.machine = { + services.echoip = { + enable = true; + virtualHost = "echoip.local"; }; - testScript = '' - machine.wait_for_unit("echoip.service") - machine.wait_for_open_port(8080) + networking.hosts = { + "127.0.0.1" = [ "echoip.local" ]; + "::1" = [ "echoip.local" ]; + }; + }; - resp = machine.succeed("curl -4 http://echoip.local/ip") - assert resp.strip() == "127.0.0.1" - resp = machine.succeed("curl -6 http://echoip.local/ip") - assert resp.strip() == "::1" - ''; - } -) + testScript = '' + machine.wait_for_unit("echoip.service") + machine.wait_for_open_port(8080) + + resp = machine.succeed("curl -4 http://echoip.local/ip") + assert resp.strip() == "127.0.0.1" + resp = machine.succeed("curl -6 http://echoip.local/ip") + assert resp.strip() == "::1" + ''; +} From eccf6388229ab41dec9b97244fe0432490cbc4cb Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 6 Mar 2025 02:01:23 +0100 Subject: [PATCH 013/272] nixos/echoip: improve systemd hardening --- nixos/modules/services/web-apps/echoip.nix | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/web-apps/echoip.nix b/nixos/modules/services/web-apps/echoip.nix index 4bfba2ae138a..369ff35f4978 100644 --- a/nixos/modules/services/web-apps/echoip.nix +++ b/nixos/modules/services/web-apps/echoip.nix @@ -75,9 +75,12 @@ in ); # Hardening + AmbientCapabilities = ""; CapabilityBoundingSet = [ "" ]; - DeviceAllow = [ "" ]; + DevicePolicy = "closed"; LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; PrivateDevices = true; PrivateTmp = true; PrivateUsers = true; @@ -91,15 +94,19 @@ in ProtectKernelTunables = true; ProtectProc = "invisible"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" - ]; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET AF_INET6 AF_UNIX" ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + "setrlimit" + ]; + UMask = "0077"; }; }; From b7e39b9885cd1c8d5594290e4233d775fc34f2c7 Mon Sep 17 00:00:00 2001 From: Sigmanificient Date: Fri, 7 Mar 2025 19:20:17 +0100 Subject: [PATCH 014/272] python312Packages.pandoc-latex-environment: fix build --- .../python-modules/pandoc-latex-environment/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/pandoc-latex-environment/default.nix b/pkgs/development/python-modules/pandoc-latex-environment/default.nix index ec5066c1a2d8..6ccf7dd09ce6 100644 --- a/pkgs/development/python-modules/pandoc-latex-environment/default.nix +++ b/pkgs/development/python-modules/pandoc-latex-environment/default.nix @@ -2,11 +2,11 @@ lib, buildPythonPackage, fetchFromGitHub, - poetry-core, - poetry-dynamic-versioning, panflute, pytestCheckHook, pandoc, + hatchling, + hatch-vcs, }: buildPythonPackage rec { @@ -22,9 +22,10 @@ buildPythonPackage rec { }; build-system = [ - poetry-core - poetry-dynamic-versioning + hatchling + hatch-vcs ]; + dependencies = [ panflute ]; pythonImportsCheck = [ "pandoc_latex_environment" ]; From c2d4e8f4cb3e2394cc31a949426ccd38f0056339 Mon Sep 17 00:00:00 2001 From: Kevin Boulain Date: Sun, 9 Mar 2025 10:41:42 +0100 Subject: [PATCH 015/272] nixos/nixos-containers: user options take precedence over module ones I think this is the norm in NixOS modules. This allows to start a container with '--volatile=overlay --link-journal=host' in order to persist logs across runs of a container running with a temporary root. While '--ephemeral' omits '--link-journal=try-guest', it's not possible to run an ephemeral container when linking the journal: https://github.com/systemd/systemd/issues/1666 --- nixos/modules/virtualisation/nixos-containers.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index 9e999e479638..acb5d1ce8384 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -178,7 +178,6 @@ let exec ${config.systemd.package}/bin/systemd-nspawn \ --keep-unit \ -M "$INSTANCE" -D "$root" "''${extraFlags[@]}" \ - $EXTRA_NSPAWN_FLAGS \ --notify-ready=yes \ --kill-signal=SIGRTMIN+3 \ --bind-ro=/nix/store:/nix/store$NIX_BIND_OPT \ @@ -203,6 +202,7 @@ let ${optionalString (cfg.tmpfs != null && cfg.tmpfs != []) ''--tmpfs=${concatStringsSep " --tmpfs=" cfg.tmpfs}'' } \ + $EXTRA_NSPAWN_FLAGS \ ${containerInit cfg} "''${SYSTEM_PATH:-/nix/var/nix/profiles/system}/init" ''; From 791fbe96a246030f91a69a3680bd600cea08b2fa Mon Sep 17 00:00:00 2001 From: emaryn Date: Sun, 9 Mar 2025 21:09:47 +0800 Subject: [PATCH 016/272] udftools: 2.0 -> 2.3 --- pkgs/by-name/ud/udftools/package.nix | 31 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/pkgs/by-name/ud/udftools/package.nix b/pkgs/by-name/ud/udftools/package.nix index 4d908eccb03c..c1f46bea9955 100644 --- a/pkgs/by-name/ud/udftools/package.nix +++ b/pkgs/by-name/ud/udftools/package.nix @@ -5,48 +5,49 @@ ncurses, readline, autoreconfHook, + pkg-config, }: stdenv.mkDerivation rec { pname = "udftools"; - version = "2.0"; + version = "2.3"; + src = fetchFromGitHub { owner = "pali"; repo = "udftools"; - rev = version; - sha256 = "0mz04h3rki6ljwfs15z83gf4vv816w7xgz923waiqgmfj9xpvx87"; + tag = version; + hash = "sha256-SUdwJpJfbs6LhcyNMPJUhhpp/3htwT/EVep7+4PRgto="; }; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ ncurses readline ]; - nativeBuildInputs = [ autoreconfHook ]; hardeningDisable = [ "fortify" ]; - env.NIX_CFLAGS_COMPILE = "-std=gnu90"; + env.NIX_CFLAGS_COMPILE = "-std=gnu99"; preConfigure = '' sed -e '1i#include ' -i cdrwtool/cdrwtool.c -i pktsetup/pktsetup.c sed -e 's@[(]char[*][)]spm [+]=@spm = ((char*) spm) + @' -i wrudf/wrudf.c - sed -e '27i#include ' -i include/udf_endian.h sed -e '38i#include ' -i wrudf/wrudf-cdrw.c sed -e '12i#include ' -i wrudf/wrudf-cdr.c sed -e '37i#include ' -i wrudf/ide-pc.c sed -e '46i#include ' -i mkudffs/main.c - sed -e "s@\$(DESTDIR)/lib/udev/rules.d@$out/lib/udev/rules.d@" -i pktsetup/Makefile.am ''; - postFixup = '' - sed -i -e "s@/usr/sbin/pktsetup@$out/sbin/pktsetup@" $out/lib/udev/rules.d/80-pktsetup.rules - ''; - - meta = with lib; { + meta = { description = "UDF tools"; - maintainers = with maintainers; [ raskin ]; - platforms = platforms.linux; - license = licenses.gpl2Plus; + homepage = "https://github.com/pali/udftools"; + maintainers = with lib.maintainers; [ raskin ]; + platforms = lib.platforms.linux; + license = lib.licenses.gpl2Plus; }; } From bc4de002cffe010be2a15d6aa687a4fd1942a668 Mon Sep 17 00:00:00 2001 From: Caleb Norton Date: Mon, 10 Mar 2025 00:58:11 -0500 Subject: [PATCH 017/272] infnoise: 0.3.2 -> 0.3.3 --- pkgs/by-name/in/infnoise/makefile.patch | 14 -------------- pkgs/by-name/in/infnoise/package.nix | 19 +++++++++---------- 2 files changed, 9 insertions(+), 24 deletions(-) delete mode 100644 pkgs/by-name/in/infnoise/makefile.patch diff --git a/pkgs/by-name/in/infnoise/makefile.patch b/pkgs/by-name/in/infnoise/makefile.patch deleted file mode 100644 index 871a6c508ce6..000000000000 --- a/pkgs/by-name/in/infnoise/makefile.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/software/Makefile.linux b/software/Makefile.linux -index db48aa5..df8b3d2 100644 ---- a/software/Makefile.linux -+++ b/software/Makefile.linux -@@ -1,6 +1,6 @@ --GIT_VERSION := $(shell git --no-pager describe --tags --always) --GIT_COMMIT := $(shell git rev-parse --verify HEAD) --GIT_DATE := $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) -+GIT_VERSION ?= $(shell git --no-pager describe --tags --always) -+GIT_COMMIT ?= $(shell git rev-parse --verify HEAD) -+GIT_DATE ?= $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) - - PREFIX = $(DESTDIR)/usr/local - diff --git a/pkgs/by-name/in/infnoise/package.nix b/pkgs/by-name/in/infnoise/package.nix index c596f9e76c79..08ee53e739f1 100644 --- a/pkgs/by-name/in/infnoise/package.nix +++ b/pkgs/by-name/in/infnoise/package.nix @@ -9,29 +9,26 @@ stdenv.mkDerivation (finalAttrs: { pname = "infnoise"; - version = "0.3.2"; + version = "0.3.3"; src = fetchFromGitHub { owner = "leetronics"; repo = "infnoise"; - rev = "e80ddd78085abf3d06df2e0d8c08fd33dade78eb"; - sha256 = "sha256-9MKG1InkV+yrQPBTgi2gZJ3y9Fokb6WbxuAnM7n7FyA="; + rev = "19bb69894724d87b32b7b9b86022bb4b26c919f8"; + sha256 = "sha256-O2P4uOwO7wKLYLufdW3KQeyuFBoQPdSepnTUeq0CSJY="; }; patches = [ - # Patch makefile so we can set defines from the command line instead of it depending on .git - ./makefile.patch - - # Fix getc return type + # Patch providing version info at compile time (fetchpatch { - url = "https://github.com/leetronics/infnoise/commit/7ed7014e14253311c07e530c8f89f1c8f4705c2b.patch"; - sha256 = "sha256-seB/fJaxQ/rXJp5iPtnobXXOccQ2KUAk6HFx31dhOhs="; + url = "https://github.com/leetronics/infnoise/commit/04d52a975bf78d2aff2bb4c176c286715e1948ba.patch"; + sha256 = "sha256-vtPAR6gCyny9UP+U6/7X8CPEUuMDl7RIyICIwiaWyfc="; }) ]; GIT_COMMIT = finalAttrs.src.rev; GIT_VERSION = finalAttrs.version; - GIT_DATE = "2019-08-12"; + GIT_DATE = "2023-02-14"; buildInputs = [ libftdi ]; @@ -44,6 +41,8 @@ stdenv.mkDerivation (finalAttrs: { postInstall = '' make -C tools + # 2e6cfbe made findlongest executable, but it's a C file + chmod -x tools/*.c find ./tools/ -executable -type f -exec \ sh -c "install -Dm755 {} $out/bin/infnoise-\$(basename {})" \; ''; From 995ed90d3d20e729a7d0aff8c8a95562465fb57d Mon Sep 17 00:00:00 2001 From: Ritiek Malhotra Date: Tue, 11 Mar 2025 22:29:15 +0530 Subject: [PATCH 018/272] rustlings: add gcc to PATH fixes the following traceback when compiling an exercise: ```bash $ rustlings run error: linker `cc` not found | = note: No such file or directory (os error 2) error: could not compile `exercises` (bin "variables1") due to 1 previous error ``` --- pkgs/by-name/ru/rustlings/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/ru/rustlings/package.nix b/pkgs/by-name/ru/rustlings/package.nix index 48a56690b2d1..5c3f1549df0c 100644 --- a/pkgs/by-name/ru/rustlings/package.nix +++ b/pkgs/by-name/ru/rustlings/package.nix @@ -8,6 +8,7 @@ cargo, rustc, clippy, + gcc, makeWrapper, }: let @@ -47,6 +48,7 @@ rustPlatform.buildRustPackage { cargo rustc clippy + gcc ] } ''; From bf0c4e694e326c7ddcbd7372891abbc7ff85f67f Mon Sep 17 00:00:00 2001 From: Guy Chronister Date: Tue, 11 Mar 2025 12:54:12 -0500 Subject: [PATCH 019/272] acpi: 1.7 -> 1.8 --- pkgs/by-name/ac/acpi/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ac/acpi/package.nix b/pkgs/by-name/ac/acpi/package.nix index 2d9decc66244..54ea37c8ca2e 100644 --- a/pkgs/by-name/ac/acpi/package.nix +++ b/pkgs/by-name/ac/acpi/package.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "acpi"; - version = "1.7"; + version = "1.8"; src = fetchurl { url = "mirror://sourceforge/acpiclient/${version}/${pname}-${version}.tar.gz"; - sha256 = "01ahldvf0gc29dmbd5zi4rrnrw2i1ajnf30sx2vyaski3jv099fp"; + sha256 = "sha256-5kxuALU815dCfqMqFgUTQlsD7U8HdzP3Hx8J/zQPIws="; }; meta = with lib; { From 80ba690907467b4554e9adff17cd7e1c8f6a1fae Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 11 Mar 2025 10:24:54 -0400 Subject: [PATCH 020/272] julia_110-bin: 1.10.8 -> 1.10.9 --- pkgs/development/compilers/julia/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index 390745fe5290..84dd230c86ea 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -29,12 +29,12 @@ in { }); julia_110-bin = wrapJulia (callPackage (import ./generic-bin.nix { - version = "1.10.8"; + version = "1.10.9"; sha256 = { - x86_64-linux = "0410175aeec3df63173c15187f2083f179d40596d36fd3a57819cc5f522ae735"; - aarch64-linux = "8d63dd12595a08edc736be8d6c4fea1840f137b81c62079d970dbd1be448b8cd"; - x86_64-darwin = "8dae60def14db9e9b0f70891f15483d05785ae27a2c14f8f4b1ce27010e4015f"; - aarch64-darwin = "cdd5891a7b143bde835a79155471b82c5482d4dc5576f719351810548242e64b"; + x86_64-linux = "5a2d2c5224594b683c97e7304cb72407fbcf0be4a0187789cba1a2f73f0cbf09"; + aarch64-linux = "be222882e3674f960f43b6842f7bbb52a369977e40d5dcd26498793e1cd2dfb6"; + x86_64-darwin = "f80c93c30a18d8a5dc7f37d0cc94757fd3857651268e4a9e2d42d3b1ea3372f1"; + aarch64-darwin = "e62e00b22408159cba3d669f2d9e8b60c1d23b5c2d1c22ec25f4957d15ca98ef"; }; }) { }); From c8ece57f16276862944dd21e268d86a896a33d34 Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 11 Mar 2025 10:34:06 -0400 Subject: [PATCH 021/272] julia_110: 1.10.8 -> 1.10.9 --- pkgs/development/compilers/julia/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index 84dd230c86ea..c75c5cd4bc44 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -60,8 +60,8 @@ in { }); julia_110 = wrapJulia (callPackage (import ./generic.nix { - version = "1.10.8"; - hash = "sha256-NPojubjOgy32CWlD/TDzI764Ca7cMsFj9r7vUdUW9Oc="; + version = "1.10.9"; + hash = "sha256-u9by+X76fcXs+w159KTSvw43JeYwJ9Wvn0VyoEfniTM="; patches = [ ./patches/1.10/0002-skip-failing-and-flaky-tests.patch # Revert https://github.com/JuliaLang/julia/pull/55354 From f105c8e97340544d1dc6fdade03b33dbe224c23c Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 11 Mar 2025 10:20:49 -0400 Subject: [PATCH 022/272] julia_111-bin: 1.11.3 -> 1.11.4 --- pkgs/development/compilers/julia/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index c75c5cd4bc44..c783969a529f 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -40,12 +40,12 @@ in { }); julia_111-bin = wrapJulia (callPackage (import ./generic-bin.nix { - version = "1.11.3"; + version = "1.11.4"; sha256 = { - x86_64-linux = "7d48da416c8cb45582a1285d60127ee31ef7092ded3ec594a9f2cf58431c07fd"; - aarch64-linux = "0c1f2f60c3ecc37ae0c559db325dc64858fb11d6729b25d63f23e5285f7906ef"; - x86_64-darwin = "5220aade1b43db722fb4e287f1c5d25aa492267b86a846db1546504836cca1be"; - aarch64-darwin = "554fb0ddb4d94d623c83ca5e9d309fe1a7a0924445cb18ec3b863fb3367b0ba8"; + x86_64-linux = "fb3d3c5fccef82158a70677c0044ac5ae40410eceb0604cdc8e643eeff21df8d"; + aarch64-linux = "859f1a8cc4bce6911bc912f0e226a6ba2b1c144110b9d559d88f5077513d0e37"; + x86_64-darwin = "7e693914399f2ebe1fafe5c670af0373474145cfe2bfda661f370559a680720a"; + aarch64-darwin = "5adfb4482bba9610405c0f9b5a3c1aa09cabf70c8751d75970f2dab0fa819488"; }; }) { }); From ea4edc44cce55416794c4254f08d46b78a46b9ae Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Tue, 11 Mar 2025 10:34:19 -0400 Subject: [PATCH 023/272] julia_111: 1.11.3 -> 1.11.4 --- pkgs/development/compilers/julia/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index c783969a529f..14d2f699e3d7 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -77,8 +77,8 @@ in { }); julia_111 = wrapJulia (callPackage (import ./generic.nix { - version = "1.11.3"; - hash = "sha256-Ansli0e04agdHs3TVa3v/bbAGBya2YjnF/XkdaEqHeg="; + version = "1.11.4"; + hash = "sha256-xJNlYtBRKIQtf+K+MHNDM1GeqUpUhhtdC/440QPpa1s="; patches = [ ./patches/1.11/0002-skip-failing-and-flaky-tests.patch ]; From 8a09bd8d1f220e40c56b4cac071d8fe1e0de38f1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 11 Mar 2025 23:19:05 +0000 Subject: [PATCH 024/272] python312Packages.krb5: 0.7.0 -> 0.7.1 --- pkgs/development/python-modules/krb5/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/krb5/default.nix b/pkgs/development/python-modules/krb5/default.nix index 5b4de628d7ca..78db37c42f71 100644 --- a/pkgs/development/python-modules/krb5/default.nix +++ b/pkgs/development/python-modules/krb5/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "krb5"; - version = "0.7.0"; + version = "0.7.1"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-ajCPLhfRUcOVsk5q7Hvf9qVv42J6MgQvyG1BI5ipLd0="; + hash = "sha256-7V8T1QMUibENhlXAraKKgcI5Gz7LigjG1znh5YNbxFA="; }; build-system = [ From 10b5f8dd5aa985a9ee173fa88beabd785434ba18 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 12 Mar 2025 00:32:26 +0000 Subject: [PATCH 025/272] python312Packages.configparser: 7.1.0 -> 7.2.0 --- pkgs/development/python-modules/configparser/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/configparser/default.nix b/pkgs/development/python-modules/configparser/default.nix index 2c9981db34a6..61c71a2f157b 100644 --- a/pkgs/development/python-modules/configparser/default.nix +++ b/pkgs/development/python-modules/configparser/default.nix @@ -10,14 +10,14 @@ buildPythonPackage rec { pname = "configparser"; - version = "7.1.0"; + version = "7.2.0"; pyproject = true; src = fetchFromGitHub { owner = "jaraco"; repo = "configparser"; tag = "v${version}"; - hash = "sha256-6B1I/kS60opMDpCzy2tnlnV65Qo500G0zPHP1I5TDWA="; + hash = "sha256-ZPoHnmD0YjY3+dUW1NKDJjNOVrUFNOjQyMqamOsS2RQ="; }; nativeBuildInputs = [ From e7706ec0dfe4248d85dc3e877b8783e696158b40 Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 12 Mar 2025 11:31:01 +0100 Subject: [PATCH 026/272] cloudflare-cli: init at 4.2.0 --- pkgs/by-name/cl/cloudflare-cli/package.nix | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pkgs/by-name/cl/cloudflare-cli/package.nix diff --git a/pkgs/by-name/cl/cloudflare-cli/package.nix b/pkgs/by-name/cl/cloudflare-cli/package.nix new file mode 100644 index 000000000000..6e1ad3be90b0 --- /dev/null +++ b/pkgs/by-name/cl/cloudflare-cli/package.nix @@ -0,0 +1,53 @@ +{ + lib, + stdenv, + fetchFromGitHub, + fetchYarnDeps, + yarnConfigHook, + yarnInstallHook, + nodejs, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "cloudflare-cli"; + version = "4.2.0"; + + src = fetchFromGitHub { + owner = "danielpigott"; + repo = "cloudflare-cli"; + tag = "v${finalAttrs.version}"; + hash = "sha256-cT+cMekXhHKfFi+dH1dCA/YNBSyYePJIZBSkDMPZZ14="; + }; + + yarnOfflineCache = fetchYarnDeps { + yarnLock = finalAttrs.src + "/yarn.lock"; + hash = "sha256-0SFXgaLQE/MkqC9id7DAiP422tEyTt2gpgpIdXViFBI="; + }; + + nativeBuildInputs = [ + yarnConfigHook + yarnInstallHook + nodejs + ]; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + + $out/bin/cfcli --help >/dev/null + + runHook postInstallCheck + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI for interacting with Cloudflare"; + homepage = "https://github.com/danielpigott/cloudflare-cli"; + changelog = "https://github.com/danielpigott/cloudflare-cli/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ defelo ]; + mainProgram = "cfcli"; + }; +}) From d12b03a9b8a17fffda73ad6d4ff2252265d099dc Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Wed, 12 Mar 2025 18:10:03 +0100 Subject: [PATCH 027/272] annextimelog: 0.13.1 -> 0.14.0 Signed-off-by: Matthias Beyer --- pkgs/by-name/an/annextimelog/package.nix | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/an/annextimelog/package.nix b/pkgs/by-name/an/annextimelog/package.nix index 88a914f94f63..d1259995737b 100644 --- a/pkgs/by-name/an/annextimelog/package.nix +++ b/pkgs/by-name/an/annextimelog/package.nix @@ -2,32 +2,44 @@ lib, python3, fetchFromGitLab, + fetchPypi, }: +let + tzdata = python3.pkgs.tzdata.overrideAttrs rec { + version = "2023.4"; + + src = fetchPypi { + pname = "tzdata"; + inherit version; + hash = "sha256-3VTJTylHZVIsdzmWSbT+/ZVSJHmmZKDOyH9BvrxhSMk="; + }; + }; +in python3.pkgs.buildPythonApplication rec { pname = "annextimelog"; - version = "0.13.1"; + version = "0.14.0"; format = "pyproject"; src = fetchFromGitLab { owner = "nobodyinperson"; repo = "annextimelog"; rev = "v${version}"; - hash = "sha256-VgeILw8WfqVrmsU/kBw+jHTOt2a6sVT7YgP2pKRp2AY="; + hash = "sha256-+3PkG33qKckagSVvVdqkypulO7uu5AMOv8fQiP8IUbs="; }; nativeBuildInputs = with python3.pkgs; [ setuptools wheel poetry-core - ]; + ] ++ [ tzdata ]; propagatedBuildInputs = with python3.pkgs; [ rich ]; meta = with lib; { - description = "️Git Annex-backed Time Tracking"; + description = "git-annex based cli time tracker"; homepage = "https://gitlab.com/nobodyinperson/annextimelog"; license = licenses.gpl3Plus; maintainers = with maintainers; [ matthiasbeyer ]; From e3448357fe5a3530d24d03f7eb80061122b9cafc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 12 Mar 2025 19:27:28 +0000 Subject: [PATCH 028/272] hurl: 6.0.0 -> 6.1.0 --- pkgs/by-name/hu/hurl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/hu/hurl/package.nix b/pkgs/by-name/hu/hurl/package.nix index 5b29f0d554ad..0a89da534aec 100644 --- a/pkgs/by-name/hu/hurl/package.nix +++ b/pkgs/by-name/hu/hurl/package.nix @@ -12,17 +12,17 @@ rustPlatform.buildRustPackage rec { pname = "hurl"; - version = "6.0.0"; + version = "6.1.0"; src = fetchFromGitHub { owner = "Orange-OpenSource"; repo = "hurl"; tag = version; - hash = "sha256-zrZWYnXUuzf2cS3n56/hWDvyXVM4Y/34SOlMPrtAhJo="; + hash = "sha256-fj9OKS8IFKbxwzjhnta44hAXPy90fBOAV35K13YtaOs="; }; useFetchCargoVendor = true; - cargoHash = "sha256-sq0m6wkryfmthkPHMY0ZOXNhdNKnnsPLa/6tTsuWCS0="; + cargoHash = "sha256-aGj/vQCf1nBLmQYYxdR8437irLP+3W3z0F8tyVTrKZk="; nativeBuildInputs = [ pkg-config From 473c1988ab0e3760a5dd48acf9256a127f7a4d96 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 28 Feb 2025 14:06:02 +0100 Subject: [PATCH 029/272] python3Packages.icalendar-compatibility: init at 0.1.4 --- .../icalendar-compatibility/default.nix | 53 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 55 insertions(+) create mode 100644 pkgs/development/python-modules/icalendar-compatibility/default.nix diff --git a/pkgs/development/python-modules/icalendar-compatibility/default.nix b/pkgs/development/python-modules/icalendar-compatibility/default.nix new file mode 100644 index 000000000000..b5969bcca32b --- /dev/null +++ b/pkgs/development/python-modules/icalendar-compatibility/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hatch-vcs, + icalendar, + pytestCheckHook, + git, +}: + +buildPythonPackage rec { + pname = "icalendar-compatibility"; + version = "0.1.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "niccokunzmann"; + repo = "icalendar_compatibility"; + tag = "v${version}"; + hash = "sha256-h9rpbltNEPMteicPJ6oC32NsZS8QXQphLbC0Qiu7j5Q="; + }; + + # hatch-vcs tries to read the current git commit hash + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'dynamic = ["urls", "version"]' 'version = "${version}"' + ''; + + build-system = [ + hatchling + hatch-vcs + ]; + + dependencies = [ icalendar ]; + + nativeCheckInputs = [ + pytestCheckHook + git + ]; + + pythonImportsCheck = [ "icalendar_compatibility" ]; + + # env.SETUPTOOLS_SCM_PRETEND_VERSION = version; + + meta = { + homepage = "https://icalendar-compatibility.readthedocs.io/en/latest/"; + changelog = "https://icalendar-compatibility.readthedocs.io/en/latest/changes.html"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ erictapen ]; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0c046157350e..391b9ced629c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6306,6 +6306,8 @@ self: super: with self; { icalendar = callPackage ../development/python-modules/icalendar { }; + icalendar-compatibility = callPackage ../development/python-modules/icalendar-compatibility { }; + icalevents = callPackage ../development/python-modules/icalevents { }; icecream = callPackage ../development/python-modules/icecream { }; From 4483e78ccb1268822ae7f01e72f2df92773dd022 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 28 Feb 2025 14:21:18 +0100 Subject: [PATCH 030/272] python3Packages.x-wr-timezone: 2.0.0 -> 2.0.1 Diff: https://github.com/niccokunzmann/x-wr-timezone/compare/refs/tags/v2.0.0...v2.0.1 Changelog: https://github.com/niccokunzmann/x-wr-timezone/blob/refs/tags/v2.0.1/README.rst#changelog --- pkgs/development/python-modules/x-wr-timezone/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/x-wr-timezone/default.nix b/pkgs/development/python-modules/x-wr-timezone/default.nix index 497ab9d2cd2a..0cfbc02b2641 100644 --- a/pkgs/development/python-modules/x-wr-timezone/default.nix +++ b/pkgs/development/python-modules/x-wr-timezone/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "x-wr-timezone"; - version = "2.0.0"; + version = "2.0.1"; pyproject = true; src = fetchFromGitHub { owner = "niccokunzmann"; repo = "x-wr-timezone"; tag = "v${version}"; - hash = "sha256-F/bNETgscbhEkpG/D1eSJaBNdpi0+xEYuNL4RURGST0="; + hash = "sha256-Llpe3Z0Yfd0vRgx95D4YVrnNJk0g/VqPuNvtUrUpFk0="; }; build-system = [ setuptools ]; From 56d7ffe96dc1f556d11ce53207f2d41263e88d83 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Fri, 28 Feb 2025 14:20:39 +0100 Subject: [PATCH 031/272] python3Packages.mergecal: init at 0.5.0 --- .../python-modules/mergecal/default.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/development/python-modules/mergecal/default.nix diff --git a/pkgs/development/python-modules/mergecal/default.nix b/pkgs/development/python-modules/mergecal/default.nix new file mode 100644 index 000000000000..25d038f02b36 --- /dev/null +++ b/pkgs/development/python-modules/mergecal/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + icalendar, + rich, + typer, + x-wr-timezone, + pytestCheckHook, + pytest-cov-stub, +}: + +buildPythonPackage rec { + pname = "mergecal"; + version = "0.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mergecal"; + repo = "python-mergecal"; + tag = "v${version}"; + hash = "sha256-Je3gFREu97Ycofszhr6pKOCiK76oBuzb3ji4LAf5aE8="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + icalendar + rich + typer + x-wr-timezone + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + ]; + + pythonImportChecks = [ "mergecal" ]; + + meta = { + homepage = "https://mergecal.readthedocs.io/en/latest/"; + changelog = "https://github.com/mergecal/python-mergecal/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ erictapen ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 391b9ced629c..8f71f8bf0b3a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8288,6 +8288,8 @@ self: super: with self; { merge3 = callPackage ../development/python-modules/merge3 { }; + mergecal = callPackage ../development/python-modules/mergecal { }; + mergedb = callPackage ../development/python-modules/mergedb { }; mergedeep = callPackage ../development/python-modules/mergedeep { }; From d06fab435bffb2db245edf1a77aba4317ef16a83 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Mon, 20 Jan 2025 02:16:15 +0100 Subject: [PATCH 032/272] open-web-calendar: 1.42 -> 1.48 https://open-web-calendar.quelltext.eu/changelog/#v143 https://open-web-calendar.quelltext.eu/changelog/#v144 https://open-web-calendar.quelltext.eu/changelog/#v145 https://open-web-calendar.quelltext.eu/changelog/#v146 https://open-web-calendar.quelltext.eu/changelog/#v147 https://open-web-calendar.quelltext.eu/changelog/#v148 --- pkgs/by-name/op/open-web-calendar/package.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/op/open-web-calendar/package.nix b/pkgs/by-name/op/open-web-calendar/package.nix index 5e77b50f470b..0d8c0cc7cac9 100644 --- a/pkgs/by-name/op/open-web-calendar/package.nix +++ b/pkgs/by-name/op/open-web-calendar/package.nix @@ -12,7 +12,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "open-web-calendar"; - version = "1.42"; + version = "1.48"; pyproject = true; disabled = python.pythonOlder "3.9"; @@ -20,7 +20,7 @@ python.pkgs.buildPythonApplication rec { src = fetchPypi { inherit version; pname = "open_web_calendar"; - hash = "sha256-w4XaT1+qIM80K6B+LIAeYdZzYIw4FYSd/nvWphOx460="; + hash = "sha256-SSe5vkrfTpUFdSLglBxo5//VZfuXYnWs5sUKJL2zWOw="; }; # The Pypi tarball doesn't contain open_web_calendars/features @@ -35,6 +35,7 @@ python.pkgs.buildPythonApplication rec { build-system = with python.pkgs; [ hatchling hatch-vcs + hatch-requirements-txt ]; dependencies = @@ -44,6 +45,10 @@ python.pkgs.buildPythonApplication rec { flask-allowed-hosts flask icalendar + icalendar-compatibility + cryptography + bcrypt + caldav requests pyyaml recurring-ical-events @@ -52,6 +57,7 @@ python.pkgs.buildPythonApplication rec { beautifulsoup4 lxml-html-clean pytz + mergecal ] ++ requests.optional-dependencies.socks; From ebfb53692bfd7c8876e3a261392a23c7864fc80b Mon Sep 17 00:00:00 2001 From: Alexandru Scvortov Date: Thu, 27 Feb 2025 13:08:40 +0000 Subject: [PATCH 033/272] translatelocally: add buildArch flag --- pkgs/by-name/tr/translatelocally/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/tr/translatelocally/package.nix b/pkgs/by-name/tr/translatelocally/package.nix index 4249331b2b08..3ade4781eca9 100644 --- a/pkgs/by-name/tr/translatelocally/package.nix +++ b/pkgs/by-name/tr/translatelocally/package.nix @@ -12,6 +12,7 @@ runCommand, translatelocally, translatelocally-models, + buildArch ? "x86-64", }: let @@ -65,6 +66,10 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DBLAS_LIBRARIES=-lblas" "-DCBLAS_LIBRARIES=-lcblas" + + # See the following for context: + # https://github.com/NixOS/nixpkgs/pull/385549 + (lib.optionalString stdenv.hostPlatform.isx86_64 "-DBUILD_ARCH=${buildArch}") ]; passthru.tests = { From aaba589863f4275423cd4f4083a20363e7d17249 Mon Sep 17 00:00:00 2001 From: FKouhai Date: Wed, 12 Mar 2025 18:47:42 +0100 Subject: [PATCH 034/272] tmuxPlugins.kanagawa: init at 0-unstable-2025-02-10 --- pkgs/misc/tmux-plugins/default.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix index 7f90ffe6a173..40d11e14dcbb 100644 --- a/pkgs/misc/tmux-plugins/default.nix +++ b/pkgs/misc/tmux-plugins/default.nix @@ -339,6 +339,25 @@ in rec { }; }; + kanagawa = mkTmuxPlugin rec { + pluginName = "kanagawa"; + version = "0-unstable-2025-02-10"; + src = fetchFromGitHub { + owner = "Nybkox"; + repo = "tmux-kanagawa"; + rev = "5440b9476627bf5f7f3526156a17ae0e3fd232dd"; + hash = "sha256-sFL9/PMdPJxN7tgpc4YbUHW4PkCXlKmY7a7gi7PLcn8="; + }; + meta = { + homepage = "https://github.com/Nybkox/tmux-kanagawa"; + downloadPage = "https://github.com/Nybkox/tmux-kanagawa"; + description = "Feature packed kanagawa theme for tmux!"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ FKouhai ]; + }; + }; + logging = mkTmuxPlugin { pluginName = "logging"; version = "unstable-2019-04-19"; From 9bef4ab40ebf4d2e65d182ff20c2c7aa2b6e38bf Mon Sep 17 00:00:00 2001 From: Hollow Man Date: Tue, 11 Mar 2025 16:23:03 +0200 Subject: [PATCH 035/272] mdbook-pdf-outline: 0.1.4 -> 0.1.6 Define `pname` separately for `mdbook-pdf-outline`: `mdbook_pdf_outline` due to PyPI tarball name change. Reference: - https://pypi.org/project/mdbook-pdf-outline/0.1.4/#files - https://pypi.org/project/mdbook-pdf-outline/0.1.6/#files Signed-off-by: Hollow Man --- pkgs/by-name/md/mdbook-pdf-outline/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/md/mdbook-pdf-outline/package.nix b/pkgs/by-name/md/mdbook-pdf-outline/package.nix index 1a5478582b38..3a15e9e04fc9 100644 --- a/pkgs/by-name/md/mdbook-pdf-outline/package.nix +++ b/pkgs/by-name/md/mdbook-pdf-outline/package.nix @@ -6,12 +6,13 @@ python3Packages.buildPythonApplication rec { pname = "mdbook-pdf-outline"; - version = "0.1.4"; + version = "0.1.6"; pyproject = true; src = fetchPypi { - inherit pname version; - hash = "sha256-STi+54iT+5+Xi0IzGXv2dxVS91+T6fjg3xmbJjekpPE="; + inherit version; + pname = "mdbook_pdf_outline"; + hash = "sha256-GPTDlgYpfPtcq+rJCjxgexfViYiqHoVZ8iQkyWXNogw="; }; nativeBuildInputs = [ From 2b35c4ddb0ac747f96d21055e9e58418e86edf21 Mon Sep 17 00:00:00 2001 From: Hollow Man Date: Tue, 11 Mar 2025 16:25:49 +0200 Subject: [PATCH 036/272] mdbook-pdf-outline: change maintainer from `nix-julia` to `hollowman6` as agreed Signed-off-by: Hollow Man --- pkgs/by-name/md/mdbook-pdf-outline/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/md/mdbook-pdf-outline/package.nix b/pkgs/by-name/md/mdbook-pdf-outline/package.nix index 3a15e9e04fc9..137dfe791adf 100644 --- a/pkgs/by-name/md/mdbook-pdf-outline/package.nix +++ b/pkgs/by-name/md/mdbook-pdf-outline/package.nix @@ -27,7 +27,7 @@ python3Packages.buildPythonApplication rec { meta = with lib; { homepage = "https://github.com/HollowMan6/mdbook-pdf"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ nix-julia ]; + maintainers = with maintainers; [ hollowman6 ]; }; } From 7436684102f2db001f6b8aa0c6b2584a1bcc1ab2 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Sat, 15 Mar 2025 10:26:57 +0000 Subject: [PATCH 037/272] lib.generators: alias `mkLuaInline` at the top-level --- lib/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/default.nix b/lib/default.nix index e69a1cc3860c..f1822307d2ee 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -156,6 +156,7 @@ let makeScope makeScopeWithSplicing makeScopeWithSplicing' extendMkDerivation; inherit (self.derivations) lazyDerivation optionalDrvAttr warnOnInstantiate; + inherit (self.generators) mkLuaInline; inherit (self.meta) addMetaAttrs dontDistribute setName updateName appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio hiPrioSet licensesSpdx getLicenseFromSpdxId getLicenseFromSpdxIdOr From c347d605c95e59a28052bed08cffbc0ddf01a257 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Sat, 15 Mar 2025 10:29:28 +0000 Subject: [PATCH 038/272] lib.types: add `luaInline` Represents inline lua as expected by `lib.generators.toLua`, for embedding raw lua expressions within structurally generated lua. --- lib/types.nix | 9 +++++++++ nixos/doc/manual/development/option-types.section.md | 7 +++++++ nixos/doc/manual/redirects.json | 3 +++ 3 files changed, 19 insertions(+) diff --git a/lib/types.nix b/lib/types.nix index cdba500ae07f..3ca25cafa8eb 100644 --- a/lib/types.nix +++ b/lib/types.nix @@ -834,6 +834,15 @@ rec { }; }; + # A value produced by `lib.mkLuaInline` + luaInline = mkOptionType { + name = "luaInline"; + description = "inline lua"; + descriptionClass = "noun"; + check = x: x._type or null == "lua-inline"; + merge = mergeEqualOption; + }; + uniq = unique { message = ""; }; unique = { message }: type: mkOptionType rec { diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index dc16e5113fd1..f39472e2ba61 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -232,6 +232,13 @@ merging is handled. definitions cannot be merged. The regular expression is processed using `builtins.match`. +### Specialised types {#sec-option-types-specialised} + +`types.luaInline` + +: A string wrapped using `lib.mkLuaInline`. Allows embedding lua expressions + inline within generated lua. Multiple definitions cannot be merged. + ## Submodule types {#sec-option-types-submodule} Submodules are detailed in [Submodule](#section-option-types-submodule). diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index 950266de4e35..29f7f9d51996 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -1592,6 +1592,9 @@ "sec-option-types-string": [ "index.html#sec-option-types-string" ], + "sec-option-types-specialised": [ + "index.html#sec-option-types-specialised" + ], "sec-option-types-submodule": [ "index.html#sec-option-types-submodule" ], From ba5ab8aa3d85b5852ed4021f0a9d2dbd90019c2b Mon Sep 17 00:00:00 2001 From: oddlama Date: Fri, 17 Jan 2025 22:42:27 +0100 Subject: [PATCH 039/272] firezone-gateway: init at 1.4.5 --- pkgs/by-name/fi/firezone-gateway/package.nix | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 pkgs/by-name/fi/firezone-gateway/package.nix diff --git a/pkgs/by-name/fi/firezone-gateway/package.nix b/pkgs/by-name/fi/firezone-gateway/package.nix new file mode 100644 index 000000000000..0e6010b3b92d --- /dev/null +++ b/pkgs/by-name/fi/firezone-gateway/package.nix @@ -0,0 +1,45 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: +rustPlatform.buildRustPackage rec { + pname = "firezone-gateway"; + version = "1.4.5"; + src = fetchFromGitHub { + owner = "firezone"; + repo = "firezone"; + tag = "gateway-${version}"; + hash = "sha256-2MDQyMCQIqV1Kbem53jnE8DGUZ6SrZqp2LpGJXvLBgA="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-Yz9xuH8Eph1pzv0siTpvdSXZLj/AjS5PR06CitK9NdE="; + sourceRoot = "${src.name}/rust"; + buildAndTestSubdir = "gateway"; + RUSTFLAGS = "--cfg system_certs"; + + # Required to remove profiling arguments which conflict with this builder + postPatch = '' + rm .cargo/config.toml + ''; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "gateway-(.*)" + ]; + }; + + meta = { + description = "WireGuard tunnel server for the Firezone zero-trust access platform"; + homepage = "https://github.com/firezone/firezone"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; + mainProgram = "firezone-gateway"; + }; +} From dabc45ca83fe8c35a653dfbb02310e40e6da5874 Mon Sep 17 00:00:00 2001 From: oddlama Date: Fri, 17 Jan 2025 22:42:50 +0100 Subject: [PATCH 040/272] firezone-relay: init at unstable-2025-03-15 --- pkgs/by-name/fi/firezone-relay/package.nix | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pkgs/by-name/fi/firezone-relay/package.nix diff --git a/pkgs/by-name/fi/firezone-relay/package.nix b/pkgs/by-name/fi/firezone-relay/package.nix new file mode 100644 index 000000000000..45dac6e2415a --- /dev/null +++ b/pkgs/by-name/fi/firezone-relay/package.nix @@ -0,0 +1,37 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: +rustPlatform.buildRustPackage rec { + pname = "firezone-relay"; + version = "0-unstable-2025-03-15"; + src = fetchFromGitHub { + owner = "firezone"; + repo = "firezone"; + rev = "09fb5f927410503b0d6e7fc6cf6a2ba06cb5a281"; + hash = "sha256-qDeXAzOeTenL6OIsun/rEfPMo62mQT7RhJEmqemzMsM="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-uqy4GgYaSX2kM4a37093lHmhvOtNUhkEs6/ZS1bjuYo="; + sourceRoot = "${src.name}/rust"; + buildAndTestSubdir = "relay"; + RUSTFLAGS = "--cfg system_certs"; + + # Required to remove profiling arguments which conflict with this builder + postPatch = '' + rm .cargo/config.toml + ''; + + meta = { + description = "STUN/TURN server for the Firezone zero-trust access platform"; + homepage = "https://github.com/firezone/firezone"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; + mainProgram = "firezone-relay"; + }; +} From 007ba54110a6c34fdda8e29cad9b2c3c98778d84 Mon Sep 17 00:00:00 2001 From: oddlama Date: Fri, 17 Jan 2025 22:43:16 +0100 Subject: [PATCH 041/272] firezone-headless-client: init at 1.4.4 --- .../fi/firezone-headless-client/package.nix | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pkgs/by-name/fi/firezone-headless-client/package.nix diff --git a/pkgs/by-name/fi/firezone-headless-client/package.nix b/pkgs/by-name/fi/firezone-headless-client/package.nix new file mode 100644 index 000000000000..fa8ad4e8718d --- /dev/null +++ b/pkgs/by-name/fi/firezone-headless-client/package.nix @@ -0,0 +1,50 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: +rustPlatform.buildRustPackage rec { + pname = "firezone-headless-client"; + version = "1.4.4"; + src = fetchFromGitHub { + owner = "firezone"; + repo = "firezone"; + tag = "headless-client-${version}"; + hash = "sha256-2MDQyMCQIqV1Kbem53jnE8DGUZ6SrZqp2LpGJXvLBgA="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-Yz9xuH8Eph1pzv0siTpvdSXZLj/AjS5PR06CitK9NdE="; + sourceRoot = "${src.name}/rust"; + buildAndTestSubdir = "headless-client"; + RUSTFLAGS = "--cfg system_certs"; + + # Required to remove profiling arguments which conflict with this builder + postPatch = '' + rm .cargo/config.toml + ''; + + # Required to run tests + preCheck = '' + export XDG_RUNTIME_DIR=$(mktemp -d) + ''; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "headless-client-(.*)" + ]; + }; + + meta = { + description = "CLI client for the Firezone zero-trust access platform"; + homepage = "https://github.com/firezone/firezone"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; + mainProgram = "firezone-headless-client"; + }; +} From 318f0b39816ece7a22bae384649fe9b4888b5efa Mon Sep 17 00:00:00 2001 From: oddlama Date: Fri, 17 Jan 2025 22:43:28 +0100 Subject: [PATCH 042/272] firezone-gui-client: init at 1.4.8 --- .../fi/firezone-gui-client/package.nix | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 pkgs/by-name/fi/firezone-gui-client/package.nix diff --git a/pkgs/by-name/fi/firezone-gui-client/package.nix b/pkgs/by-name/fi/firezone-gui-client/package.nix new file mode 100644 index 000000000000..c708a417321b --- /dev/null +++ b/pkgs/by-name/fi/firezone-gui-client/package.nix @@ -0,0 +1,166 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + stdenvNoCC, + pkg-config, + openssl, + dbus, + zenity, + cargo-tauri, + gdk-pixbuf, + glib, + gobject-introspection, + gtk3, + kdePackages, + libsoup_3, + libayatana-appindicator, + webkitgtk_4_1, + wrapGAppsHook3, + pnpm_9, + nodejs, + makeDesktopItem, + copyDesktopItems, +}: +let + version = "1.4.8"; + src = fetchFromGitHub { + owner = "firezone"; + repo = "firezone"; + tag = "gui-client-${version}"; + hash = "sha256-YaT/AdnBLDmoda8CGHG/Nc6RFAW8zqr4fOnTdeARlUA="; + }; + + frontend = stdenvNoCC.mkDerivation rec { + pname = "firezone-gui-client-frontend"; + inherit version src; + + pnpmDeps = pnpm_9.fetchDeps { + inherit pname version; + src = "${src}/rust/gui-client"; + hash = "sha256-9ywC920EF6UxkXHs+0WWaU8fr5J35/C+0nNGbSVHESE="; + }; + pnpmRoot = "rust/gui-client"; + + nativeBuildInputs = [ + pnpm_9.configHook + nodejs + ]; + + buildPhase = '' + runHook preBuild + + cd $pnpmRoot + cp node_modules/flowbite/dist/flowbite.min.js src/ + pnpm tailwindcss -i src/input.css -o src/output.css + node --max_old_space_size=1024000 ./node_modules/vite/bin/vite.js build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + cp -r dist $out + + runHook postInstall + ''; + }; +in +rustPlatform.buildRustPackage rec { + pname = "firezone-gui-client"; + inherit version src; + + useFetchCargoVendor = true; + cargoHash = "sha256-Yz9xuH8Eph1pzv0siTpvdSXZLj/AjS5PR06CitK9NdE="; + sourceRoot = "${src.name}/rust"; + buildAndTestSubdir = "gui-client"; + RUSTFLAGS = "--cfg system_certs"; + + nativeBuildInputs = [ + cargo-tauri.hook + pkg-config + wrapGAppsHook3 + copyDesktopItems + ]; + + buildInputs = [ + openssl + dbus + gdk-pixbuf + glib + gobject-introspection + gtk3 + libsoup_3 + + libayatana-appindicator + webkitgtk_4_1 + ]; + + # Required to remove profiling arguments which conflict with this builder + postPatch = '' + rm .cargo/config.toml + ln -s ${frontend} gui-client/dist + ''; + + # Tries to compile apple specific crates due to workspace dependencies, + # not sure if this can be worked around + doCheck = false; + + desktopItems = [ + # Additional desktop item to associate deep-links + (makeDesktopItem { + name = "firezone-client-gui-deep-link"; + exec = "firezone-client-gui open-deep-link %U"; + icon = "firezone-client-gui"; + comment = meta.description; + desktopName = "Firezone GUI Client"; + categories = [ "Network" ]; + noDisplay = true; + mimeTypes = [ + "x-scheme-handler/firezone-fd0020211111" + ]; + }) + ]; + + preFixup = '' + gappsWrapperArgs+=( + # Otherwise blank screen, see https://github.com/tauri-apps/tauri/issues/9304 + --set WEBKIT_DISABLE_DMABUF_RENDERER 1 + --prefix PATH ":" ${ + lib.makeBinPath [ + zenity + kdePackages.kdialog + ] + } + --prefix LD_LIBRARY_PATH ":" ${ + lib.makeLibraryPath [ + libayatana-appindicator + ] + } + ) + ''; + + passthru = { + inherit frontend; + + updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "gui-client-(.*)" + ]; + }; + }; + + meta = { + description = "GUI client for the Firezone zero-trust access platform"; + homepage = "https://github.com/firezone/firezone"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; + mainProgram = "firezone-gui-client"; + }; +} From 0be0e7529b7842823846ca4b3e594f40b479ae22 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Sat, 15 Mar 2025 11:40:47 +0000 Subject: [PATCH 043/272] lib.generators.toLua: support path-values --- lib/generators.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/generators.nix b/lib/generators.nix index 352644df0431..eb8d76626e71 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -743,6 +743,8 @@ in rec { "nil" else if isInt v || isFloat v || isString v || isBool v then toJSON v + else if isPath v || isDerivation v then + toJSON "${v}" else if isList v then (if v == [ ] then "{}" else "{${introSpace}${concatItems (map (value: "${toLua innerArgs value}") v)}${outroSpace}}") @@ -752,8 +754,6 @@ in rec { "(${v.expr})" else if v == { } then "{}" - else if isDerivation v then - ''"${toString v}"'' else "{${introSpace}${concatItems ( mapAttrsToList (key: value: "[${toJSON key}] = ${toLua innerArgs value}") v From d088405bd7f263e9b4ed3df7978700d50685b50f Mon Sep 17 00:00:00 2001 From: happysalada Date: Sun, 2 Mar 2025 09:25:38 -0500 Subject: [PATCH 044/272] prefect: make ui file writeable prefect: add wrapper for dependencies --- .../make_ui_files_writeable_on_startup.patch | 42 +++++++++++++++++++ pkgs/by-name/pr/prefect/package.nix | 10 +++++ 2 files changed, 52 insertions(+) create mode 100644 pkgs/by-name/pr/prefect/make_ui_files_writeable_on_startup.patch diff --git a/pkgs/by-name/pr/prefect/make_ui_files_writeable_on_startup.patch b/pkgs/by-name/pr/prefect/make_ui_files_writeable_on_startup.patch new file mode 100644 index 000000000000..279c2fa88118 --- /dev/null +++ b/pkgs/by-name/pr/prefect/make_ui_files_writeable_on_startup.patch @@ -0,0 +1,42 @@ +From a97d5f501ff3125d96e6c64dfa498ca1a598a4bd Mon Sep 17 00:00:00 2001 +From: happysalada +Date: Sun, 2 Mar 2025 08:30:36 -0500 +Subject: [PATCH] feat: ensure ui files are writeable On startup prefect copies + over files from the ui into the ui directory. If for any reason the ui files + were not writeable, the whole setup will fail. This PR ensures that the + copied files are writeable. To give a bit more context, I am currently + packaging Prefect for nixos. Nix having a little bit of a strict build + system, makes sure that the built package has only read-only files. this is + to ensure the build is deterministic. I understand that this might appear as + a detail related to nix build system only. I can patch the source when + building the nix package, but I thought I would try to contribute the patch. + No hard feelings if you are not interested in this patch. Thank you for + developping prefect! + +fix formatting +--- + src/prefect/server/api/server.py | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/prefect/server/api/server.py b/src/prefect/server/api/server.py +index e5b64d527..ac64616ef 100644 +--- a/src/prefect/server/api/server.py ++++ b/src/prefect/server/api/server.py +@@ -250,8 +250,14 @@ def copy_directory(directory: str, path: str) -> None: + if os.path.exists(destination): + shutil.rmtree(destination) + shutil.copytree(source, destination, symlinks=True) ++ # ensure copied files are writeable ++ for root, dirs, files in os.walk(destination): ++ for f in files: ++ os.chmod(os.path.join(root, f), 0o600) + else: + shutil.copy2(source, destination) ++ # Ensure copied file is writeable ++ os.chmod(destination, 0o600) + + + async def custom_internal_exception_handler( +-- +2.48.1 + diff --git a/pkgs/by-name/pr/prefect/package.nix b/pkgs/by-name/pr/prefect/package.nix index 52c734533609..bc2fb162487a 100644 --- a/pkgs/by-name/pr/prefect/package.nix +++ b/pkgs/by-name/pr/prefect/package.nix @@ -18,6 +18,10 @@ python3Packages.buildPythonApplication rec { hash = "sha256-4kwGrKvDihBi6Gcvcf6ophNI6GGd+M4qR0nnu/AUK1Q="; }; + patches = [ + ./make_ui_files_writeable_on_startup.patch + ]; + pythonRelaxDeps = [ "websockets" ]; @@ -147,6 +151,12 @@ python3Packages.buildPythonApplication rec { ]; }; + makeWrapperArgs = [ + # Add the installed directories to the python path so the worker can find them + "--prefix PYTHONPATH : ${python3Packages.makePythonPath dependencies}" + "--prefix PYTHONPATH : $out/${python3Packages.python.sitePackages}" + ]; + # Tests are not included in the pypi source doCheck = false; # nativeCheckInputs = ( From 417a035db641f94341c43dd14d9e89f51ae9e7a4 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 15 Mar 2025 14:16:19 +0100 Subject: [PATCH 045/272] python312Packages.krb5: update disabled --- pkgs/development/python-modules/krb5/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/krb5/default.nix b/pkgs/development/python-modules/krb5/default.nix index 78db37c42f71..093e45b5ce81 100644 --- a/pkgs/development/python-modules/krb5/default.nix +++ b/pkgs/development/python-modules/krb5/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { version = "0.7.1"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; From 29c9e25042101d1c1e057474dbec65096bccd113 Mon Sep 17 00:00:00 2001 From: sportshead Date: Sat, 15 Mar 2025 14:56:41 +0000 Subject: [PATCH 046/272] maintainers: add sportshead --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7cd876b19c7d..e38c0d738331 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -22460,6 +22460,13 @@ githubId = 47164123; name = "Spoonbaker"; }; + sportshead = { + email = "me@sportshead.dev"; + github = "sportshead"; + githubId = 32637656; + name = "sportshead"; + keys = [ { fingerprint = "A6B6 D031 782E BDF7 631A 8E7E A874 DB2C BFD3 CFD0"; } ]; + }; sprock = { email = "rmason@mun.ca"; github = "sprock"; From e9682d939c08e700d6f69ff868987b7734053585 Mon Sep 17 00:00:00 2001 From: sportshead Date: Sat, 15 Mar 2025 14:57:56 +0000 Subject: [PATCH 047/272] rp: init at 2.1.4 https://github.com/0vercl0k/rp/releases/tag/v2.1.4 --- pkgs/by-name/rp/rp/package.nix | 39 ++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 pkgs/by-name/rp/rp/package.nix diff --git a/pkgs/by-name/rp/rp/package.nix b/pkgs/by-name/rp/rp/package.nix new file mode 100644 index 000000000000..7bf1a58aaf73 --- /dev/null +++ b/pkgs/by-name/rp/rp/package.nix @@ -0,0 +1,39 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + ninja, +}: +stdenv.mkDerivation rec { + pname = "rp"; + version = "2.1.4"; + + nativeBuildInputs = [ + cmake + ninja + ]; + buildInputs = lib.optionals (stdenv.isLinux) [ stdenv.cc.libc.static ]; + + src = fetchFromGitHub { + owner = "0vercl0k"; + repo = "rp"; + rev = "a60f8117443e421bb572df890341b5a0f982c267"; + hash = "sha256-lkyuV+yC3NTsdipyJkoxgh1N8/+15N15nQpjItUgyb0="; + }; + sourceRoot = "${src.name}/src"; + + installPhase = '' + mkdir -p $out/bin + cp rp-${if stdenv.isDarwin then "osx" else "lin"} $out/bin/rp + ''; + + meta = with lib; { + description = "Fast C++ ROP gadget finder for PE/ELF/Mach-O x86/x64/ARM/ARM64 binaries"; + homepage = "https://github.com/0vercl0k/rp"; + license = licenses.mit; + maintainers = with maintainers; [ sportshead ]; + platforms = platforms.all; + mainProgram = "rp"; + }; +} From f41cf2cf30cf1c0a110adab0c968ff865e06f0fc Mon Sep 17 00:00:00 2001 From: alikindsys Date: Thu, 6 Feb 2025 00:52:56 -0300 Subject: [PATCH 048/272] etterna: init at 0.74.3 https://github.com/etternagame/etterna/releases/tag/v0.74.3 --- maintainers/maintainer-list.nix | 8 +- .../et/etterna/fix-download-manager.patch | 16 +++ pkgs/by-name/et/etterna/package.nix | 109 ++++++++++++++++++ 3 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 pkgs/by-name/et/etterna/fix-download-manager.patch create mode 100644 pkgs/by-name/et/etterna/package.nix diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 202946cb4f7b..71a40e63fd7f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1168,9 +1168,11 @@ githubId = 36565196; name = "Alikind System"; - keys = [{ - fingerprint = "7D31 15DC D912 C15A 2781 F7BB 511C B44B C752 2A89"; - }]; + keys = [ + { + fingerprint = "7D31 15DC D912 C15A 2781 F7BB 511C B44B C752 2A89"; + } + ]; }; alirezameskin = { email = "alireza.meskin@gmail.com"; diff --git a/pkgs/by-name/et/etterna/fix-download-manager.patch b/pkgs/by-name/et/etterna/fix-download-manager.patch new file mode 100644 index 000000000000..432eaa73db1e --- /dev/null +++ b/pkgs/by-name/et/etterna/fix-download-manager.patch @@ -0,0 +1,16 @@ +diff --git a/src/Etterna/Singletons/DownloadManager.cpp b/src/Etterna/Singletons/DownloadManager.cpp +index b42ccd30..3606107d 100644 +--- a/src/Etterna/Singletons/DownloadManager.cpp ++++ b/src/Etterna/Singletons/DownloadManager.cpp +@@ -6265,7 +6265,10 @@ Download::Install() + { + Core::Platform::requestUserAttention(); + Message* msg; +- if (!SongManager::InstallSmzip(m_TempFileName)) ++ ++ auto path = FILEMAN->ResolvePath(m_TempFileName); ++ ++ if (!SongManager::InstallSmzip(path)) + msg = new Message("DownloadFailed"); + else + msg = new Message("PackDownloaded"); diff --git a/pkgs/by-name/et/etterna/package.nix b/pkgs/by-name/et/etterna/package.nix new file mode 100644 index 000000000000..7221ced0f88d --- /dev/null +++ b/pkgs/by-name/et/etterna/package.nix @@ -0,0 +1,109 @@ +{ + lib, + stdenv, + fetchFromGitHub, + makeDesktopItem, + copyDesktopItems, + # deps + cmake, + pkg-config, + openssl, + libGLU, + xorg, + alsa-lib, + libjack2, + libpulseaudio, + libogg, + sse2neon, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "etterna"; + version = "0.74.3"; + + src = fetchFromGitHub { + owner = "etternagame"; + repo = "etterna"; + tag = "v${finalAttrs.version}"; + hash = "sha256-zzCk6axISswfTAk7rRha5HFzIHQ0AjpAZyAWzH+Cn1s="; + }; + + patches = [ ./fix-download-manager.patch ]; + + nativeBuildInputs = [ + cmake + pkg-config + + copyDesktopItems + ]; + + buildInputs = [ + openssl + alsa-lib + libjack2 + libpulseaudio + libGLU + libogg + sse2neon + xorg.libXinerama + xorg.libXrandr + xorg.libX11 + xorg.libXext # Needed for DPMS + xorg.libXvMC + ]; + + desktopItems = [ + (makeDesktopItem { + name = "etterna"; + desktopName = "Etterna"; + genericName = "Rhythm and dance game"; + icon = "etterna"; + tryExec = "etterna"; + exec = "etterna"; + categories = [ + "Application" + "Game" + "ArcadeGame" + ]; + comment = "A cross-platform rhythm video game."; + terminal = false; + }) + ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/{bin,share/etterna} + mkdir -p $out/share/applications + # copy select necessary game files into virtual fs + cp -r /build/source/{Announcers,Assets,BGAnimations,BackgroundEffects,BackgroundTransitions,Data,GameTools,NoteSkins,Scripts,Themes} "$out/share/etterna" + + # copy binary + cp /build/source/Etterna $out/bin/.etterna-unwrapped + + # Install the Icon + install -Dm644 /build/source/Docs/images/etterna-logo-light.svg "$out/share/icons/hicolor/scalable/apps/etterna.svg" + + # wacky insertion of wrapper directly into phase, so that $out is set + cat > $out/bin/etterna << EOF + #!${stdenv.shell} + export ETTERNA_ROOT_DIR="\$HOME/.local/share/etterna" + export ETTERNA_ADDITIONAL_ROOT_DIRS="$out/share/etterna" + echo "HOME: \$HOME" + echo "PWD: \$(pwd)" + echo "ETTERNA_ADDITIONAL_ROOT_DIRS: \$ETTERNA_ADDITIONAL_ROOT_DIRS" + exec $out/bin/.etterna-unwrapped "\$@" + EOF + chmod +x $out/bin/etterna + runHook postInstall + ''; + + cmakeFlags = [ "-D WITH_CRASHPAD=OFF" ]; + + meta = { + description = "Advanced cross-platform rhythm game focused on keyboard play"; + homepage = "https://etternaonline.com"; + changelog = "https://github.com/etternagame/etterna/release/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ alikindsys ]; + mainProgram = "etterna"; + }; +}) From 9262d5f71ff2bfd586d9da63d90730bc5fefb7d3 Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Mon, 3 Mar 2025 07:08:36 -0800 Subject: [PATCH 049/272] maintainers: add GZGavinZhao --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7cd876b19c7d..72c31b279e7c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9144,6 +9144,11 @@ github = "gytis-ivaskevicius"; githubId = 23264966; }; + GZGavinZhao = { + name = "Gavin Zhao"; + github = "GZGavinZhao"; + githubId = 74938940; + }; h3cth0r = { name = "Hector Miranda"; email = "hector.miranda@tec.mx"; From 4ca9c2002d4bdb2ad591d6957838b4d9c805e539 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 00:55:00 +0000 Subject: [PATCH 050/272] trytond: 7.4.4 -> 7.4.8 --- pkgs/development/python-modules/trytond/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix index 432747ab7ca5..4104379858c6 100644 --- a/pkgs/development/python-modules/trytond/default.nix +++ b/pkgs/development/python-modules/trytond/default.nix @@ -27,14 +27,14 @@ buildPythonPackage rec { pname = "trytond"; - version = "7.4.4"; + version = "7.4.8"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-rmwen1XmH7NkUJpgobVPkIGuDbwjzuWKNvOAj8Mwiq8="; + hash = "sha256-o/VMPW5nh8zci82I80sFnythW7Z7A6DV6Nfl4Cnp2OE="; }; build-system = [ setuptools ]; From 23a0f021bf0f6968c229495864ec32610b4a2ddd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 01:26:56 +0000 Subject: [PATCH 051/272] gbsplay: 0.0.98 -> 0.0.99 --- pkgs/by-name/gb/gbsplay/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gb/gbsplay/package.nix b/pkgs/by-name/gb/gbsplay/package.nix index 6a115a37aa42..cf77782b3646 100644 --- a/pkgs/by-name/gb/gbsplay/package.nix +++ b/pkgs/by-name/gb/gbsplay/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "gbsplay"; - version = "0.0.98"; + version = "0.0.99"; src = fetchFromGitHub { owner = "mmitch"; repo = "gbsplay"; rev = finalAttrs.version; - hash = "sha256-IgTDkN8EUh1gM5FehAPzlqb1tF9+LSM/Q1ccdyGUUgM="; + hash = "sha256-I2T77HGuzp6IYQOd8RSaWYCXy8fwz7PtMxtO5IoAzdw="; }; configureFlags = [ From ff45f46ae124b2cdff38d2b4c0981c071eec6109 Mon Sep 17 00:00:00 2001 From: Adam Perkowski Date: Thu, 6 Feb 2025 19:41:47 +0100 Subject: [PATCH 052/272] maintainers: add adamperkowski --- maintainers/maintainer-list.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 4549dd47d887..8955795d92a1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -579,6 +579,17 @@ githubId = 50264672; name = "Adam Freeth"; }; + adamperkowski = { + name = "Adam Perkowski"; + email = "adas1per@protonmail.com"; + matrix = "@xx0a_q:matrix.org"; + github = "adamperkowski"; + githubId = 75480869; + keys = [ + { fingerprint = "00F6 1623 FB56 BC5B B709 4E63 4CE6 C117 2DF6 BE79"; } + { fingerprint = "5A53 0832 DA91 20B0 CA57 DDB6 7CBD B58E CF1D 3478"; } + ]; + }; adamt = { email = "mail@adamtulinius.dk"; github = "adamtulinius"; From cedc68f75e5148b031c71d99ce5177cf7b945fe2 Mon Sep 17 00:00:00 2001 From: Sebaguardian Date: Thu, 6 Feb 2025 19:42:46 +0100 Subject: [PATCH 053/272] maintainers: add sebaguardian Signed-off-by: Adam Perkowski --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8955795d92a1..487277884e17 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -21372,6 +21372,11 @@ githubId = 19472270; name = "Sebastian"; }; + sebaguardian = { + name = "Sebaguardian"; + github = "Sebaguardian"; + githubId = 68247013; + }; sebastianblunt = { name = "Sebastian Blunt"; email = "nix@sebastianblunt.com"; From 19da07f91fbc20f04c065045f553e9352a32354a Mon Sep 17 00:00:00 2001 From: Adam Perkowski Date: Sun, 16 Mar 2025 02:52:42 +0100 Subject: [PATCH 054/272] julec: init at 0.1.2 Co-authored-by: Sebaguardian Signed-off-by: Adam Perkowski --- pkgs/by-name/ju/julec/package.nix | 89 +++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 pkgs/by-name/ju/julec/package.nix diff --git a/pkgs/by-name/ju/julec/package.nix b/pkgs/by-name/ju/julec/package.nix new file mode 100644 index 000000000000..6e0ecd4e5004 --- /dev/null +++ b/pkgs/by-name/ju/julec/package.nix @@ -0,0 +1,89 @@ +{ + lib, + stdenv, + fetchFromGitHub, + clang, +}: + +let + irFile = + if stdenv.hostPlatform.system == "x86_64-linux" then + "linux-amd64.cpp" + else if stdenv.hostPlatform.system == "aarch64-linux" then + "linux-arm64.cpp" + else if stdenv.hostPlatform.system == "i686-linux" then + "linux-i386.cpp" + else if stdenv.hostPlatform.system == "x86_64-darwin" then + "darwin-amd64.cpp" + else if stdenv.hostPlatform.system == "aarch64-darwin" then + "darwin-arm64.cpp" + else + abort "Unsupported platform: ${stdenv.hostPlatform.system}"; +in +stdenv.mkDerivation rec { + pname = "julec"; + version = "0.1.2"; + irCommit = "03f3ebe18a79bb8dcb5440f0e6297e1d2e032e19"; + + src = fetchFromGitHub { + owner = "julelang"; + repo = "jule"; + rev = "jule${version}"; + name = "jule-${version}"; + sha256 = "FhM25fff0TAhnO1RX0rhqHyox7ksyqYFBKSFby/4i0E="; + }; + + irSrc = fetchFromGitHub { + owner = "julelang"; + repo = "julec-ir"; + rev = irCommit; + name = "jule-ir-${version}"; + sha256 = "0omZu/2t09eOqbLAps3KdGy6InrtzeIoM3rLtkmJwqE="; + }; + + dontConfigure = true; + propagatedBuildInputs = [ clang ]; + + unpackPhase = '' + cp -R ${src}/* . + cp "${irSrc}/src/${irFile}" ./ir.cpp + mkdir -p bin + + chmod +w -R . + + find ./*/* -type f -name '*.md' -exec rm -f {} + + ''; + + buildPhase = '' + echo "Building ${pname} v${version} for ${stdenv.hostPlatform.system}..." + clang++ ./ir.cpp \ + --std=c++17 \ + -O0 \ + -Wno-everything \ + -o "bin/${pname}" + ''; + + installPhase = '' + mkdir -p $out/lib/jule + mkdir -p $out/bin + cp -R api $out/lib/jule/api + cp -R std $out/lib/jule/std + cp -R bin $out/lib/jule/bin + ln -s $out/lib/jule/bin/${pname} $out/bin/${pname} + ''; + + meta = with lib; { + description = "The Jule Programming Language Compiler"; + longDescription = '' + Jule is an effective programming language designed to build efficient, fast, reliable and safe software while maintaining simplicity. + It is a statically typed, compiled language with a syntax influenced by Go, Rust, and C++. + ''; + homepage = "https://jule.dev"; + license = licenses.bsd3; + platforms = platforms.unix; + maintainers = with maintainers; [ + adamperkowski + sebaguardian + ]; + }; +} From 355366919a73d8a4b8f747d35a0d7c18219dc7d6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 11:31:24 +0000 Subject: [PATCH 055/272] python312Packages.pymavlink: 2.4.42 -> 2.4.43 --- pkgs/development/python-modules/pymavlink/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix index 7b145228b4cf..fda09c5f6a49 100644 --- a/pkgs/development/python-modules/pymavlink/default.nix +++ b/pkgs/development/python-modules/pymavlink/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "pymavlink"; - version = "2.4.42"; + version = "2.4.43"; format = "setuptools"; src = fetchPypi { inherit pname version; - hash = "sha256-3+BECLV0JeJlOKa0vZd/dyObyM5hiGF0VnsaJD98PXY="; + hash = "sha256-IcShujVcBXQtKvQVEFdtbgjboNd2AunqY1MxzQdV7nY="; }; propagatedBuildInputs = [ From 3ad0f73babddfe9384418cef32049f840db75ef1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 11:41:41 +0000 Subject: [PATCH 056/272] cargo-tarpaulin: 0.32.1 -> 0.32.3 --- pkgs/development/tools/analysis/cargo-tarpaulin/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix index aceb522e6d8a..bf51057d1786 100644 --- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix +++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix @@ -11,17 +11,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-tarpaulin"; - version = "0.32.1"; + version = "0.32.3"; src = fetchFromGitHub { owner = "xd009642"; repo = "tarpaulin"; rev = version; - hash = "sha256-uzmwxruhJozMJ48f+Xm+CkTCKVwkAcCrjdKGddxLRwQ="; + hash = "sha256-sKb+e2aROl1IBUUR0LB8aHxQfEOkbqz9WYqUWVNj8W8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-0iv+SpowtMHkODhnnyc/0dzr+XWZjhLS7sv2rSQExxo="; + cargoHash = "sha256-dPWdBNrY57tLV/YTcnM7SAQs6mfRynZZelNao1tNj2c="; nativeBuildInputs = [ pkg-config From 1067896151a3bc82afc74347b899753b998d1102 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 12:10:21 +0000 Subject: [PATCH 057/272] ayatana-indicator-datetime: 24.5.0 -> 24.5.1 --- pkgs/by-name/ay/ayatana-indicator-datetime/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix b/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix index 90c5fb5a2581..1caaab62108e 100644 --- a/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-datetime/package.nix @@ -32,13 +32,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "ayatana-indicator-datetime"; - version = "24.5.0"; + version = "24.5.1"; src = fetchFromGitHub { owner = "AyatanaIndicators"; repo = "ayatana-indicator-datetime"; tag = finalAttrs.version; - hash = "sha256-lY49v2uZ7BawQoN/hmN6pbetHlSGjMHbS6S8Wl1bDmQ="; + hash = "sha256-rbKAixFjXOMYzduABmoIXissQXAoehfbkNntdtRyAqA="; }; postPatch = '' From 6c5d017b5faa7d9bd21f88137342d4d66e4c5ee4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 12:17:57 +0000 Subject: [PATCH 058/272] schemaspy: 6.2.4 -> 7.0.2 --- pkgs/by-name/sc/schemaspy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sc/schemaspy/package.nix b/pkgs/by-name/sc/schemaspy/package.nix index bb5cfddfd261..2a8922758043 100644 --- a/pkgs/by-name/sc/schemaspy/package.nix +++ b/pkgs/by-name/sc/schemaspy/package.nix @@ -10,17 +10,17 @@ maven.buildMavenPackage rec { pname = "schemaspy"; - version = "6.2.4"; + version = "7.0.2"; src = fetchFromGitHub { owner = "schemaspy"; repo = "schemaspy"; tag = "v${version}"; - hash = "sha256-yEqhLpGrJ4hki8o+u+bigVXv+3YvEb8TvHDTYsEl8z4="; + hash = "sha256-X85Yv6yx1Hpl3vNDHtv6u38Err668dkAx1lqpoGnALg="; }; mvnParameters = "-Dmaven.test.skip=true -Dmaven.buildNumber.skip=true"; - mvnHash = "sha256-LCPRiY/DDSUnLGnaFUS9PPKnh3TmSyAOqKfEKRLRjpg="; + mvnHash = "sha256-sCVWNzh8m3KvJyYzE2Mn+gbJTSt1/yX44dE4s7HkygU="; nativeBuildInputs = [ makeWrapper From 9696cc13e75be6141eae85c4238c9a51ad7e0192 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 12:54:16 +0000 Subject: [PATCH 059/272] yetris: 2.1.0 -> 2.3.0 --- pkgs/by-name/ye/yetris/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ye/yetris/package.nix b/pkgs/by-name/ye/yetris/package.nix index f0e6f5f16e5c..c22401849db8 100644 --- a/pkgs/by-name/ye/yetris/package.nix +++ b/pkgs/by-name/ye/yetris/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "yetris"; - version = "2.1.0"; + version = "2.3.0"; src = fetchFromGitHub { owner = "alexdantas"; repo = "yetris"; tag = "v${finalAttrs.version}"; - hash = "sha256-jhVircWMn+ZXoaX925O41ylpxmZxV9XAmIaANMWD6H4="; + hash = "sha256-k9CXXIaDk1eAtRBEj0VCfE+D1FtmIDX3niubAdrfjqw="; }; buildInputs = [ From 4a5b76cbe925f4cd85e4be759585d1bcf6d34211 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 13:12:10 +0000 Subject: [PATCH 060/272] czkawka: 8.0.0 -> 9.0.0 --- pkgs/by-name/cz/czkawka/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cz/czkawka/package.nix b/pkgs/by-name/cz/czkawka/package.nix index c11906017ffe..a0fb267941f0 100644 --- a/pkgs/by-name/cz/czkawka/package.nix +++ b/pkgs/by-name/cz/czkawka/package.nix @@ -27,17 +27,17 @@ let self = buildRustPackage' { pname = "czkawka"; - version = "8.0.0"; + version = "9.0.0"; src = fetchFromGitHub { owner = "qarmin"; repo = "czkawka"; tag = self.version; - hash = "sha256-Uxko2TRIjqQvd7n9C+P7oMUrm3YY5j7TVzvijEjDwOM="; + hash = "sha256-ePiHDfQ1QC3nff8uWE0ggiTuulBomuoZ3ta0redUYXY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-lYS/G3mHNqKcI6XRAtESzgBiUHnNfV0ct0W6E75a7J4="; + cargoHash = "sha256-Djvb5Hen6XPm6aJuwa6cGPojz9+kXXidysr3URDwDFM="; nativeBuildInputs = [ gobject-introspection From 4763ba8d07a9375dbb044ea642a50b82e452fbbb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 13:39:40 +0000 Subject: [PATCH 061/272] heimer: 4.4.0 -> 4.5.0 --- pkgs/applications/misc/heimer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/heimer/default.nix b/pkgs/applications/misc/heimer/default.nix index 19a63f9e8a21..564d28e73f2b 100644 --- a/pkgs/applications/misc/heimer/default.nix +++ b/pkgs/applications/misc/heimer/default.nix @@ -9,13 +9,13 @@ mkDerivation rec { pname = "heimer"; - version = "4.4.0"; + version = "4.5.0"; src = fetchFromGitHub { owner = "juzzlin"; repo = pname; rev = version; - hash = "sha256-47bQmT2bHcbWpeosuF/vpSJcws4SqTmalY/XFEf7cxQ="; + hash = "sha256-eKnGCYxC3b7qd/g2IMDyZveBg+jvFA9s3tWEGeTPSkU="; }; nativeBuildInputs = [ From fd177d3801b1ea4b607077b2fa2181d46012f6f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 14:20:15 +0000 Subject: [PATCH 062/272] expr: 1.16.9 -> 1.17.0 --- pkgs/by-name/ex/expr/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ex/expr/package.nix b/pkgs/by-name/ex/expr/package.nix index 03033aab3788..9997e115f631 100644 --- a/pkgs/by-name/ex/expr/package.nix +++ b/pkgs/by-name/ex/expr/package.nix @@ -6,18 +6,18 @@ buildGoModule rec { pname = "expr"; - version = "1.16.9"; + version = "1.17.0"; src = fetchFromGitHub { owner = "expr-lang"; repo = "expr"; rev = "v${version}"; - hash = "sha256-AyFL+XHxitueAadx1M/xWqeittDCQ/hzsE/fUzt75yI="; + hash = "sha256-D5hMnihKcSXQUII9L0UmC/fMuFuyqBrgR4yXbYvakn0="; }; sourceRoot = "${src.name}/repl"; - vendorHash = "sha256-FiXxplt4w7M0cZz46kdjYuKHailW2cnLOj0jkA9w1RM="; + vendorHash = "sha256-YtYeAJI7J1nalVt4Phl06Xe/8YdU6egbMjYfbo91b/0="; ldflags = [ "-s" From ef12e14cb706c780ed55b177576588c4a757fd81 Mon Sep 17 00:00:00 2001 From: happysalada Date: Mon, 3 Mar 2025 20:40:59 -0500 Subject: [PATCH 063/272] nixos/prefect: init module prefect: add dburl to worker prefect: use same state directory prefect: fix worker environment prefect: create user prefect: use datadir for sqlite url prefect: make datadir writable prefect: don't protect home prefect fix sqlite url prefect: fix state directory prefect: user should not be systemuser prefect: set to normal user add prefect to systempackages try user with same name prefect use prefect_home do not set database url revert to dynamic user prefect: add tests prefect: fix port to string --- nixos/modules/module-list.nix | 1 + nixos/modules/services/scheduling/prefect.nix | 232 ++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/prefect.nix | 27 ++ pkgs/by-name/pr/prefect/package.nix | 5 + 5 files changed, 266 insertions(+) create mode 100644 nixos/modules/services/scheduling/prefect.nix create mode 100644 nixos/tests/prefect.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0a563ab736d9..a9129b430d8f 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1361,6 +1361,7 @@ ./services/scheduling/atd.nix ./services/scheduling/cron.nix ./services/scheduling/fcron.nix + ./services/scheduling/prefect.nix ./services/scheduling/scx.nix ./services/search/elasticsearch-curator.nix ./services/search/elasticsearch.nix diff --git a/nixos/modules/services/scheduling/prefect.nix b/nixos/modules/services/scheduling/prefect.nix new file mode 100644 index 000000000000..409279edd692 --- /dev/null +++ b/nixos/modules/services/scheduling/prefect.nix @@ -0,0 +1,232 @@ +{ + lib, + pkgs, + config, + ... +}: + +let + cfg = config.services.prefect; + inherit (lib.types) + bool + str + enum + path + attrsOf + nullOr + submodule + port + ; + +in +{ + options.services.prefect = { + enable = lib.mkOption { + type = bool; + default = false; + description = "enable prefect server and worker services"; + }; + + package = lib.mkPackageOption pkgs "prefect" { }; + + host = lib.mkOption { + type = str; + default = "127.0.0.1"; + example = "0.0.0.0"; + description = "Prefect server host"; + }; + + port = lib.mkOption { + type = port; + default = 4200; + description = "Prefect server port"; + }; + + dataDir = lib.mkOption { + type = path; + default = "/var/lib/prefect-server"; + description = '' + Specify the directory for Prefect. + ''; + }; + + database = lib.mkOption { + type = enum [ + "sqlite" + "postgres" + ]; + default = "sqlite"; + description = "which database to use for prefect server: sqlite or postgres"; + }; + + databaseHost = lib.mkOption { + type = str; + default = "localhost"; + description = "database host for postgres only"; + }; + + databasePort = lib.mkOption { + type = str; + default = "5432"; + description = "database port for postgres only"; + }; + + databaseName = lib.mkOption { + type = str; + default = "prefect"; + description = "database name for postgres only"; + }; + + databaseUser = lib.mkOption { + type = str; + default = "postgres"; + description = "database user for postgres only"; + }; + + databasePasswordFile = lib.mkOption { + type = nullOr str; + default = null; + description = '' + path to a file containing e.g.: + DBPASSWORD=supersecret + + stored outside the nix store, read by systemd as EnvironmentFile. + ''; + }; + + # now define workerPools as an attribute set of submodules, + # each key is the pool name, and the submodule has an installPolicy + workerPools = lib.mkOption { + type = attrsOf (submodule { + options = { + installPolicy = lib.mkOption { + type = enum [ + "always" + "if-not-present" + "never" + "prompt" + ]; + default = "always"; + description = "install policy for the worker (always, if-not-present, never, prompt)"; + }; + }; + }); + default = { }; + description = '' + define a set of worker pools with submodule config. example: + workerPools.my-pool = { + installPolicy = "never"; + }; + ''; + }; + + baseUrl = lib.mkOption { + type = nullOr str; + default = null; + description = "external url when served by a reverse proxy, e.g. https://example.com/prefect"; + }; + }; + + config = lib.mkIf cfg.enable { + # define systemd.services as the server plus any worker definitions + systemd.services = + { + "prefect-server" = { + description = "prefect server"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + DynamicUser = true; + StateDirectory = "prefect-server"; + # TODO all my efforts to setup the database url + # have failed with some unable to open file + Environment = [ + "PREFECT_HOME=%S/prefect-server" + "PREFECT_UI_STATIC_DIRECTORY=%S/prefect-server" + "PREFECT_SERVER_ANALYTICS_ENABLED=off" + "PREFECT_UI_API_URL=${cfg.baseUrl}/api" + "PREFECT_UI_URL=${cfg.baseUrl}" + ]; + EnvironmentFile = + if cfg.database == "postgres" && cfg.databasePasswordFile != null then + [ cfg.databasePasswordFile ] + else + [ ]; + + # ReadWritePaths = [ cfg.dataDir ]; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + NoNewPrivileges = true; + MemoryDenyWriteExecute = true; + LockPersonality = true; + CapabilityBoundingSet = [ ]; + AmbientCapabilities = [ ]; + RestrictSUIDSGID = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + MemoryAccounting = true; + CPUAccounting = true; + + ExecStart = "${pkgs.prefect}/bin/prefect server start --host ${cfg.host} --port ${toString cfg.port}"; + Restart = "always"; + WorkingDirectory = cfg.dataDir; + }; + }; + } + // lib.concatMapAttrs (poolName: poolCfg: { + # return a partial attr set with one key: "prefect-worker-..." + "prefect-worker-${poolName}" = { + description = "prefect worker for pool '${poolName}'"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + environment.systemPackages = cfg.package; + + serviceConfig = { + DynamicUser = true; + StateDirectory = "prefect-worker-${poolName}"; + Environment = [ + "PREFECT_HOME=%S/prefect-worker-${poolName}" + "PREFECT_API_URL=${cfg.baseUrl}/api" + ]; + ProtectSystem = "strict"; + ProtectHome = true; + PrivateTmp = true; + NoNewPrivileges = true; + MemoryDenyWriteExecute = true; + LockPersonality = true; + CapabilityBoundingSet = [ ]; + AmbientCapabilities = [ ]; + RestrictSUIDSGID = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_UNIX" + ]; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectKernelLogs = true; + ProtectControlGroups = true; + MemoryAccounting = true; + CPUAccounting = true; + ExecStart = '' + ${pkgs.prefect}/bin/prefect worker start \ + --pool ${poolName} \ + --type process \ + --install-policy ${poolCfg.installPolicy} + ''; + Restart = "always"; + }; + }; + }) cfg.workerPools; + }; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 52d7e8fb618f..8105fd31c877 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -950,6 +950,7 @@ in { pppd = handleTest ./pppd.nix {}; predictable-interface-names = handleTest ./predictable-interface-names.nix {}; pretalx = runTest ./web-apps/pretalx.nix; + prefect = runTest ./prefect.nix; pretix = runTest ./web-apps/pretix.nix; printing-socket = handleTest ./printing.nix { socket = true; listenTcp = true; }; printing-service = handleTest ./printing.nix { socket = false; listenTcp = true; }; diff --git a/nixos/tests/prefect.nix b/nixos/tests/prefect.nix new file mode 100644 index 000000000000..0e2f1a36c687 --- /dev/null +++ b/nixos/tests/prefect.nix @@ -0,0 +1,27 @@ +{ lib, ... }: +let + mainPort = "4200"; +in +{ + name = "prefect"; + + nodes = { + machine = + { ... }: + { + services.prefect = { + enable = true; + }; + }; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("prefect-server.service") + machine.wait_for_open_port("${mainPort}") + ''; + + meta = with lib.maintainers; { + maintainers = [ happysalada ]; + }; +} diff --git a/pkgs/by-name/pr/prefect/package.nix b/pkgs/by-name/pr/prefect/package.nix index bc2fb162487a..78627cc832c3 100644 --- a/pkgs/by-name/pr/prefect/package.nix +++ b/pkgs/by-name/pr/prefect/package.nix @@ -2,6 +2,7 @@ lib, python3Packages, fetchPypi, + nixosTests, }: python3Packages.buildPythonApplication rec { @@ -157,6 +158,10 @@ python3Packages.buildPythonApplication rec { "--prefix PYTHONPATH : $out/${python3Packages.python.sitePackages}" ]; + passthru.tests = { + inherit (nixosTests) prefect; + }; + # Tests are not included in the pypi source doCheck = false; # nativeCheckInputs = ( From 0eb226c50ea82e746f2b00c4e70731ab2b402a41 Mon Sep 17 00:00:00 2001 From: SandWood Jones Date: Thu, 13 Mar 2025 20:46:04 -0300 Subject: [PATCH 064/272] bolt-launcher: 0.9.0 -> 0.14.0, fix desktop item --- pkgs/by-name/bo/bolt-launcher/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/bo/bolt-launcher/package.nix b/pkgs/by-name/bo/bolt-launcher/package.nix index 6b3a1d35b2b7..fa8533ecc983 100644 --- a/pkgs/by-name/bo/bolt-launcher/package.nix +++ b/pkgs/by-name/bo/bolt-launcher/package.nix @@ -87,14 +87,14 @@ in let bolt = stdenv.mkDerivation (finalAttrs: { pname = "bolt-launcher"; - version = "0.9.0"; + version = "0.14.0"; src = fetchFromGitHub { owner = "AdamCake"; repo = "bolt"; - rev = finalAttrs.version; + tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-LIlRDcUWbQwIhFjtqYF+oVpTOPZ7IT0vMgysEVyJ1k8="; + hash = "sha256-fNCi2Wu+oOL6p8IBm6bHZ/rcaFmqoKs2DnXQ+ZA9McE="; }; nativeBuildInputs = [ @@ -154,8 +154,8 @@ let desktopName = "Bolt Launcher"; genericName = finalAttrs.pname; comment = "An alternative launcher for RuneScape"; - exec = "${finalAttrs.pname}-${finalAttrs.version}"; - icon = finalAttrs.pname; + exec = "bolt-launcher"; + icon = "bolt-launcher"; categories = [ "Game" ]; }) ]; From 02333bc7d57fee9d1c86b17b4038ef54a034daca Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Thu, 27 Feb 2025 22:59:37 +0100 Subject: [PATCH 065/272] linux/common-config: Split Rust toolchain and kernel-based conditions The ongoing RISC-V breakage may become version independent in the future, move it to the correct condition before updating it with the full list of supported architectures. While at it, simplify the remaining rustc-specific conditions into an `availableOn`. --- pkgs/os-specific/linux/kernel/common-config.nix | 5 ++++- pkgs/os-specific/linux/kernel/generic.nix | 6 +----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 0f7606c79b53..4bbebf2cc3b4 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -43,7 +43,10 @@ let ); forceRust = features.rust or false; - kernelSupportsRust = lib.versionAtLeast version "6.7"; + kernelSupportsRust = lib.versionAtLeast version "6.7" + # Known to be broken: https://lore.kernel.org/lkml/31885EDD-EF6D-4EF1-94CA-276BA7A340B7@kernel.org/T/ + && !(stdenv.hostPlatform.isRiscV && stdenv.cc.isGNU); + # Currently only enabling Rust by default on kernel 6.12+, # which actually has features that use Rust that we want. diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index fe6b1b8f0f98..334e76efb60a 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -109,11 +109,7 @@ let commonStructuredConfig = import ./common-config.nix { inherit lib stdenv version; - rustAvailable = - lib.any (lib.meta.platformMatch stdenv.hostPlatform) rustc.targetPlatforms - && lib.all (p: !lib.meta.platformMatch stdenv.hostPlatform p) rustc.badTargetPlatforms - # Known to be broken: https://lore.kernel.org/lkml/31885EDD-EF6D-4EF1-94CA-276BA7A340B7@kernel.org/T/ - && !(stdenv.hostPlatform.isRiscV && stdenv.cc.isGNU); + rustAvailable = lib.meta.availableOn stdenv.hostPlatform rustc; features = kernelFeatures; # Ensure we know of all extra patches, etc. }; From a26de858ef2061011fc263a03275a1af9210e2e3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 16 Mar 2025 23:45:16 +0000 Subject: [PATCH 066/272] wasmi: 0.40.0 -> 0.42.0 --- pkgs/by-name/wa/wasmi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/wasmi/package.nix b/pkgs/by-name/wa/wasmi/package.nix index 0aa836683950..bb35f4dfb282 100644 --- a/pkgs/by-name/wa/wasmi/package.nix +++ b/pkgs/by-name/wa/wasmi/package.nix @@ -7,18 +7,18 @@ rustPlatform.buildRustPackage rec { pname = "wasmi"; - version = "0.40.0"; + version = "0.42.0"; src = fetchFromGitHub { owner = "paritytech"; repo = "wasmi"; tag = "v${version}"; - hash = "sha256-O+8qBYxmiDQtmL2ThkQYenIXSf2wCoYFqLMJOtLP3Ic="; + hash = "sha256-i8i0kd3Zmx7hIaJy8zSAgu0++1kRfLB/MkKpy0ImUrM="; fetchSubmodules = true; }; useFetchCargoVendor = true; - cargoHash = "sha256-b3mjGjOfIBHcQTIpA2obdCsjC1p0gjfatKmYI01vYME="; + cargoHash = "sha256-dlMYChYUB2141+sOSHsZuM8QaaRM/rs9FNagCJeopao="; passthru.updateScript = nix-update-script { }; meta = with lib; { From 834bc36d550eb330ec47db33a0eb100323d8b6a5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 17 Mar 2025 00:22:29 +0000 Subject: [PATCH 067/272] eddy: 3.6 -> 3.7 --- pkgs/applications/graphics/eddy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/eddy/default.nix b/pkgs/applications/graphics/eddy/default.nix index 71157b656031..c398e8b98026 100644 --- a/pkgs/applications/graphics/eddy/default.nix +++ b/pkgs/applications/graphics/eddy/default.nix @@ -8,13 +8,13 @@ python3Packages.buildPythonApplication rec { pname = "eddy"; - version = "3.6"; + version = "3.7"; src = fetchFromGitHub { owner = "obdasystems"; repo = pname; tag = "v${version}"; - sha256 = "sha256-vRmLUIqU0qfcnKzymBGb9gfM/uQiAcUHUnyz8iH/GrM="; + sha256 = "sha256-ywAxlXuKoTXfJSzSsvVXxhycVEklIPQfUogs8QJ8DGQ="; }; propagatedBuildInputs = [ From 79db8b6fc5a514c6c68f882f09156505d9253b3f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 17 Mar 2025 00:36:35 +0000 Subject: [PATCH 068/272] xarchiver: 0.5.4.23 -> 0.5.4.24 --- pkgs/by-name/xa/xarchiver/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/xa/xarchiver/package.nix b/pkgs/by-name/xa/xarchiver/package.nix index e8814895aa32..4ad98e7fb6c7 100644 --- a/pkgs/by-name/xa/xarchiver/package.nix +++ b/pkgs/by-name/xa/xarchiver/package.nix @@ -20,14 +20,14 @@ }: stdenv.mkDerivation rec { - version = "0.5.4.23"; + version = "0.5.4.24"; pname = "xarchiver"; src = fetchFromGitHub { owner = "ib"; repo = "xarchiver"; rev = version; - hash = "sha256-aNUpuePU6nmrralp+j8GgVPuxv9ayRVoKicPZkC4nTE="; + hash = "sha256-OTm53kUZa/65JHRAiN3VWEGWhKwzstNZ1dxwTSPZ04g="; }; nativeBuildInputs = [ From b401edfa7ddc72b5580a17f26bf7938d3dc2eb42 Mon Sep 17 00:00:00 2001 From: Petr Zahradnik Date: Tue, 11 Mar 2025 00:10:07 +0100 Subject: [PATCH 069/272] litemdview: unbreak on GCC 14 --- pkgs/by-name/li/litemdview/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/li/litemdview/package.nix b/pkgs/by-name/li/litemdview/package.nix index a425d597c3e5..d2604522341b 100644 --- a/pkgs/by-name/li/litemdview/package.nix +++ b/pkgs/by-name/li/litemdview/package.nix @@ -30,6 +30,9 @@ stdenv.mkDerivation { ]; meta = with lib; { + # Required for build with gcc-14 + env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int"; + homepage = "https://notabug.org/g0tsu/litemdview"; description = "Suckless markdown viewer"; longDescription = '' From 49fd5ff33d54adb9baf8b3a2708e682e0f4a1b02 Mon Sep 17 00:00:00 2001 From: Petr Zahradnik Date: Tue, 11 Mar 2025 00:10:32 +0100 Subject: [PATCH 070/272] litemdview: modernize Signed-off-by: John Titor <50095635+JohnRTitor@users.noreply.github.com> --- pkgs/by-name/li/litemdview/package.nix | 27 ++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/li/litemdview/package.nix b/pkgs/by-name/li/litemdview/package.nix index d2604522341b..63f08fb7fd8f 100644 --- a/pkgs/by-name/li/litemdview/package.nix +++ b/pkgs/by-name/li/litemdview/package.nix @@ -5,18 +5,18 @@ gtkmm3, autoreconfHook, pkg-config, + versionCheckHook, }: -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "litemdview"; - # litemdview -v version = "0.0.32"; src = fetchFromGitea { - domain = "notabug.org"; + domain = "codeberg.org"; owner = "g0tsu"; repo = "litemdview"; - rev = "litemdview-0.0.32"; + rev = "litemdview-${finalAttrs.version}"; hash = "sha256-XGjP+7i3mYCEzPYwVY+75DARdXJFY4vUWHFpPeoNqAE="; }; @@ -29,11 +29,18 @@ stdenv.mkDerivation { pkg-config ]; - meta = with lib; { # Required for build with gcc-14 env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-int"; - homepage = "https://notabug.org/g0tsu/litemdview"; + enableParallelBuilding = true; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + + meta = { + homepage = "https://codeberg.org/g0tsu/litemdview"; description = "Suckless markdown viewer"; longDescription = '' LiteMDview is a lightweight, extremely fast markdown viewer with lots of useful features. One of them is ability to use your prefered text editor to edit markdown files, every time you save the file, litemdview reloads those changes (I call it live-reload). It has a convinient navigation through local directories, has support for a basic "git-like" folders hierarchy as well as vimwiki projects. @@ -56,9 +63,9 @@ stdenv.mkDerivation { - Basic html support (very simple offline documents in html) - Syntax highlighting ''; - license = licenses.gpl2Only; - maintainers = with maintainers; [ WhiteBlackGoose ]; - platforms = platforms.linux; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ WhiteBlackGoose ]; + platforms = lib.platforms.linux; mainProgram = "litemdview"; }; -} +}) From 035d0fbd4b96085882805b8a779b2a28736a50d7 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 17 Mar 2025 07:15:46 +0000 Subject: [PATCH 071/272] gomi: 1.5.1 -> 1.6.0 --- pkgs/by-name/go/gomi/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/go/gomi/package.nix b/pkgs/by-name/go/gomi/package.nix index 51a3f85ddd1e..82f16f3de703 100644 --- a/pkgs/by-name/go/gomi/package.nix +++ b/pkgs/by-name/go/gomi/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "gomi"; - version = "1.5.1"; + version = "1.6.0"; src = fetchFromGitHub { owner = "b4b4r07"; repo = "gomi"; tag = "v${version}"; - hash = "sha256-JTmbToVzxFEQLwGVvDKdgKA4dBn6O+L6hDQJvAvvdwA="; + hash = "sha256-FZCvUG6lQH8CFivV/hbIgGQx4FCk1UtreiWXTQVi4+4="; }; - vendorHash = "sha256-znyk+ffDUo1nOWeM5k/WE2EE9FVvLxXyM/dV8KUSioU="; + vendorHash = "sha256-8aw81DKBmgNsQzgtHCsUkok5e5+LeAC8BUijwKVT/0s="; subPackages = [ "." ]; From 02843300bb56919a326cc99ef580f2f208f28d1f Mon Sep 17 00:00:00 2001 From: nikstur Date: Mon, 17 Mar 2025 12:08:48 +0100 Subject: [PATCH 072/272] lib.licenses.asl20-llvm: replace with separate llvm-exception This essentially reverts 7ce8e7c4cf90492a631e96bcfe70724104914381 asl20-llvm does not produce a valid SPDX ID, it produces a valid SPDX Expression. However, this is not what the spdxId field promises. This is relevant because we cannot produce valid SBOMs (e.g. CycloneDX) using this field as the schemas for these SBOMs check that the IDs are valid. This change leaves us with consistently valid SPDX IDs at the cost of slightly less convenience. --- lib/licenses.nix | 10 +++++----- pkgs/by-name/co/codechecker/package.nix | 5 ++++- pkgs/by-name/en/enzyme/package.nix | 5 ++++- pkgs/by-name/ko/kokkos/package.nix | 5 ++++- pkgs/by-name/li/libabigail/package.nix | 5 ++++- pkgs/by-name/sh/shader-slang/package.nix | 5 ++++- pkgs/development/compilers/llvm/common/common-let.nix | 6 +++--- pkgs/development/libraries/wasilibc/default.nix | 3 ++- 8 files changed, 30 insertions(+), 14 deletions(-) diff --git a/lib/licenses.nix b/lib/licenses.nix index 44fca61afbbd..97ed489bd1ab 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -140,11 +140,6 @@ lib.mapAttrs mkLicense ({ fullName = "Apache License 2.0"; }; - asl20-llvm = { - spdxId = "Apache-2.0 WITH LLVM-exception"; - fullName = "Apache License 2.0 with LLVM Exceptions"; - }; - bitstreamVera = { spdxId = "Bitstream-Vera"; fullName = "Bitstream Vera Font License"; @@ -859,6 +854,11 @@ lib.mapAttrs mkLicense ({ url = "https://opensource.franz.com/preamble.html"; }; + llvm-exception = { + spdxId = "LLVM-exception"; + fullName = "LLVM Exception"; # LLVM exceptions to the Apache 2.0 License + }; + lppl1 = { spdxId = "LPPL-1.0"; fullName = "LaTeX Project Public License v1.0"; diff --git a/pkgs/by-name/co/codechecker/package.nix b/pkgs/by-name/co/codechecker/package.nix index 26a7f6279945..f09011e8e68b 100644 --- a/pkgs/by-name/co/codechecker/package.nix +++ b/pkgs/by-name/co/codechecker/package.nix @@ -113,7 +113,10 @@ python3Packages.buildPythonApplication rec { homepage = "https://github.com/Ericsson/codechecker"; changelog = "https://github.com/Ericsson/codechecker/releases/tag/v${version}"; description = "Analyzer tooling, defect database and viewer extension for the Clang Static Analyzer and Clang Tidy"; - license = licenses.asl20-llvm; + license = with licenses; [ + asl20 + llvm-exception + ]; maintainers = with maintainers; [ zebreus felixsinger diff --git a/pkgs/by-name/en/enzyme/package.nix b/pkgs/by-name/en/enzyme/package.nix index c9401596663a..9872a0f77d2a 100644 --- a/pkgs/by-name/en/enzyme/package.nix +++ b/pkgs/by-name/en/enzyme/package.nix @@ -44,6 +44,9 @@ llvmPackages.stdenv.mkDerivation rec { description = "High-performance automatic differentiation of LLVM and MLIR"; maintainers = with lib.maintainers; [ kiranshila ]; platforms = lib.platforms.all; - license = lib.licenses.asl20-llvm; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; }; } diff --git a/pkgs/by-name/ko/kokkos/package.nix b/pkgs/by-name/ko/kokkos/package.nix index 6560faa0e64c..e682cbe13da8 100644 --- a/pkgs/by-name/ko/kokkos/package.nix +++ b/pkgs/by-name/ko/kokkos/package.nix @@ -38,7 +38,10 @@ stdenv.mkDerivation (finalAttrs: { description = "C++ Performance Portability Programming EcoSystem"; homepage = "https://github.com/kokkos/kokkos"; changelog = "https://github.com/kokkos/kokkos/blob/${finalAttrs.src.rev}/CHANGELOG.md"; - license = with licenses; [ asl20-llvm ]; + license = with licenses; [ + asl20 + llvm-exception + ]; maintainers = with maintainers; [ Madouura ]; platforms = platforms.unix; broken = stdenv.hostPlatform.isDarwin; diff --git a/pkgs/by-name/li/libabigail/package.nix b/pkgs/by-name/li/libabigail/package.nix index f8f257808950..89bd65ccae6f 100644 --- a/pkgs/by-name/li/libabigail/package.nix +++ b/pkgs/by-name/li/libabigail/package.nix @@ -58,7 +58,10 @@ stdenv.mkDerivation rec { meta = with lib; { description = "ABI Generic Analysis and Instrumentation Library"; homepage = "https://sourceware.org/libabigail/"; - license = licenses.asl20-llvm; + license = with licenses; [ + asl20 + llvm-exception + ]; maintainers = [ ]; platforms = platforms.linux; }; diff --git a/pkgs/by-name/sh/shader-slang/package.nix b/pkgs/by-name/sh/shader-slang/package.nix index 2036350ae206..9a272e4418e8 100644 --- a/pkgs/by-name/sh/shader-slang/package.nix +++ b/pkgs/by-name/sh/shader-slang/package.nix @@ -144,7 +144,10 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "A shading language that makes it easier to build and maintain large shader codebases in a modular and extensible fashion"; homepage = "https://github.com/shader-slang/slang"; - license = lib.licenses.asl20-llvm; + license = with lib.licenses; [ + asl20 + llvm-exception + ]; maintainers = with lib.maintainers; [ niklaskorz ]; mainProgram = "slangc"; platforms = lib.platforms.all; diff --git a/pkgs/development/compilers/llvm/common/common-let.nix b/pkgs/development/compilers/llvm/common/common-let.nix index a33d8db3ad48..c32fced3fc8e 100644 --- a/pkgs/development/compilers/llvm/common/common-let.nix +++ b/pkgs/development/compilers/llvm/common/common-let.nix @@ -10,9 +10,9 @@ rec { llvm_meta = { license = with lib.licenses; [ ncsa ] ++ - # Contributions after June 1st, 2024 are only licensed under asl20-llvm: - # https://github.com/llvm/llvm-project/pull/92394 - lib.optional (lib.versionAtLeast release_version "19") asl20-llvm; + # Contributions after June 1st, 2024 are only licensed under asl20 and + # llvm-exception: https://github.com/llvm/llvm-project/pull/92394 + lib.optionals (lib.versionAtLeast release_version "19") [ asl20 llvm-exception ]; maintainers = lib.teams.llvm.members; # See llvm/cmake/config-ix.cmake. diff --git a/pkgs/development/libraries/wasilibc/default.nix b/pkgs/development/libraries/wasilibc/default.nix index b2cafcea35b7..3d605f04b1f4 100644 --- a/pkgs/development/libraries/wasilibc/default.nix +++ b/pkgs/development/libraries/wasilibc/default.nix @@ -72,7 +72,8 @@ stdenv.mkDerivation { rvolosatovs ]; license = with licenses; [ - asl20-llvm + asl20 + llvm-exception mit ]; }; From 7a2219efc16dba2ce8475b258e183ef2b75d7c39 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Mon, 17 Mar 2025 14:27:21 +0000 Subject: [PATCH 073/272] squeezelite: 2.0.0.1518 -> 2.0.0.1524 --- pkgs/by-name/sq/squeezelite/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sq/squeezelite/package.nix b/pkgs/by-name/sq/squeezelite/package.nix index cc7ab1a65fe9..b2b403461222 100644 --- a/pkgs/by-name/sq/squeezelite/package.nix +++ b/pkgs/by-name/sq/squeezelite/package.nix @@ -40,13 +40,13 @@ stdenv.mkDerivation { pname = binName; # versions are specified in `squeezelite.h` # see https://github.com/ralph-irving/squeezelite/issues/29 - version = "2.0.0.1518"; + version = "2.0.0.1524"; src = fetchFromGitHub { owner = "ralph-irving"; repo = "squeezelite"; - rev = "ed3c82052db4846e8e0da01c5bf8db130db00dee"; - hash = "sha256-nxEsraKV5OPaeRuN2NRvxGtUb189ArP3blxSOMPD2II="; + rev = "db51a7b16934f41b72437394bf8114c3a85e0a91"; + hash = "sha256-nPlIvyxhka4ANk74209RFW0Ok5eSZwKFDQw7AJO3qPs="; }; buildInputs = From 2fcd77b3af07edb780f47ff4e95193e37569a8a1 Mon Sep 17 00:00:00 2001 From: oddlama Date: Tue, 21 Jan 2025 02:08:53 +0100 Subject: [PATCH 074/272] firezone-server: init at unstable-2025-03-15 Co-authored-by: PatrickDaG --- .../fi/firezone-server-api/package.nix | 4 + .../fi/firezone-server-domain/package.nix | 4 + .../fi/firezone-server-web/package.nix | 4 + .../fi/firezone-server/0000-add-mua.patch | 67 ++++++++++++++ pkgs/by-name/fi/firezone-server/package.nix | 90 +++++++++++++++++++ 5 files changed, 169 insertions(+) create mode 100644 pkgs/by-name/fi/firezone-server-api/package.nix create mode 100644 pkgs/by-name/fi/firezone-server-domain/package.nix create mode 100644 pkgs/by-name/fi/firezone-server-web/package.nix create mode 100644 pkgs/by-name/fi/firezone-server/0000-add-mua.patch create mode 100644 pkgs/by-name/fi/firezone-server/package.nix diff --git a/pkgs/by-name/fi/firezone-server-api/package.nix b/pkgs/by-name/fi/firezone-server-api/package.nix new file mode 100644 index 000000000000..010269382da8 --- /dev/null +++ b/pkgs/by-name/fi/firezone-server-api/package.nix @@ -0,0 +1,4 @@ +{ firezone-server }: +firezone-server.override { + mixReleaseName = "api"; +} diff --git a/pkgs/by-name/fi/firezone-server-domain/package.nix b/pkgs/by-name/fi/firezone-server-domain/package.nix new file mode 100644 index 000000000000..bba7de68004e --- /dev/null +++ b/pkgs/by-name/fi/firezone-server-domain/package.nix @@ -0,0 +1,4 @@ +{ firezone-server }: +firezone-server.override { + mixReleaseName = "domain"; +} diff --git a/pkgs/by-name/fi/firezone-server-web/package.nix b/pkgs/by-name/fi/firezone-server-web/package.nix new file mode 100644 index 000000000000..79d430b356b1 --- /dev/null +++ b/pkgs/by-name/fi/firezone-server-web/package.nix @@ -0,0 +1,4 @@ +{ firezone-server }: +firezone-server.override { + mixReleaseName = "web"; +} diff --git a/pkgs/by-name/fi/firezone-server/0000-add-mua.patch b/pkgs/by-name/fi/firezone-server/0000-add-mua.patch new file mode 100644 index 000000000000..68d8a9ba47ab --- /dev/null +++ b/pkgs/by-name/fi/firezone-server/0000-add-mua.patch @@ -0,0 +1,67 @@ +diff --git a/elixir/apps/domain/lib/domain/config/definitions.ex b/elixir/apps/domain/lib/domain/config/definitions.ex +index 8cd2e8d0f..92e18b10b 100644 +--- a/elixir/apps/domain/lib/domain/config/definitions.ex ++++ b/elixir/apps/domain/lib/domain/config/definitions.ex +@@ -584,6 +590,7 @@ defmodule Domain.Config.Definitions do + Swoosh.Adapters.Mailgun, + Swoosh.Adapters.Mailjet, + Swoosh.Adapters.Mandrill, ++ Swoosh.Adapters.Mua, + Swoosh.Adapters.Postmark, + Swoosh.Adapters.ProtonBridge, + Swoosh.Adapters.SMTP, +diff --git a/elixir/config/runtime.exs b/elixir/config/runtime.exs +index 15037e0a3..475c4ddfb 100644 +--- a/elixir/config/runtime.exs ++++ b/elixir/config/runtime.exs +@@ -226,8 +228,15 @@ if config_env() == :prod do + config :domain, + Domain.Mailer, + [ +- adapter: compile_config!(:outbound_email_adapter), +- from_email: compile_config!(:outbound_email_from) ++ adapter: compile_config!(:outbound_email_adapter), ++ from_email: compile_config!(:outbound_email_from), ++ protocol: String.to_atom(System.get_env("OUTBOUND_EMAIL_SMTP_PROTOCOL")), ++ relay: System.get_env("OUTBOUND_EMAIL_SMTP_HOST"), ++ port: String.to_integer(System.get_env("OUTBOUND_EMAIL_SMTP_PORT")), ++ auth: [ ++ username: System.get_env("OUTBOUND_EMAIL_SMTP_USERNAME"), ++ password: System.get_env("OUTBOUND_EMAIL_SMTP_PASSWORD") ++ ] + ] ++ compile_config!(:outbound_email_adapter_opts) + + config :workos, WorkOS.Client, +diff --git a/elixir/mix.exs b/elixir/mix.exs +index 12782d631..dee1245d2 100644 +--- a/elixir/mix.exs ++++ b/elixir/mix.exs +@@ -47,7 +47,9 @@ defmodule Firezone.MixProject do + # Formatter doesn't track dependencies of children applications + {:phoenix, "~> 1.7.0"}, + {:phoenix_live_view, "~> 1.0.0-rc.0"}, +- {:floki, "~> 0.37.0"} ++ {:floki, "~> 0.37.0"}, ++ {:mua, "~> 0.2.0"}, ++ {:mail, "~> 0.3.0"} + ] + end + +diff --git a/elixir/mix.lock b/elixir/mix.lock +index 8c4b65959..3d2f9faca 100644 +--- a/elixir/mix.lock ++++ b/elixir/mix.lock +@@ -50,11 +50,13 @@ + "junit_formatter": {:hex, :junit_formatter, "3.4.0", "d0e8db6c34dab6d3c4154c3b46b21540db1109ae709d6cf99ba7e7a2ce4b1ac2", [:mix], [], "hexpm", "bb36e2ae83f1ced6ab931c4ce51dd3dbef1ef61bb4932412e173b0cfa259dacd"}, + "libcluster": {:hex, :libcluster, "3.3.3", "a4f17721a19004cfc4467268e17cff8b1f951befe428975dd4f6f7b84d927fe0", [:mix], [{:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "7c0a2275a0bb83c07acd17dab3c3bfb4897b145106750eeccc62d302e3bdfee5"}, + "logger_json": {:hex, :logger_json, "6.2.0", "13e2e9f5f7b195865c5c3ef3d296c3ad50e7ecb038d899433702a79e979b91d7", [:mix], [{:ecto, "~> 3.11", [hex: :ecto, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: true]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "98366d02bedbb56e41b25a6d248d566d4f4bc224bae2b1e982df00ed04ba9219"}, ++ "mail": {:hex, :mail, "0.3.1", "cb0a14e4ed8904e4e5a08214e686ccf6f9099346885db17d8c309381f865cc5c", [:mix], [], "hexpm", "1db701e89865c1d5fa296b2b57b1cd587587cca8d8a1a22892b35ef5a8e352a6"}, + "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, + "mime": {:hex, :mime, "2.0.6", "8f18486773d9b15f95f4f4f1e39b710045fa1de891fada4516559967276e4dc2", [:mix], [], "hexpm", "c9945363a6b26d747389aac3643f8e0e09d30499a138ad64fe8fd1d13d9b153e"}, + "mimerl": {:hex, :mimerl, "1.3.0", "d0cd9fc04b9061f82490f6581e0128379830e78535e017f7780f37fea7545726", [:rebar3], [], "hexpm", "a1e15a50d1887217de95f0b9b0793e32853f7c258a5cd227650889b38839fe9d"}, + "mint": {:hex, :mint, "1.6.2", "af6d97a4051eee4f05b5500671d47c3a67dac7386045d87a904126fd4bbcea2e", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "5ee441dffc1892f1ae59127f74afe8fd82fda6587794278d924e4d90ea3d63f9"}, + "mix_audit": {:hex, :mix_audit, "2.1.4", "0a23d5b07350cdd69001c13882a4f5fb9f90fbd4cbf2ebc190a2ee0d187ea3e9", [:make, :mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:yaml_elixir, "~> 2.11", [hex: :yaml_elixir, repo: "hexpm", optional: false]}], "hexpm", "fd807653cc8c1cada2911129c7eb9e985e3cc76ebf26f4dd628bb25bbcaa7099"}, ++ "mua": {:hex, :mua, "0.2.4", "a9172ab0a1ac8732cf2699d739ceac3febcb9b4ffc540260ad2e32c0b6632af9", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "e7e4dacd5ad65f13e3542772e74a159c00bd2d5579e729e9bb72d2c73a266fb7"}, + "multipart": {:hex, :multipart, "0.4.0", "634880a2148d4555d050963373d0e3bbb44a55b2badd87fa8623166172e9cda0", [:mix], [{:mime, "~> 1.2 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}], "hexpm", "3c5604bc2fb17b3137e5d2abdf5dacc2647e60c5cc6634b102cf1aef75a06f0a"}, + "nimble_csv": {:hex, :nimble_csv, "1.2.0", "4e26385d260c61eba9d4412c71cea34421f296d5353f914afe3f2e71cce97722", [:mix], [], "hexpm", "d0628117fcc2148178b034044c55359b26966c6eaa8e2ce15777be3bbc91b12a"}, + "nimble_options": {:hex, :nimble_options, "1.1.1", "e3a492d54d85fc3fd7c5baf411d9d2852922f66e69476317787a7b2bb000a61b", [:mix], [], "hexpm", "821b2470ca9442c4b6984882fe9bb0389371b8ddec4d45a9504f00a66f650b44"}, diff --git a/pkgs/by-name/fi/firezone-server/package.nix b/pkgs/by-name/fi/firezone-server/package.nix new file mode 100644 index 000000000000..3e09361bf1bb --- /dev/null +++ b/pkgs/by-name/fi/firezone-server/package.nix @@ -0,0 +1,90 @@ +{ + lib, + nixosTests, + fetchFromGitHub, + beamPackages, + gitMinimal, + pnpm_9, + nodejs, + tailwindcss_3, + esbuild, + + mixReleaseName ? "domain", # "domain" "web" or "api" +}: + +beamPackages.mixRelease rec { + pname = "firezone-server-${mixReleaseName}"; + version = "0-unstable-2025-03-15"; + + src = "${ + fetchFromGitHub { + owner = "firezone"; + repo = "firezone"; + rev = "09fb5f927410503b0d6e7fc6cf6a2ba06cb5a281"; + hash = "sha256-1CZBFhOwX0DfXykPQ9tzn4tHg2tSnByXEPtlZleHK5k="; + + # This is necessary to allow sending mails via SMTP, as the default + # SMTP adapter is current broken: https://github.com/swoosh/swoosh/issues/785 + postFetch = '' + ${lib.getExe gitMinimal} -C $out apply ${./0000-add-mua.patch} + ''; + } + }/elixir"; + + pnpmDeps = pnpm_9.fetchDeps { + inherit pname version; + src = "${src}/apps/web/assets"; + hash = "sha256-ejyBppFtKeyVhAWmssglbpLleOnbw9d4B+iM5Vtx47A="; + }; + pnpmRoot = "apps/web/assets"; + + preBuild = '' + cat >> config/config.exs <> config/runtime.exs < Date: Tue, 21 Jan 2025 02:09:45 +0100 Subject: [PATCH 075/272] nixos/firezone: init modules --- .../manual/release-notes/rl-2505.section.md | 2 + nixos/modules/module-list.nix | 5 + .../services/networking/firezone/gateway.nix | 159 +++ .../networking/firezone/gui-client.nix | 138 ++ .../networking/firezone/headless-client.nix | 148 ++ .../networking/firezone/provision.exs | 709 ++++++++++ .../services/networking/firezone/relay.nix | 202 +++ .../services/networking/firezone/server.nix | 1210 +++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/firezone/create-tokens.exs | 86 ++ nixos/tests/firezone/firezone.nix | 349 +++++ 11 files changed, 3009 insertions(+) create mode 100644 nixos/modules/services/networking/firezone/gateway.nix create mode 100644 nixos/modules/services/networking/firezone/gui-client.nix create mode 100644 nixos/modules/services/networking/firezone/headless-client.nix create mode 100644 nixos/modules/services/networking/firezone/provision.exs create mode 100644 nixos/modules/services/networking/firezone/relay.nix create mode 100644 nixos/modules/services/networking/firezone/server.nix create mode 100644 nixos/tests/firezone/create-tokens.exs create mode 100644 nixos/tests/firezone/firezone.nix diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index 651a2d4335b1..792f315caf35 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -108,6 +108,8 @@ - [Schroot](https://codeberg.org/shelter/reschroot), a lightweight virtualisation tool. Securely enter a chroot and run a command or login shell. Available as [programs.schroot](#opt-programs.schroot.enable). +- [Firezone](https://firezone.dev), an enterprise-ready zero-trust access platform built on WireGuard. This includes the server stack as [services.firezone.server.enable](#opt-services.firezone.server.enable), a TURN/STUN relay service as [services.firezone.relay.enable](#opt-services.firezone.relay.enable), a gateway service as [services.firezone.gateway.enable](#opt-services.firezone.gateway.enable), a headless client as [services.firezone.headless-client.enable](#opt-services.firezone.headless-client.enable) and a GUI client as [services.firezone.gui-client.enable](#opt-services.firezone.gui-client.enable). + - [crab-hole](https://github.com/LuckyTurtleDev/crab-hole), a cross platform Pi-hole clone written in Rust using hickory-dns/trust-dns. Available as [services.crab-hole](#opt-services.crab-hole.enable). - [zwave-js-ui](https://zwave-js.github.io/zwave-js-ui/), a full featured Z-Wave Control Panel and MQTT Gateway. Available as [services.zwave-js-ui](#opt-services.zwave-js-ui.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 0a563ab736d9..31efb0d0935d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1099,6 +1099,11 @@ ./services/networking/firewall.nix ./services/networking/firewall-iptables.nix ./services/networking/firewall-nftables.nix + ./services/networking/firezone/gateway.nix + ./services/networking/firezone/gui-client.nix + ./services/networking/firezone/headless-client.nix + ./services/networking/firezone/relay.nix + ./services/networking/firezone/server.nix ./services/networking/flannel.nix ./services/networking/freenet.nix ./services/networking/freeradius.nix diff --git a/nixos/modules/services/networking/firezone/gateway.nix b/nixos/modules/services/networking/firezone/gateway.nix new file mode 100644 index 000000000000..915478000edb --- /dev/null +++ b/nixos/modules/services/networking/firezone/gateway.nix @@ -0,0 +1,159 @@ +{ + lib, + pkgs, + config, + ... +}: +let + inherit (lib) + boolToString + getExe + mkEnableOption + mkIf + mkOption + mkPackageOption + types + ; + + cfg = config.services.firezone.gateway; +in +{ + options = { + services.firezone.gateway = { + enable = mkOption { + default = false; + example = true; + description = '' + Whether to enable the firezone gateway. + + You have to manually masquerade and forward traffic from the + tun-firezone interface to your resource! Refer to the + [upstream setup script](https://github.com/firezone/firezone/blob/8c7c0a9e8e33ae790aeb75fdb5a15432c2870b79/scripts/gateway-systemd-install.sh#L154-L168) + for a list of iptable commands. + + See the firezone nixos test in this repository for an nftables based example. + ''; + type = lib.types.bool; + }; + package = mkPackageOption pkgs "firezone-gateway" { }; + + name = mkOption { + type = types.str; + description = "The name of this gateway as shown in firezone"; + }; + + apiUrl = mkOption { + type = types.strMatching "^wss://.+/$"; + example = "wss://firezone.example.com/api/"; + description = '' + The URL of your firezone server's API. This should be the same + as your server's setting for {option}`services.firezone.server.settings.api.externalUrl`, + but with `wss://` instead of `https://`. + ''; + }; + + tokenFile = mkOption { + type = types.path; + example = "/run/secrets/firezone-gateway-token"; + description = '' + A file containing the firezone gateway token. Do not use a nix-store path here + as it will make the token publicly readable! + + This file will be passed via systemd credentials, it should only be accessible + by the root user. + ''; + }; + + logLevel = mkOption { + type = types.str; + default = "info"; + description = '' + The log level for the firezone application. See + [RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) + for the format. + ''; + }; + + enableTelemetry = mkEnableOption "telemetry"; + }; + }; + + config = mkIf cfg.enable { + systemd.services.firezone-gateway = { + description = "Gateway service for the Firezone zero-trust access platform"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.util-linux ]; + script = '' + # If FIREZONE_ID is not given by the user, use a persisted (or newly generated) uuid. + if [[ -z "''${FIREZONE_ID:-}" ]]; then + if [[ ! -e gateway_id ]]; then + uuidgen -r > gateway_id + fi + export FIREZONE_ID=$(< gateway_id) + fi + + export FIREZONE_TOKEN=$(< "$CREDENTIALS_DIRECTORY/firezone-token") + exec ${getExe cfg.package} + ''; + + environment = { + FIREZONE_API_URL = cfg.apiUrl; + FIREZONE_NAME = cfg.name; + FIREZONE_NO_TELEMETRY = boolToString (!cfg.enableTelemetry); + RUST_LOG = cfg.logLevel; + }; + + serviceConfig = { + Type = "exec"; + DynamicUser = true; + User = "firezone-gateway"; + LoadCredential = [ "firezone-token:${cfg.tokenFile}" ]; + + DeviceAllow = "/dev/net/tun"; + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; + + StateDirectory = "firezone-gateway"; + WorkingDirectory = "/var/lib/firezone-gateway"; + + Restart = "on-failure"; + RestartSec = 10; + + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = false; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + UMask = "077"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; +} diff --git a/nixos/modules/services/networking/firezone/gui-client.nix b/nixos/modules/services/networking/firezone/gui-client.nix new file mode 100644 index 000000000000..8ddb4223111f --- /dev/null +++ b/nixos/modules/services/networking/firezone/gui-client.nix @@ -0,0 +1,138 @@ +{ + lib, + pkgs, + config, + ... +}: +let + inherit (lib) + boolToString + getExe' + mkEnableOption + mkIf + mkOption + mkPackageOption + types + ; + + cfg = config.services.firezone.gui-client; +in +{ + options = { + services.firezone.gui-client = { + enable = mkEnableOption "the firezone gui client"; + package = mkPackageOption pkgs "firezone-gui-client" { }; + + allowedUsers = mkOption { + type = types.listOf types.str; + default = [ ]; + description = '' + All listed users will become part of the `firezone-client` group so + they can control the IPC service. This is a convenience option. + ''; + }; + + name = mkOption { + type = types.str; + description = "The name of this client as shown in firezone"; + }; + + logLevel = mkOption { + type = types.str; + default = "info"; + description = '' + The log level for the firezone application. See + [RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) + for the format. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + users.groups.firezone-client.members = cfg.allowedUsers; + + # Required for deep-link mimetype registration + environment.systemPackages = [ cfg.package ]; + + # Required for the token store in the gui application + services.gnome.gnome-keyring.enable = true; + + systemd.services.firezone-ipc-service = { + description = "GUI IPC service for the Firezone zero-trust access platform"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.util-linux ]; + script = '' + # If FIREZONE_ID is not given by the user, use a persisted (or newly generated) uuid. + if [[ -z "''${FIREZONE_ID:-}" ]]; then + if [[ ! -e client_id ]]; then + uuidgen -r > client_id + fi + export FIREZONE_ID=$(< client_id) + fi + + exec ${getExe' cfg.package "firezone-client-ipc"} run + ''; + + environment = { + FIREZONE_NAME = cfg.name; + LOG_DIR = "%L/dev.firezone.client"; + RUST_LOG = cfg.logLevel; + }; + + serviceConfig = { + Type = "notify"; + + DeviceAllow = "/dev/net/tun"; + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; + + # This block contains hardcoded values in the client, we cannot change these :( + Group = "firezone-client"; + RuntimeDirectory = "dev.firezone.client"; + StateDirectory = "dev.firezone.client"; + WorkingDirectory = "/var/lib/dev.firezone.client"; + LogsDirectory = "dev.firezone.client"; + + Restart = "on-failure"; + RestartSec = 10; + + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = false; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + UMask = "077"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; +} diff --git a/nixos/modules/services/networking/firezone/headless-client.nix b/nixos/modules/services/networking/firezone/headless-client.nix new file mode 100644 index 000000000000..c369fe5220b1 --- /dev/null +++ b/nixos/modules/services/networking/firezone/headless-client.nix @@ -0,0 +1,148 @@ +{ + lib, + pkgs, + config, + ... +}: +let + inherit (lib) + boolToString + getExe + mkEnableOption + mkIf + mkOption + mkPackageOption + types + ; + + cfg = config.services.firezone.headless-client; +in +{ + options = { + services.firezone.headless-client = { + enable = mkEnableOption "the firezone headless client"; + package = mkPackageOption pkgs "firezone-headless-client" { }; + + name = mkOption { + type = types.str; + description = "The name of this client as shown in firezone"; + }; + + apiUrl = mkOption { + type = types.strMatching "^wss://.+/$"; + example = "wss://firezone.example.com/api/"; + description = '' + The URL of your firezone server's API. This should be the same + as your server's setting for {option}`services.firezone.server.settings.api.externalUrl`, + but with `wss://` instead of `https://`. + ''; + }; + + tokenFile = mkOption { + type = types.path; + example = "/run/secrets/firezone-client-token"; + description = '' + A file containing the firezone client token. Do not use a nix-store path here + as it will make the token publicly readable! + + This file will be passed via systemd credentials, it should only be accessible + by the root user. + ''; + }; + + logLevel = mkOption { + type = types.str; + default = "info"; + description = '' + The log level for the firezone application. See + [RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) + for the format. + ''; + }; + + enableTelemetry = mkEnableOption "telemetry"; + }; + }; + + config = mkIf cfg.enable { + systemd.services.firezone-headless-client = { + description = "headless client service for the Firezone zero-trust access platform"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.util-linux ]; + script = '' + # If FIREZONE_ID is not given by the user, use a persisted (or newly generated) uuid. + if [[ -z "''${FIREZONE_ID:-}" ]]; then + if [[ ! -e client_id ]]; then + uuidgen -r > client_id + fi + export FIREZONE_ID=$(< client_id) + fi + + exec ${getExe cfg.package} + ''; + + environment = { + FIREZONE_API_URL = cfg.apiUrl; + FIREZONE_NAME = cfg.name; + FIREZONE_NO_TELEMETRY = boolToString (!cfg.enableTelemetry); + FIREZONE_TOKEN_PATH = "%d/firezone-token"; + LOG_DIR = "%L/dev.firezone.client"; + RUST_LOG = cfg.logLevel; + }; + + serviceConfig = { + Type = "exec"; + LoadCredential = [ "firezone-token:${cfg.tokenFile}" ]; + + DeviceAllow = "/dev/net/tun"; + AmbientCapabilities = [ "CAP_NET_ADMIN" ]; + CapabilityBoundingSet = [ "CAP_NET_ADMIN" ]; + + # Hardcoded values in the client :( + RuntimeDirectory = "dev.firezone.client"; + StateDirectory = "dev.firezone.client"; + WorkingDirectory = "/var/lib/dev.firezone.client"; + LogsDirectory = "dev.firezone.client"; + + Restart = "on-failure"; + RestartSec = 10; + + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = false; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + UMask = "077"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; +} diff --git a/nixos/modules/services/networking/firezone/provision.exs b/nixos/modules/services/networking/firezone/provision.exs new file mode 100644 index 000000000000..d8e60d32cf32 --- /dev/null +++ b/nixos/modules/services/networking/firezone/provision.exs @@ -0,0 +1,709 @@ +defmodule Provision do + alias Domain.{Repo, Accounts, Auth, Actors, Resources, Tokens, Gateways, Relays, Policies} + require Logger + + # UUID Mapping handling + defmodule UuidMapping do + @mapping_file "provision-uuids.json" + + # Loads the mapping from file + def load do + mappings = case File.read(@mapping_file) do + {:ok, content} -> + case Jason.decode(content) do + {:ok, mapping} -> mapping + _ -> %{"accounts" => %{}} + end + + _ -> %{"accounts" => %{}} + end + Process.put(:uuid_mappings, mappings) + mappings + end + + # Saves the current mapping (defaulting to the one in the process dictionary) + def save(mapping \\ Process.get(:uuid_mappings)) do + File.write!(@mapping_file, Jason.encode!(mapping)) + end + + # Retrieves the account-level mapping from a given mapping (or from Process) + def get_account(mapping \\ Process.get(:uuid_mappings), account_slug) do + get_in(mapping, ["accounts", account_slug]) || %{} + end + + # Retrieves the entity mapping for a specific account and type + def get_entities(mapping \\ Process.get(:uuid_mappings), account_slug, type) do + get_in(mapping, ["accounts", account_slug, type]) || %{} + end + + # Retrieves an entity mapping for a specific account, type and external_id + def get_entity(mapping \\ Process.get(:uuid_mappings), account_slug, type, external_id) do + get_in(mapping, ["accounts", account_slug, type, external_id]) + end + + # Updates (or creates) the account UUID mapping and stores it in the process dictionary. + def update_account(account_slug, uuid) do + mapping = Process.get(:uuid_mappings) || load() + mapping = ensure_account_exists(mapping, account_slug) + mapping = put_in(mapping, ["accounts", account_slug, "id"], uuid) + Process.put(:uuid_mappings, mapping) + mapping + end + + # Ensures that the given account exists in the mapping. + def ensure_account_exists(mapping, account_slug) do + if not Map.has_key?(mapping["accounts"], account_slug) do + put_in(mapping, ["accounts", account_slug], %{}) + else + mapping + end + end + + # Updates (or creates) the mapping for entities of a given type for the account. + def update_entities(account_slug, type, new_entries) do + mapping = Process.get(:uuid_mappings) || load() + mapping = ensure_account_exists(mapping, account_slug) + current = get_entities(mapping, account_slug, type) + mapping = put_in(mapping, ["accounts", account_slug, type], Map.merge(current, new_entries)) + Process.put(:uuid_mappings, mapping) + mapping + end + + # Removes an entire account from the mapping. + def remove_account(account_slug) do + mapping = Process.get(:uuid_mappings) || load() + mapping = update_in(mapping, ["accounts"], fn accounts -> + Map.delete(accounts, account_slug) + end) + Process.put(:uuid_mappings, mapping) + mapping + end + + # Removes a specific entity mapping for the account. + def remove_entity(account_slug, type, key) do + mapping = Process.get(:uuid_mappings) || load() + mapping = update_in(mapping, ["accounts", account_slug, type], fn entities -> + Map.delete(entities || %{}, key) + end) + Process.put(:uuid_mappings, mapping) + mapping + end + end + + defp resolve_references(value) when is_map(value) do + Enum.into(value, %{}, fn {k, v} -> {k, resolve_references(v)} end) + end + + defp resolve_references(value) when is_list(value) do + Enum.map(value, &resolve_references/1) + end + + defp resolve_references(value) when is_binary(value) do + Regex.replace(~r/\{env:([^}]+)\}/, value, fn _, var -> + System.get_env(var) || raise "Environment variable #{var} not set" + end) + end + + defp resolve_references(value), do: value + + defp atomize_keys(map) when is_map(map) do + Enum.into(map, %{}, fn {k, v} -> + { + if(is_binary(k), do: String.to_atom(k), else: k), + if(is_map(v), do: atomize_keys(v), else: v) + } + end) + end + + defp cleanup_account(uuid) do + case Accounts.fetch_account_by_id_or_slug(uuid) do + {:ok, value} when value.deleted_at == nil -> + Logger.info("Deleting removed account #{value.slug}") + value |> Ecto.Changeset.change(%{ deleted_at: DateTime.utc_now() }) |> Repo.update!() + _ -> :ok + end + end + + defp cleanup_actor(uuid, subject) do + case Actors.fetch_actor_by_id(uuid, subject) do + {:ok, value} -> + Logger.info("Deleting removed actor #{value.name}") + {:ok, _} = Actors.delete_actor(value, subject) + _ -> :ok + end + end + + defp cleanup_provider(uuid, subject) do + case Auth.fetch_provider_by_id(uuid, subject) do + {:ok, value} -> + Logger.info("Deleting removed provider #{value.name}") + {:ok, _} = Auth.delete_provider(value, subject) + _ -> :ok + end + end + + defp cleanup_gateway_group(uuid, subject) do + case Gateways.fetch_group_by_id(uuid, subject) do + {:ok, value} -> + Logger.info("Deleting removed gateway group #{value.name}") + {:ok, _} = Gateways.delete_group(value, subject) + _ -> :ok + end + end + + defp cleanup_relay_group(uuid, subject) do + case Relays.fetch_group_by_id(uuid, subject) do + {:ok, value} -> + Logger.info("Deleting removed relay group #{value.name}") + {:ok, _} = Relays.delete_group(value, subject) + _ -> :ok + end + end + + defp cleanup_actor_group(uuid, subject) do + case Actors.fetch_group_by_id(uuid, subject) do + {:ok, value} -> + Logger.info("Deleting removed actor group #{value.name}") + {:ok, _} = Actors.delete_group(value, subject) + _ -> :ok + end + end + + # Fetch resource by uuid, but follow the chain of replacements if any + defp fetch_resource(uuid, subject) do + case Resources.fetch_resource_by_id(uuid, subject) do + {:ok, resource} when resource.replaced_by_resource_id != nil -> fetch_resource(resource.replaced_by_resource_id, subject) + v -> v + end + end + + defp cleanup_resource(uuid, subject) do + case fetch_resource(uuid, subject) do + {:ok, value} when value.deleted_at == nil -> + Logger.info("Deleting removed resource #{value.name}") + {:ok, _} = Resources.delete_resource(value, subject) + _ -> :ok + end + end + + # Fetch policy by uuid, but follow the chain of replacements if any + defp fetch_policy(uuid, subject) do + case Policies.fetch_policy_by_id(uuid, subject) do + {:ok, policy} when policy.replaced_by_policy_id != nil -> fetch_policy(policy.replaced_by_policy_id, subject) + v -> v + end + end + + defp cleanup_policy(uuid, subject) do + case fetch_policy(uuid, subject) do + {:ok, value} when value.deleted_at == nil -> + Logger.info("Deleting removed policy #{value.description}") + {:ok, _} = Policies.delete_policy(value, subject) + _ -> :ok + end + end + + defp cleanup_entity_type(account_slug, entity_type, cleanup_fn, temp_admin_subject) do + # Get mapping for this entity type + existing_entities = UuidMapping.get_entities(account_slug, entity_type) + # Get current entities from account data + current_entities = Process.get(:current_entities) + # Determine which ones to remove + removed_entity_ids = Map.keys(existing_entities) -- (current_entities[entity_type] || []) + + # Process each entity to remove + Enum.each(removed_entity_ids, fn entity_id -> + case existing_entities[entity_id] do + nil -> :ok + uuid -> + cleanup_fn.(uuid, temp_admin_subject) + UuidMapping.remove_entity(account_slug, entity_type, entity_id) + end + end) + end + + defp collect_current_entities(account_data) do + %{ + "actors" => Map.keys(account_data["actors"] || %{}), + "providers" => Map.keys(account_data["auth"] || %{}), + "gateway_groups" => Map.keys(account_data["gatewayGroups"] || %{}), + "relay_groups" => Map.keys(account_data["relayGroups"] || %{}), + "actor_groups" => Map.keys(account_data["groups"] || %{}) ++ ["everyone"], + "resources" => Map.keys(account_data["resources"] || %{}), + "policies" => Map.keys(account_data["policies"] || %{}) + } + end + + defp nil_if_deleted_or_not_found(value) do + case value do + nil -> nil + {:error, :not_found} -> nil + {:ok, value} when value.deleted_at != nil -> nil + v -> v + end + end + + defp create_temp_admin(account, email_provider) do + temp_admin_actor_email = "firezone-provision@localhost.local" + temp_admin_actor_context = %Auth.Context{ + type: :browser, + user_agent: "Unspecified/0.0", + remote_ip: {127, 0, 0, 1}, + remote_ip_location_region: "N/A", + remote_ip_location_city: "N/A", + remote_ip_location_lat: 0.0, + remote_ip_location_lon: 0.0 + } + + {:ok, temp_admin_actor} = + Actors.create_actor(account, %{ + type: :account_admin_user, + name: "Provisioning" + }) + + {:ok, temp_admin_actor_email_identity} = + Auth.create_identity(temp_admin_actor, email_provider, %{ + provider_identifier: temp_admin_actor_email, + provider_identifier_confirmation: temp_admin_actor_email + }) + + {:ok, temp_admin_actor_token} = + Auth.create_token(temp_admin_actor_email_identity, temp_admin_actor_context, "temporarynonce", DateTime.utc_now() |> DateTime.add(1, :hour)) + + {:ok, temp_admin_subject} = + Auth.build_subject(temp_admin_actor_token, temp_admin_actor_context) + + {temp_admin_subject, temp_admin_actor, temp_admin_actor_email_identity, temp_admin_actor_token} + end + + defp cleanup_temp_admin(temp_admin_actor, temp_admin_actor_email_identity, temp_admin_actor_token, subject) do + Logger.info("Cleaning up temporary admin actor") + {:ok, _} = Tokens.delete_token(temp_admin_actor_token, subject) + {:ok, _} = Auth.delete_identity(temp_admin_actor_email_identity, subject) + {:ok, _} = Actors.delete_actor(temp_admin_actor, subject) + end + + def provision() do + Logger.info("Starting provisioning") + + # Load desired state + json_file = "provision-state.json" + {:ok, raw_json} = File.read(json_file) + {:ok, %{"accounts" => accounts}} = Jason.decode(raw_json) + accounts = resolve_references(accounts) + + # Load existing UUID mappings into the process dictionary. + UuidMapping.load() + + # Clean up removed accounts first + current_account_slugs = Map.keys(accounts) + existing_accounts = Map.keys(Process.get(:uuid_mappings)["accounts"]) + removed_accounts = existing_accounts -- current_account_slugs + + Enum.each(removed_accounts, fn slug -> + if uuid = get_in(Process.get(:uuid_mappings), ["accounts", slug, "id"]) do + cleanup_account(uuid) + # Remove the account from the UUID mapping. + UuidMapping.remove_account(slug) + end + end) + + multi = Enum.reduce(accounts, Ecto.Multi.new(), fn {slug, account_data}, multi -> + account_attrs = atomize_keys(%{ + name: account_data["name"], + slug: slug, + features: Map.get(account_data, "features", %{}), + metadata: Map.get(account_data, "metadata", %{}), + limits: Map.get(account_data, "limits", %{}) + }) + + multi = multi + |> Ecto.Multi.run({:account, slug}, fn repo, _changes -> + case Accounts.fetch_account_by_id_or_slug(slug) do + {:ok, acc} -> + Logger.info("Updating existing account #{slug}") + updated_acc = acc |> Ecto.Changeset.change(account_attrs) |> repo.update!() + {:ok, {:existing, updated_acc}} + _ -> + Logger.info("Creating new account #{slug}") + {:ok, account} = Accounts.create_account(account_attrs) + + Logger.info("Creating internet gateway group") + {:ok, internet_site} = Gateways.create_internet_group(account) + + Logger.info("Creating internet resource") + {:ok, _internet_resource} = Resources.create_internet_resource(account, internet_site) + + # Store mapping of slug to UUID + UuidMapping.update_account(slug, account.id) + {:ok, {:new, account}} + end + end) + |> Ecto.Multi.run({:everyone_group, slug}, fn _repo, changes -> + case Map.get(changes, {:account, slug}) do + {:new, account} -> + Logger.info("Creating everyone group for new account") + {:ok, actor_group} = Actors.create_managed_group(account, %{name: "Everyone", membership_rules: [%{operator: true}]}) + UuidMapping.update_entities(slug, "actor_groups", %{"everyone" => actor_group.id}) + {:ok, actor_group} + {:existing, _account} -> + {:ok, :skipped} + end + end) + |> Ecto.Multi.run({:email_provider, slug}, fn _repo, changes -> + case Map.get(changes, {:account, slug}) do + {:new, account} -> + Logger.info("Creating default email provider for new account") + Auth.create_provider(account, %{name: "Email", adapter: :email, adapter_config: %{}}) + {:existing, account} -> + Auth.Provider.Query.not_disabled() + |> Auth.Provider.Query.by_adapter(:email) + |> Auth.Provider.Query.by_account_id(account.id) + |> Repo.fetch(Auth.Provider.Query, []) + end + end) + |> Ecto.Multi.run({:temp_admin, slug}, fn _repo, changes -> + {_, account} = changes[{:account, slug}] + email_provider = changes[{:email_provider, slug}] + {:ok, create_temp_admin(account, email_provider)} + end) + + # Clean up removed entities for this account after we have an admin subject + multi = multi + |> Ecto.Multi.run({:cleanup_entities, slug}, fn _repo, changes -> + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + + # Store current entities in process dictionary for our helper function + current_entities = collect_current_entities(account_data) + Process.put(:current_entities, current_entities) + + # Define entity types and their cleanup functions + entity_types = [ + {"actors", &cleanup_actor/2}, + {"providers", &cleanup_provider/2}, + {"gateway_groups", &cleanup_gateway_group/2}, + {"relay_groups", &cleanup_relay_group/2}, + {"actor_groups", &cleanup_actor_group/2}, + {"resources", &cleanup_resource/2}, + {"policies", &cleanup_policy/2} + ] + + # Clean up each entity type + Enum.each(entity_types, fn {entity_type, cleanup_fn} -> + cleanup_entity_type(slug, entity_type, cleanup_fn, temp_admin_subject) + end) + + {:ok, :cleaned} + end) + + # Create or update actors + multi = Enum.reduce(account_data["actors"] || %{}, multi, fn {external_id, actor_data}, multi -> + actor_attrs = atomize_keys(%{ + name: actor_data["name"], + type: String.to_atom(actor_data["type"]) + }) + + Ecto.Multi.run(multi, {:actor, slug, external_id}, fn _repo, changes -> + {_, account} = changes[{:account, slug}] + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "actors", external_id) + case uuid && Actors.fetch_actor_by_id(uuid, temp_admin_subject) |> nil_if_deleted_or_not_found() do + nil -> + Logger.info("Creating new actor #{actor_data["name"]}") + {:ok, actor} = Actors.create_actor(account, actor_attrs) + # Update the mapping without manually handling Process.get/put. + UuidMapping.update_entities(slug, "actors", %{external_id => actor.id}) + {:ok, {:new, actor}} + {:ok, existing_actor} -> + Logger.info("Updating existing actor #{actor_data["name"]}") + {:ok, updated_act} = Actors.update_actor(existing_actor, actor_attrs, temp_admin_subject) + {:ok, {:existing, updated_act}} + end + end) + |> Ecto.Multi.run({:actor_identity, slug, external_id}, fn repo, changes -> + email_provider = changes[{:email_provider, slug}] + case Map.get(changes, {:actor, slug, external_id}) do + {:new, actor} -> + Logger.info("Creating actor email identity") + Auth.create_identity(actor, email_provider, %{ + provider_identifier: actor_data["email"], + provider_identifier_confirmation: actor_data["email"] + }) + {:existing, actor} -> + Logger.info("Updating actor email identity") + {:ok, identity} = Auth.Identity.Query.not_deleted() + |> Auth.Identity.Query.by_actor_id(actor.id) + |> Auth.Identity.Query.by_provider_id(email_provider.id) + |> Repo.fetch(Auth.Identity.Query, []) + + {:ok, identity |> Ecto.Changeset.change(%{ + provider_identifier: actor_data["email"] + }) |> repo.update!()} + end + end) + end) + + # Create or update providers + multi = Enum.reduce(account_data["auth"] || %{}, multi, fn {external_id, provider_data}, multi -> + Ecto.Multi.run(multi, {:provider, slug, external_id}, fn repo, changes -> + provider_attrs = %{ + name: provider_data["name"], + adapter: String.to_atom(provider_data["adapter"]), + adapter_config: provider_data["adapter_config"] + } + + {_, account} = changes[{:account, slug}] + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "providers", external_id) + case uuid && Auth.fetch_provider_by_id(uuid, temp_admin_subject) |> nil_if_deleted_or_not_found() do + nil -> + Logger.info("Creating new provider #{provider_data["name"]}") + {:ok, provider} = Auth.create_provider(account, provider_attrs) + UuidMapping.update_entities(slug, "providers", %{external_id => provider.id}) + {:ok, provider} + {:ok, existing} -> + Logger.info("Updating existing provider #{provider_data["name"]}") + {:ok, existing |> Ecto.Changeset.change(provider_attrs) |> repo.update!()} + end + end) + end) + + # Create or update gateway_groups + multi = Enum.reduce(account_data["gatewayGroups"] || %{}, multi, fn {external_id, gateway_group_data}, multi -> + Ecto.Multi.run(multi, {:gateway_group, slug, external_id}, fn _repo, changes -> + gateway_group_attrs = %{ + name: gateway_group_data["name"], + tokens: [%{}] + } + + {_, account} = changes[{:account, slug}] + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "gateway_groups", external_id) + case uuid && Gateways.fetch_group_by_id(uuid, temp_admin_subject) |> nil_if_deleted_or_not_found() do + nil -> + Logger.info("Creating new gateway group #{gateway_group_data["name"]}") + gateway_group = account + |> Gateways.Group.Changeset.create(gateway_group_attrs, temp_admin_subject) + |> Repo.insert!() + UuidMapping.update_entities(slug, "gateway_groups", %{external_id => gateway_group.id}) + {:ok, gateway_group} + {:ok, existing} -> + # Nothing to update + {:ok, existing} + end + end) + end) + + # Create or update relay_groups + multi = Enum.reduce(account_data["relayGroups"] || %{}, multi, fn {external_id, relay_group_data}, multi -> + Ecto.Multi.run(multi, {:relay_group, slug, external_id}, fn _repo, changes -> + relay_group_attrs = %{ + name: relay_group_data["name"] + } + + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "relay_groups", external_id) + existing_relay_group = uuid && Relays.fetch_group_by_id(uuid, temp_admin_subject) + case existing_relay_group do + v when v in [nil, {:error, :not_found}] -> + Logger.info("Creating new relay group #{relay_group_data["name"]}") + {:ok, relay_group} = Relays.create_group(relay_group_attrs, temp_admin_subject) + UuidMapping.update_entities(slug, "relay_groups", %{external_id => relay_group.id}) + {:ok, relay_group} + {:ok, existing} -> + # Nothing to update + {:ok, existing} + end + end) + end) + + # Create or update actor_groups + multi = Enum.reduce(account_data["groups"] || %{}, multi, fn {external_id, actor_group_data}, multi -> + Ecto.Multi.run(multi, {:actor_group, slug, external_id}, fn _repo, changes -> + actor_group_attrs = %{ + name: actor_group_data["name"], + type: :static + } + + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "actor_groups", external_id) + case uuid && Actors.fetch_group_by_id(uuid, temp_admin_subject) |> nil_if_deleted_or_not_found() do + nil -> + Logger.info("Creating new actor group #{actor_group_data["name"]}") + {:ok, actor_group} = Actors.create_group(actor_group_attrs, temp_admin_subject) + UuidMapping.update_entities(slug, "actor_groups", %{external_id => actor_group.id}) + {:ok, actor_group} + {:ok, existing} -> + # Nothing to update + {:ok, existing} + end + end) + |> Ecto.Multi.run({:actor_group_members, slug, external_id}, fn repo, changes -> + {_, account} = changes[{:account, slug}] + group_uuid = UuidMapping.get_entity(slug, "actor_groups", external_id) + + memberships = + Actors.Membership.Query.all() + |> Actors.Membership.Query.by_group_id(group_uuid) + |> Actors.Membership.Query.returning_all() + |> Repo.all() + + existing_members = Enum.map(memberships, fn membership -> membership.actor_id end) + desired_members = Enum.map(actor_group_data["members"] || [], fn member -> + uuid = UuidMapping.get_entity(slug, "actors", member) + if uuid == nil do + raise "Cannot find provisioned actor #{member} to add to group" + end + uuid + end) + + missing_members = desired_members -- existing_members + untracked_members = existing_members -- desired_members + + Logger.info("Updating members for actor group #{external_id}") + Enum.each(missing_members || [], fn actor_uuid -> + Logger.info("Adding member #{external_id}") + Actors.Membership.Changeset.upsert(account.id, %Actors.Membership{}, %{ + group_id: group_uuid, + actor_id: actor_uuid + }) + |> repo.insert!() + end) + + if actor_group_data["forceMembers"] == true do + # Remove untracked members + to_delete = Enum.map(untracked_members, fn actor_uuid -> {group_uuid, actor_uuid} end) + if to_delete != [] do + Actors.Membership.Query.by_group_id_and_actor_id({:in, to_delete}) + |> repo.delete_all() + end + end + + {:ok, nil} + end) + end) + + # Create or update resources + multi = Enum.reduce(account_data["resources"] || %{}, multi, fn {external_id, resource_data}, multi -> + Ecto.Multi.run(multi, {:resource, slug, external_id}, fn _repo, changes -> + resource_attrs = %{ + type: String.to_atom(resource_data["type"]), + name: resource_data["name"], + address: resource_data["address"], + address_description: resource_data["address_description"], + connections: Enum.map(resource_data["gatewayGroups"] || [], fn group -> + %{gateway_group_id: UuidMapping.get_entity(slug, "gateway_groups", group)} + end), + filters: Enum.map(resource_data["filters"] || [], fn filter -> + %{ + ports: filter["ports"] || [], + protocol: String.to_atom(filter["protocol"]) + } + end) + } + + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "resources", external_id) + case uuid && fetch_resource(uuid, temp_admin_subject) |> nil_if_deleted_or_not_found() do + nil -> + Logger.info("Creating new resource #{resource_data["name"]}") + {:ok, resource} = Resources.create_resource(resource_attrs, temp_admin_subject) + UuidMapping.update_entities(slug, "resources", %{external_id => resource.id}) + {:ok, resource} + {:ok, existing} -> + existing = Repo.preload(existing, :connections) + Logger.info("Updating existing resource #{resource_data["name"]}") + only_updated_attrs = resource_attrs + |> Enum.reject(fn {key, value} -> + case key do + # Compare connections by gateway_group_id only + :connections -> value == Enum.map(existing.connections || [], fn conn -> Map.take(conn, [:gateway_group_id]) end) + # Compare filters by ports and protocol only + :filters -> value == Enum.map(existing.filters || [], fn filter -> Map.take(filter, [:ports, :protocol]) end) + _ -> Map.get(existing, key) == value + end + end) + |> Enum.into(%{}) + + if only_updated_attrs == %{} do + {:ok, existing} + else + resource = case existing |> Resources.update_resource(resource_attrs, temp_admin_subject) do + {:replaced, _old, new} -> + UuidMapping.update_entities(slug, "resources", %{external_id => new.id}) + new + {:updated, value} -> value + x -> x + end + + {:ok, resource} + end + end + end) + end) + + # Create or update policies + multi = Enum.reduce(account_data["policies"] || %{}, multi, fn {external_id, policy_data}, multi -> + Ecto.Multi.run(multi, {:policy, slug, external_id}, fn _repo, changes -> + policy_attrs = %{ + description: policy_data["description"], + actor_group_id: UuidMapping.get_entity(slug, "actor_groups", policy_data["group"]), + resource_id: UuidMapping.get_entity(slug, "resources", policy_data["resource"]) + } + + {temp_admin_subject, _, _, _} = changes[{:temp_admin, slug}] + uuid = UuidMapping.get_entity(slug, "policies", external_id) + case uuid && fetch_policy(uuid, temp_admin_subject) |> nil_if_deleted_or_not_found() do + nil -> + Logger.info("Creating new policy #{policy_data["name"]}") + {:ok, policy} = Policies.create_policy(policy_attrs, temp_admin_subject) + UuidMapping.update_entities(slug, "policies", %{external_id => policy.id}) + {:ok, policy} + {:ok, existing} -> + Logger.info("Updating existing policy #{policy_data["name"]}") + only_updated_attrs = policy_attrs + |> Enum.reject(fn {key, value} -> Map.get(existing, key) == value end) + |> Enum.into(%{}) + + if only_updated_attrs == %{} do + {:ok, existing} + else + policy = case existing |> Policies.update_policy(policy_attrs, temp_admin_subject) do + {:replaced, _old, new} -> + UuidMapping.update_entities(slug, "policies", %{external_id => new.id}) + new + {:updated, value} -> value + x -> x + end + + {:ok, policy} + end + end + end) + end) + + # Clean up temporary admin after all operations + multi |> Ecto.Multi.run({:cleanup_temp_admin, slug}, fn _repo, changes -> + {temp_admin_subject, temp_admin_actor, temp_admin_actor_email_identity, temp_admin_actor_token} = + changes[{:temp_admin, slug}] + + cleanup_temp_admin(temp_admin_actor, temp_admin_actor_email_identity, temp_admin_actor_token, temp_admin_subject) + {:ok, :cleaned} + end) + end) + |> Ecto.Multi.run({:save_state}, fn _repo, _changes -> + # Save all UUID mappings to disk. + UuidMapping.save() + {:ok, :saved} + end) + + case Repo.transaction(multi) do + {:ok, _result} -> + Logger.info("Provisioning completed successfully") + {:error, step, reason, _changes} -> + Logger.error("Provisioning failed at step #{inspect(step)}, no changes were applied: #{inspect(reason)}") + end + end +end + +Provision.provision() diff --git a/nixos/modules/services/networking/firezone/relay.nix b/nixos/modules/services/networking/firezone/relay.nix new file mode 100644 index 000000000000..b5bc86abae5b --- /dev/null +++ b/nixos/modules/services/networking/firezone/relay.nix @@ -0,0 +1,202 @@ +{ + lib, + pkgs, + config, + ... +}: +let + inherit (lib) + boolToString + getExe + mkEnableOption + mkIf + mkOption + mkPackageOption + types + ; + + cfg = config.services.firezone.relay; +in +{ + options = { + services.firezone.relay = { + enable = mkEnableOption "the firezone relay server"; + package = mkPackageOption pkgs "firezone-relay" { }; + + name = mkOption { + type = types.str; + example = "My relay"; + description = "The name of this gateway as shown in firezone"; + }; + + publicIpv4 = mkOption { + type = types.nullOr types.str; + default = null; + description = "The public ipv4 address of this relay"; + }; + + publicIpv6 = mkOption { + type = types.nullOr types.str; + default = null; + description = "The public ipv6 address of this relay"; + }; + + openFirewall = mkOption { + type = types.bool; + default = true; + description = "Opens up the main STUN port and the TURN allocation range."; + }; + + port = mkOption { + type = types.port; + default = 3478; + description = "The port to listen on for STUN messages"; + }; + + lowestPort = mkOption { + type = types.port; + default = 49152; + description = "The lowest port to use in TURN allocation"; + }; + + highestPort = mkOption { + type = types.port; + default = 65535; + description = "The highest port to use in TURN allocation"; + }; + + apiUrl = mkOption { + type = types.strMatching "^wss://.+/$"; + example = "wss://firezone.example.com/api/"; + description = '' + The URL of your firezone server's API. This should be the same + as your server's setting for {option}`services.firezone.server.settings.api.externalUrl`, + but with `wss://` instead of `https://`. + ''; + }; + + tokenFile = mkOption { + type = types.path; + example = "/run/secrets/firezone-relay-token"; + description = '' + A file containing the firezone relay token. Do not use a nix-store path here + as it will make the token publicly readable! + + This file will be passed via systemd credentials, it should only be accessible + by the root user. + ''; + }; + + logLevel = mkOption { + type = types.str; + default = "info"; + description = '' + The log level for the firezone application. See + [RUST_LOG](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) + for the format. + ''; + }; + + enableTelemetry = mkEnableOption "telemetry"; + }; + }; + + config = mkIf cfg.enable { + assertions = [ + { + assertion = cfg.publicIpv4 != null || cfg.publicIpv6 != null; + message = "At least one of `services.firezone.relay.publicIpv4` and `services.firezone.relay.publicIpv6` must be set"; + } + ]; + + networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ cfg.port ]; + networking.firewall.allowedUDPPortRanges = mkIf cfg.openFirewall [ + { + from = cfg.lowestPort; + to = cfg.highestPort; + } + ]; + + systemd.services.firezone-relay = { + description = "relay service for the Firezone zero-trust access platform"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = [ pkgs.util-linux ]; + script = '' + # If FIREZONE_ID is not given by the user, use a persisted (or newly generated) uuid. + if [[ -z "''${FIREZONE_ID:-}" ]]; then + if [[ ! -e relay_id ]]; then + uuidgen -r > relay_id + fi + export FIREZONE_ID=$(< relay_id) + fi + + export FIREZONE_TOKEN=$(< "$CREDENTIALS_DIRECTORY/firezone-token") + exec ${getExe cfg.package} + ''; + + environment = { + FIREZONE_API_URL = cfg.apiUrl; + FIREZONE_NAME = cfg.name; + FIREZONE_TELEMETRY = boolToString cfg.enableTelemetry; + + PUBLIC_IP4_ADDR = cfg.publicIpv4; + PUBLIC_IP6_ADDR = cfg.publicIpv6; + + LISTEN_PORT = toString cfg.port; + LOWEST_PORT = toString cfg.lowestPort; + HIGHEST_PORT = toString cfg.highestPort; + + RUST_LOG = cfg.logLevel; + LOG_FORMAT = "human"; + }; + + serviceConfig = { + Type = "exec"; + DynamicUser = true; + User = "firezone-relay"; + LoadCredential = [ "firezone-token:${cfg.tokenFile}" ]; + + StateDirectory = "firezone-relay"; + WorkingDirectory = "/var/lib/firezone-relay"; + + Restart = "on-failure"; + RestartSec = 10; + + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = false; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + UMask = "077"; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; +} diff --git a/nixos/modules/services/networking/firezone/server.nix b/nixos/modules/services/networking/firezone/server.nix new file mode 100644 index 000000000000..04ffa1b7d64c --- /dev/null +++ b/nixos/modules/services/networking/firezone/server.nix @@ -0,0 +1,1210 @@ +{ + lib, + pkgs, + config, + ... +}: +let + inherit (lib) + attrNames + boolToString + concatLines + concatLists + concatMapAttrs + concatStringsSep + filterAttrs + filterAttrsRecursive + flip + forEach + getExe + isBool + mapAttrs + mapAttrsToList + mkDefault + mkEnableOption + mkIf + mkMerge + mkOption + mkPackageOption + optionalAttrs + optionalString + recursiveUpdate + subtractLists + toUpper + types + ; + + cfg = config.services.firezone.server; + jsonFormat = pkgs.formats.json { }; + availableAuthAdapters = [ + "email" + "openid_connect" + "userpass" + "token" + "google_workspace" + "microsoft_entra" + "okta" + "jumpcloud" + ]; + + typePortRange = + types.coercedTo types.port + (x: { + from = x; + to = x; + }) + ( + types.submodule { + options = { + from = mkOption { + type = types.port; + description = "The start of the port range, inclusive."; + }; + + to = mkOption { + type = types.port; + description = "The end of the port range, inclusive."; + }; + }; + } + ); + + # All non-secret environment variables or the given component + collectEnvironment = + component: + mapAttrs (_: v: if isBool v then boolToString v else toString v) ( + cfg.settings // cfg.${component}.settings + ); + + # All mandatory secrets which were not explicitly provided by the user will + # have to be generated, if they do not yet exist. + generateSecrets = + let + requiredSecrets = filterAttrs (_: v: v == null) cfg.settingsSecret; + in + '' + mkdir -p secrets + chmod 700 secrets + '' + + concatLines ( + forEach (attrNames requiredSecrets) (secret: '' + if [[ ! -e secrets/${secret} ]]; then + echo "Generating ${secret}" + # Some secrets like TOKENS_KEY_BASE require a value >=64 bytes. + head -c 64 /dev/urandom | base64 -w 0 > secrets/${secret} + chmod 600 secrets/${secret} + fi + '') + ); + + # All secrets given in `cfg.settingsSecret` must be loaded from a file and + # exported into the environment. Also exclude any variables that were + # overwritten by the local component settings. + loadSecretEnvironment = + component: + let + relevantSecrets = subtractLists (attrNames cfg.${component}.settings) ( + attrNames cfg.settingsSecret + ); + in + concatLines ( + forEach relevantSecrets ( + secret: + ''export ${secret}=$(< ${ + if cfg.settingsSecret.${secret} == null then + "secrets/${secret}" + else + "\"$CREDENTIALS_DIRECTORY/${secret}\"" + })'' + ) + ); + + provisionStateJson = + let + # Convert clientSecretFile options into the real counterpart + augmentedAccounts = flip mapAttrs cfg.provision.accounts ( + accountName: account: + account + // { + auth = flip mapAttrs account.auth ( + authName: auth: + recursiveUpdate auth ( + optionalAttrs (auth.adapter_config.clientSecretFile != null) { + adapter_config.client_secret = "{env:AUTH_CLIENT_SECRET_${toUpper accountName}_${toUpper authName}}"; + } + ) + ); + } + ); + in + jsonFormat.generate "provision-state.json" { + # Do not include any clientSecretFile attributes in the resulting json + accounts = filterAttrsRecursive (k: _: k != "clientSecretFile") augmentedAccounts; + }; + + commonServiceConfig = { + AmbientCapablities = [ ]; + CapabilityBoundingSet = [ ]; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateMounts = true; + PrivateTmp = true; + PrivateUsers = false; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + "AF_UNIX" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = "@system-service"; + UMask = "077"; + + DynamicUser = true; + User = "firezone"; + + Slice = "system-firezone.slice"; + StateDirectory = "firezone"; + WorkingDirectory = "/var/lib/firezone"; + + LoadCredential = mapAttrsToList (secretName: secretFile: "${secretName}:${secretFile}") ( + filterAttrs (_: v: v != null) cfg.settingsSecret + ); + Type = "exec"; + Restart = "on-failure"; + RestartSec = 10; + }; + + componentOptions = component: { + enable = mkEnableOption "the Firezone ${component} server"; + package = mkPackageOption pkgs "firezone-server-${component}" { }; + + settings = mkOption { + description = '' + Environment variables for this component of the Firezone server. For a + list of available variables, please refer to the [upstream definitions](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/config/definitions.ex). + Some variables like `OUTBOUND_EMAIL_ADAPTER_OPTS` require json values + for which you can use `VAR = builtins.toJSON { /* ... */ }`. + + This component will automatically inherit all variables defined via + {option}`services.firezone.server.settings` and + {option}`services.firezone.server.settingsSecret`, but which can be + overwritten by this option. + ''; + default = { }; + type = types.submodule { + freeformType = types.attrsOf ( + types.oneOf [ + types.bool + types.float + types.int + types.str + types.path + types.package + ] + ); + }; + }; + }; +in +{ + options.services.firezone.server = { + enable = mkEnableOption "all Firezone components"; + enableLocalDB = mkEnableOption "a local postgresql database for Firezone"; + nginx.enable = mkEnableOption "nginx virtualhost definition"; + + openClusterFirewall = mkOption { + type = types.bool; + default = false; + description = '' + Opens up the erlang distribution port of all enabled components to + allow reaching the server cluster from the internet. You only need to + set this if you are actually distributing your cluster across multiple + machines. + ''; + }; + + clusterHosts = mkOption { + type = types.listOf types.str; + default = [ + "api@localhost.localdomain" + "web@localhost.localdomain" + "domain@localhost.localdomain" + ]; + description = '' + A list of components and their hosts that are part of this cluster. For + a single-machine setup, the default value will be sufficient. This + value will automatically set `ERLANG_CLUSTER_ADAPTER_CONFIG`. + + The format is `@`. + ''; + }; + + settingsSecret = mkOption { + default = { }; + description = '' + This is a convenience option which allows you to set secret values for + environment variables by specifying a file which will contain the value + at runtime. Before starting the server, the content of each file will + be loaded into the respective environment variable. + + Otherwise, this option is equivalent to + {option}`services.firezone.server.settings`. Refer to the settings + option for more information regarding the actual variables and how + filtering rules are applied for each component. + ''; + type = types.submodule { + freeformType = types.attrsOf types.path; + options = { + RELEASE_COOKIE = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique secret identifier for the Erlang + cluster. All Firezone components in your cluster must use the + same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + + TOKENS_KEY_BASE = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique base64 encoded secret for the + `TOKENS_KEY_BASE`. All Firezone components in your cluster must + use the same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + + SECRET_KEY_BASE = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique base64 encoded secret for the + `SECRET_KEY_BASE`. All Firezone components in your cluster must + use the same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + + TOKENS_SALT = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique base64 encoded secret for the + `TOKENS_SALT`. All Firezone components in your cluster must + use the same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + + LIVE_VIEW_SIGNING_SALT = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique base64 encoded secret for the + `LIVE_VIEW_SIGNING_SALT`. All Firezone components in your cluster must + use the same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + + COOKIE_SIGNING_SALT = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique base64 encoded secret for the + `COOKIE_SIGNING_SALT`. All Firezone components in your cluster must + use the same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + + COOKIE_ENCRYPTION_SALT = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a unique base64 encoded secret for the + `COOKIE_ENCRYPTION_SALT`. All Firezone components in your cluster must + use the same value. + + If this is `null`, a shared value will automatically be generated + on startup and used for all components on this machine. You do + not need to set this except when you spread your cluster over + multiple hosts. + ''; + }; + }; + }; + }; + + settings = mkOption { + description = '' + Environment variables for the Firezone server. For a list of available + variables, please refer to the [upstream definitions](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/config/definitions.ex). + Some variables like `OUTBOUND_EMAIL_ADAPTER_OPTS` require json values + for which you can use `VAR = builtins.toJSON { /* ... */ }`. + + Each component has an additional `settings` option which allows you to + override specific variables passed to that component. + ''; + default = { }; + type = types.submodule { + freeformType = types.attrsOf ( + types.oneOf [ + types.bool + types.float + types.int + types.str + types.path + types.package + ] + ); + }; + }; + + smtp = { + configureManually = mkOption { + type = types.bool; + default = false; + description = '' + Outbound email configuration is mandatory for Firezone and supports + many different delivery adapters. Yet, most users will only need an + SMTP relay to send emails, so this configuration enforced by default. + + If you want to utilize an alternative way to send emails (e.g. via a + supportd API-based service), enable this option and define + `OUTBOUND_EMAIL_FROM`, `OUTBOUND_EMAIL_ADAPTER` and + `OUTBOUND_EMAIL_ADAPTER_OPTS` manually via + {option}`services.firezone.server.settings` and/or + {option}`services.firezone.server.settingsSecret`. + + The Firezone documentation holds [a list of supported Swoosh adapters](https://github.com/firezone/firezone/blob/main/website/src/app/docs/reference/env-vars/readme.mdx#outbound-emails). + ''; + }; + + from = mkOption { + type = types.str; + example = "firezone@example.com"; + description = "Outbound SMTP FROM address"; + }; + + host = mkOption { + type = types.str; + example = "mail.example.com"; + description = "Outbound SMTP host"; + }; + + port = mkOption { + type = types.port; + example = 465; + description = "Outbound SMTP port"; + }; + + implicitTls = mkOption { + type = types.bool; + default = false; + description = "Whether to use implicit TLS instead of STARTTLS (usually port 465)"; + }; + + username = mkOption { + type = types.str; + example = "firezone@example.com"; + description = "Username to authenticate against the SMTP relay"; + }; + + passwordFile = mkOption { + type = types.path; + example = "/run/secrets/smtp-password"; + description = "File containing the password for the given username. Beware that a file in the nix store will be world readable."; + }; + }; + + domain = componentOptions "domain"; + + web = componentOptions "web" // { + externalUrl = mkOption { + type = types.strMatching "^https://.+/$"; + example = "https://firezone.example.com/"; + description = '' + The external URL under which you will serve the web interface. You + need to setup a reverse proxy for TLS termination, either with + {option}`services.firezone.server.nginx.enable` or manually. + ''; + }; + + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "The address to listen on"; + }; + + port = mkOption { + type = types.port; + default = 8080; + description = "The port under which the web interface will be served locally"; + }; + + trustedProxies = mkOption { + type = types.listOf types.str; + default = [ ]; + description = "A list of trusted proxies"; + }; + }; + + api = componentOptions "api" // { + externalUrl = mkOption { + type = types.strMatching "^https://.+/$"; + example = "https://firezone.example.com/api/"; + description = '' + The external URL under which you will serve the api. You need to + setup a reverse proxy for TLS termination, either with + {option}`services.firezone.server.nginx.enable` or manually. + ''; + }; + + address = mkOption { + type = types.str; + default = "127.0.0.1"; + description = "The address to listen on"; + }; + + port = mkOption { + type = types.port; + default = 8081; + description = "The port under which the api will be served locally"; + }; + + trustedProxies = mkOption { + type = types.listOf types.str; + default = [ ]; + description = "A list of trusted proxies"; + }; + }; + + provision = { + enable = mkEnableOption "provisioning of the Firezone domain server"; + accounts = mkOption { + type = types.attrsOf ( + types.submodule { + freeformType = jsonFormat.type; + options = { + name = mkOption { + type = types.str; + description = "The account name"; + example = "My Organization"; + }; + + features = + let + mkFeatureOption = + name: default: + mkOption { + type = types.bool; + inherit default; + description = "Whether to enable the `${name}` feature for this account."; + }; + in + { + flow_activities = mkFeatureOption "flow_activities" true; + policy_conditions = mkFeatureOption "policy_conditions" true; + multi_site_resources = mkFeatureOption "multi_site_resources" true; + traffic_filters = mkFeatureOption "traffic_filters" true; + self_hosted_relays = mkFeatureOption "self_hosted_relays" true; + idp_sync = mkFeatureOption "idp_sync" true; + rest_api = mkFeatureOption "rest_api" true; + internet_resource = mkFeatureOption "internet_resource" true; + }; + + actors = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + type = mkOption { + type = types.enum [ + "account_admin_user" + "account_user" + "service_account" + "api_client" + ]; + description = "The account type"; + }; + + name = mkOption { + type = types.str; + description = "The name of this actor"; + }; + + email = mkOption { + type = types.str; + description = "The email address used to authenticate as this account"; + }; + }; + } + ); + default = { }; + example = { + admin = { + type = "account_admin_user"; + name = "Admin"; + email = "admin@myorg.example.com"; + }; + }; + description = '' + All actors (users) to provision. The attribute name will only + be used to track the actor and does not have any significance + for Firezone. + ''; + }; + + auth = mkOption { + type = types.attrsOf ( + types.submodule { + freeformType = jsonFormat.type; + options = { + name = mkOption { + type = types.str; + description = "The name of this authentication provider"; + }; + + adapter = mkOption { + type = types.enum availableAuthAdapters; + description = "The auth adapter type"; + }; + + adapter_config.clientSecretFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + A file containing a the client secret for an openid_connect adapter. + You only need to set this if this is an openid_connect provider. + ''; + }; + }; + } + ); + default = { }; + example = { + myoidcprovider = { + adapter = "openid_connect"; + adapter_config = { + client_id = "clientid"; + clientSecretFile = "/run/secrets/oidc-client-secret"; + response_type = "code"; + scope = "openid email name"; + discovery_document_uri = "https://auth.example.com/.well-known/openid-configuration"; + }; + }; + }; + description = '' + All authentication providers to provision. The attribute name + will only be used to track the provider and does not have any + significance for Firezone. + ''; + }; + + resources = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + type = mkOption { + type = types.enum [ + "dns" + "cidr" + "ip" + ]; + description = "The resource type"; + }; + + name = mkOption { + type = types.str; + description = "The name of this resource"; + }; + + address = mkOption { + type = types.str; + description = "The address of this resource. Depending on the resource type, this should be an ip, ip with cidr mask or a domain."; + }; + + addressDescription = mkOption { + type = types.nullOr types.str; + default = null; + description = "An optional description for resource address, usually a full link to the resource including a schema."; + }; + + gatewayGroups = mkOption { + type = types.nonEmptyListOf types.str; + description = "A list of gateway groups (sites) which can reach the resource and may be used to connect to it."; + }; + + filters = mkOption { + type = types.listOf ( + types.submodule { + options = { + protocol = mkOption { + type = types.enum [ + "icmp" + "tcp" + "udp" + ]; + description = "The protocol to allow"; + }; + + ports = mkOption { + type = types.listOf typePortRange; + example = [ + 443 + { + from = 8080; + to = 8100; + } + ]; + default = [ ]; + apply = + xs: map (x: if x.from == x.to then toString x.from else "${toString x.from} - ${toString x.to}") xs; + description = "Either a single port or port range to allow. Both bounds are inclusive."; + }; + }; + } + ); + default = [ ]; + description = "A list of filter to restrict traffic. If no filters are given, all traffic is allowed."; + }; + }; + } + ); + default = { }; + example = { + vaultwarden = { + type = "dns"; + name = "Vaultwarden"; + address = "vault.example.com"; + address_description = "https://vault.example.com"; + gatewayGroups = [ "my-site" ]; + filters = [ + { protocol = "icmp"; } + { + protocol = "tcp"; + ports = [ + 80 + 443 + ]; + } + ]; + }; + }; + description = '' + All resources to provision. The attribute name will only be used to + track the resource and does not have any significance for Firezone. + ''; + }; + + policies = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + description = mkOption { + type = types.nullOr types.str; + description = "The description of this policy"; + }; + + group = mkOption { + type = types.str; + description = "The group which should be allowed access to the given resource."; + }; + + resource = mkOption { + type = types.str; + description = "The resource to which access should be allowed."; + }; + }; + } + ); + default = { }; + example = { + access_vaultwarden = { + name = "Allow anyone to access vaultwarden"; + group = "everyone"; + resource = "vaultwarden"; + }; + }; + description = '' + All policies to provision. The attribute name will only be used to + track the policy and does not have any significance for Firezone. + ''; + }; + + groups = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + name = mkOption { + type = types.str; + description = "The name of this group"; + }; + + members = mkOption { + type = types.listOf types.str; + default = [ ]; + description = "The members of this group"; + }; + + forceMembers = mkOption { + type = types.bool; + default = false; + description = "Ensure that only the given members are part of this group at every server start."; + }; + }; + } + ); + default = { }; + example = { + users = { + name = "Users"; + }; + }; + description = '' + All groups to provision. The attribute name will only be used + to track the group and does not have any significance for + Firezone. + + A group named `everyone` will automatically be managed by Firezone. + ''; + }; + + relayGroups = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + name = mkOption { + type = types.str; + description = "The name of this relay group"; + }; + }; + } + ); + default = { }; + example = { + my-relays = { + name = "My Relays"; + }; + }; + description = '' + All relay groups to provision. The attribute name + will only be used to track the relay group and does not have any + significance for Firezone. + ''; + }; + + gatewayGroups = mkOption { + type = types.attrsOf ( + types.submodule { + options = { + name = mkOption { + type = types.str; + description = "The name of this gateway group"; + }; + }; + } + ); + default = { }; + example = { + my-gateways = { + name = "My Gateways"; + }; + }; + description = '' + All gateway groups (sites) to provision. The attribute name + will only be used to track the gateway group and does not have any + significance for Firezone. + ''; + }; + }; + } + ); + default = { }; + example = { + main = { + name = "My Account / Organization"; + metadata.stripe.billing_email = "org@myorg.example.com"; + features.rest_api = false; + }; + }; + description = '' + All accounts to provision. The attribute name specified here will + become the account slug. By using `"{file:/path/to/file}"` as a + string value anywhere in these settings, the provisioning script will + replace that value with the content of the given file at runtime. + + Please refer to the [Firezone source code](https://github.com/firezone/firezone/blob/main/elixir/apps/domain/lib/domain/accounts/account.ex) + for all available properties. + ''; + }; + }; + }; + + config = mkMerge [ + { + assertions = + [ + { + assertion = cfg.provision.enable -> cfg.domain.enable; + message = "Provisioning must be done on a machine running the firezone domain server"; + } + ] + ++ concatLists ( + flip mapAttrsToList cfg.provision.accounts ( + accountName: accountCfg: + [ + { + assertion = (builtins.match "^[[:lower:]_-]+$" accountName) != null; + message = "An account name must contain only lowercase characters and underscores, as it will be used as the URL slug for this account."; + } + ] + ++ flip mapAttrsToList accountCfg.auth ( + authName: _: { + assertion = (builtins.match "^[[:alnum:]_-]+$" authName) != null; + message = "The authentication provider attribute key must contain only letters, numbers, underscores or dashes."; + } + ) + ) + ); + } + # Enable all components if the main server is enabled + (mkIf cfg.enable { + services.firezone.server.domain.enable = true; + services.firezone.server.web.enable = true; + services.firezone.server.api.enable = true; + }) + # Create (and configure) a local database if desired + (mkIf cfg.enableLocalDB { + services.postgresql = { + enable = true; + ensureUsers = [ + { + name = "firezone"; + ensureDBOwnership = true; + } + ]; + ensureDatabases = [ "firezone" ]; + }; + + services.firezone.server.settings = { + DATABASE_SOCKET_DIR = "/run/postgresql"; + DATABASE_PORT = "5432"; + DATABASE_NAME = "firezone"; + DATABASE_USER = "firezone"; + DATABASE_PASSWORD = "firezone"; + }; + }) + # Create a local nginx reverse proxy + (mkIf cfg.nginx.enable { + services.nginx = mkMerge [ + { + enable = true; + } + ( + let + urlComponents = builtins.elemAt (builtins.split "https://([^/]*)(/?.*)" cfg.web.externalUrl) 1; + domain = builtins.elemAt urlComponents 0; + location = builtins.elemAt urlComponents 1; + in + { + virtualHosts.${domain} = { + forceSSL = mkDefault true; + locations.${location} = { + # The trailing slash is important to strip the location prefix from the request + proxyPass = "http://${cfg.web.address}:${toString cfg.web.port}/"; + proxyWebsockets = true; + }; + }; + } + ) + ( + let + urlComponents = builtins.elemAt (builtins.split "https://([^/]*)(/?.*)" cfg.api.externalUrl) 1; + domain = builtins.elemAt urlComponents 0; + location = builtins.elemAt urlComponents 1; + in + { + virtualHosts.${domain} = { + forceSSL = mkDefault true; + locations.${location} = { + # The trailing slash is important to strip the location prefix from the request + proxyPass = "http://${cfg.api.address}:${toString cfg.api.port}/"; + proxyWebsockets = true; + }; + }; + } + ) + ]; + }) + # Specify sensible defaults + { + services.firezone.server = { + settings = { + LOG_LEVEL = mkDefault "info"; + RELEASE_HOSTNAME = mkDefault "localhost.localdomain"; + + ERLANG_CLUSTER_ADAPTER = mkDefault "Elixir.Cluster.Strategy.Epmd"; + ERLANG_CLUSTER_ADAPTER_CONFIG = mkDefault ( + builtins.toJSON { + hosts = cfg.clusterHosts; + } + ); + + TZDATA_DIR = mkDefault "/var/lib/firezone/tzdata"; + TELEMETRY_ENABLED = mkDefault false; + + # By default this will open nproc * 2 connections for each component, + # which can exceeds the (default) maximum of 100 connections for + # postgresql on a 12 core +SMT machine. 16 connections will be + # sufficient for small to medium deployments + DATABASE_POOL_SIZE = "16"; + + AUTH_PROVIDER_ADAPTERS = mkDefault (concatStringsSep "," availableAuthAdapters); + + FEATURE_FLOW_ACTIVITIES_ENABLED = mkDefault true; + FEATURE_POLICY_CONDITIONS_ENABLED = mkDefault true; + FEATURE_MULTI_SITE_RESOURCES_ENABLED = mkDefault true; + FEATURE_SELF_HOSTED_RELAYS_ENABLED = mkDefault true; + FEATURE_IDP_SYNC_ENABLED = mkDefault true; + FEATURE_REST_API_ENABLED = mkDefault true; + FEATURE_INTERNET_RESOURCE_ENABLED = mkDefault true; + FEATURE_TRAFFIC_FILTERS_ENABLED = mkDefault true; + + FEATURE_SIGN_UP_ENABLED = mkDefault (!cfg.provision.enable); + + WEB_EXTERNAL_URL = mkDefault cfg.web.externalUrl; + API_EXTERNAL_URL = mkDefault cfg.api.externalUrl; + }; + + domain.settings = { + ERLANG_DISTRIBUTION_PORT = mkDefault 9000; + HEALTHZ_PORT = mkDefault 4000; + BACKGROUND_JOBS_ENABLED = mkDefault true; + }; + + web.settings = { + ERLANG_DISTRIBUTION_PORT = mkDefault 9001; + HEALTHZ_PORT = mkDefault 4001; + BACKGROUND_JOBS_ENABLED = mkDefault false; + + PHOENIX_LISTEN_ADDRESS = mkDefault cfg.web.address; + PHOENIX_EXTERNAL_TRUSTED_PROXIES = mkDefault (builtins.toJSON cfg.web.trustedProxies); + PHOENIX_HTTP_WEB_PORT = mkDefault cfg.web.port; + PHOENIX_HTTP_API_PORT = mkDefault cfg.api.port; + PHOENIX_SECURE_COOKIES = mkDefault true; # enforce HTTPS on cookies + }; + + api.settings = { + ERLANG_DISTRIBUTION_PORT = mkDefault 9002; + HEALTHZ_PORT = mkDefault 4002; + BACKGROUND_JOBS_ENABLED = mkDefault false; + + PHOENIX_LISTEN_ADDRESS = mkDefault cfg.api.address; + PHOENIX_EXTERNAL_TRUSTED_PROXIES = mkDefault (builtins.toJSON cfg.api.trustedProxies); + PHOENIX_HTTP_WEB_PORT = mkDefault cfg.web.port; + PHOENIX_HTTP_API_PORT = mkDefault cfg.api.port; + PHOENIX_SECURE_COOKIES = mkDefault true; # enforce HTTPS on cookies + }; + }; + } + (mkIf (!cfg.smtp.configureManually) { + services.firezone.server.settings = { + OUTBOUND_EMAIL_ADAPTER = "Elixir.Swoosh.Adapters.Mua"; + OUTBOUND_EMAIL_ADAPTER_OPTS = builtins.toJSON { }; + OUTBOUND_EMAIL_FROM = cfg.smtp.from; + OUTBOUND_EMAIL_SMTP_HOST = cfg.smtp.host; + OUTBOUND_EMAIL_SMTP_PORT = toString cfg.smtp.port; + OUTBOUND_EMAIL_SMTP_PROTOCOL = if cfg.smtp.implicitTls then "ssl" else "tcp"; + OUTBOUND_EMAIL_SMTP_USERNAME = cfg.smtp.username; + }; + services.firezone.server.settingsSecret = { + OUTBOUND_EMAIL_SMTP_PASSWORD = cfg.smtp.passwordFile; + }; + }) + (mkIf cfg.provision.enable { + # Load client secrets from authentication providers + services.firezone.server.settingsSecret = flip concatMapAttrs cfg.provision.accounts ( + accountName: accountCfg: + flip concatMapAttrs accountCfg.auth ( + authName: authCfg: + optionalAttrs (authCfg.adapter_config.clientSecretFile != null) { + "AUTH_CLIENT_SECRET_${toUpper accountName}_${toUpper authName}" = + authCfg.adapter_config.clientSecretFile; + } + ) + ); + }) + (mkIf (cfg.openClusterFirewall && cfg.domain.enable) { + networking.firewall.allowedTCPPorts = [ + cfg.domain.settings.ERLANG_DISTRIBUTION_PORT + ]; + }) + (mkIf (cfg.openClusterFirewall && cfg.web.enable) { + networking.firewall.allowedTCPPorts = [ + cfg.web.settings.ERLANG_DISTRIBUTION_PORT + ]; + }) + (mkIf (cfg.openClusterFirewall && cfg.api.enable) { + networking.firewall.allowedTCPPorts = [ + cfg.api.settings.ERLANG_DISTRIBUTION_PORT + ]; + }) + (mkIf (cfg.domain.enable || cfg.web.enable || cfg.api.enable) { + systemd.slices.system-firezone = { + description = "Firezone Slice"; + }; + + systemd.targets.firezone = { + description = "Common target for all Firezone services."; + wantedBy = [ "multi-user.target" ]; + }; + + systemd.services.firezone-initialize = { + description = "Backend initialization service for the Firezone zero-trust access platform"; + + after = mkIf cfg.enableLocalDB [ "postgresql.service" ]; + requires = mkIf cfg.enableLocalDB [ "postgresql.service" ]; + wantedBy = [ "firezone.target" ]; + partOf = [ "firezone.target" ]; + + script = '' + mkdir -p "$TZDATA_DIR" + + # Generate and load secrets + ${generateSecrets} + ${loadSecretEnvironment "domain"} + + echo "Running migrations" + ${getExe cfg.domain.package} eval Domain.Release.migrate + ''; + + # We use the domain environment to be able to run migrations + environment = collectEnvironment "domain"; + serviceConfig = commonServiceConfig // { + Type = "oneshot"; + RemainAfterExit = true; + }; + }; + + systemd.services.firezone-server-domain = mkIf cfg.domain.enable { + description = "Backend domain server for the Firezone zero-trust access platform"; + after = [ "firezone-initialize.service" ]; + bindsTo = [ "firezone-initialize.service" ]; + wantedBy = [ "firezone.target" ]; + partOf = [ "firezone.target" ]; + + script = '' + ${loadSecretEnvironment "domain"} + exec ${getExe cfg.domain.package} start; + ''; + + path = [ pkgs.curl ]; + postStart = + '' + # Wait for the firezone server to come online + count=0 + while [[ "$(curl -s "http://localhost:${toString cfg.domain.settings.HEALTHZ_PORT}" 2>/dev/null || echo)" != '{"status":"ok"}' ]] + do + sleep 1 + if [[ "$count" -eq 30 ]]; then + echo "Tried for at least 30 seconds, giving up..." + exit 1 + fi + count=$((count++)) + done + '' + + optionalString cfg.provision.enable '' + # Wait for server to fully come up. Not ideal to use sleep, but at least it works. + sleep 1 + + ${loadSecretEnvironment "domain"} + ln -sTf ${provisionStateJson} provision-state.json + ${getExe cfg.domain.package} rpc 'Code.eval_file("${./provision.exs}")' + ''; + + environment = collectEnvironment "domain"; + serviceConfig = commonServiceConfig; + }; + + systemd.services.firezone-server-web = mkIf cfg.web.enable { + description = "Backend web server for the Firezone zero-trust access platform"; + after = [ "firezone-initialize.service" ]; + bindsTo = [ "firezone-initialize.service" ]; + wantedBy = [ "firezone.target" ]; + partOf = [ "firezone.target" ]; + + script = '' + ${loadSecretEnvironment "web"} + exec ${getExe cfg.web.package} start; + ''; + + environment = collectEnvironment "web"; + serviceConfig = commonServiceConfig; + }; + + systemd.services.firezone-server-api = mkIf cfg.api.enable { + description = "Backend api server for the Firezone zero-trust access platform"; + after = [ "firezone-initialize.service" ]; + bindsTo = [ "firezone-initialize.service" ]; + wantedBy = [ "firezone.target" ]; + partOf = [ "firezone.target" ]; + + script = '' + ${loadSecretEnvironment "api"} + exec ${getExe cfg.api.package} start; + ''; + + environment = collectEnvironment "api"; + serviceConfig = commonServiceConfig; + }; + }) + ]; + + meta.maintainers = with lib.maintainers; [ + oddlama + patrickdag + ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f1e11ba0ccd3..7db93c71e546 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -413,6 +413,7 @@ in { firewall = handleTest ./firewall.nix { nftables = false; }; firewall-nftables = handleTest ./firewall.nix { nftables = true; }; fish = runTest ./fish.nix; + firezone = handleTest ./firezone/firezone.nix {}; flannel = handleTestOn ["x86_64-linux"] ./flannel.nix {}; flaresolverr = handleTest ./flaresolverr.nix {}; flood = handleTest ./flood.nix {}; diff --git a/nixos/tests/firezone/create-tokens.exs b/nixos/tests/firezone/create-tokens.exs new file mode 100644 index 000000000000..35f977036cb5 --- /dev/null +++ b/nixos/tests/firezone/create-tokens.exs @@ -0,0 +1,86 @@ +alias Domain.{Repo, Accounts, Auth, Actors, Tokens} + +mappings = case File.read("provision-uuids.json") do +{:ok, content} -> + case Jason.decode(content) do + {:ok, mapping} -> mapping + _ -> %{"accounts" => %{}} + end +_ -> %{"accounts" => %{}} +end + +IO.puts("INFO: Fetching account") +{:ok, account} = Accounts.fetch_account_by_id_or_slug("main") + +IO.puts("INFO: Fetching email provider") +{:ok, email_provider} = Auth.Provider.Query.not_disabled() + |> Auth.Provider.Query.by_adapter(:email) + |> Auth.Provider.Query.by_account_id(account.id) + |> Repo.fetch(Auth.Provider.Query, []) + +temp_admin_actor_email = "firezone-provision@localhost.local" +temp_admin_actor_context = %Auth.Context{ + type: :browser, + user_agent: "Unspecified/0.0", + remote_ip: {127, 0, 0, 1}, + remote_ip_location_region: "N/A", + remote_ip_location_city: "N/A", + remote_ip_location_lat: 0.0, + remote_ip_location_lon: 0.0 +} + +{:ok, temp_admin_actor} = + Actors.create_actor(account, %{ + type: :account_admin_user, + name: "Token Provisioning" + }) + +{:ok, temp_admin_actor_email_identity} = + Auth.create_identity(temp_admin_actor, email_provider, %{ + provider_identifier: temp_admin_actor_email, + provider_identifier_confirmation: temp_admin_actor_email + }) + +{:ok, temp_admin_actor_token} = + Auth.create_token(temp_admin_actor_email_identity, temp_admin_actor_context, "temporarynonce", DateTime.utc_now() |> DateTime.add(1, :hour)) + +{:ok, temp_admin_subject} = + Auth.build_subject(temp_admin_actor_token, temp_admin_actor_context) + +{:ok, relay_group_token} = + Tokens.create_token(%{ + "type" => :relay_group, + "expires_at" => DateTime.utc_now() |> DateTime.add(1, :hour), + "secret_fragment" => Domain.Crypto.random_token(32, encoder: :hex32), + "relay_group_id" => get_in(mappings, ["accounts", "main", "relay_groups", "my-relays"]) + }) + +relay_group_encoded_token = Tokens.encode_fragment!(relay_group_token) +IO.puts("Created relay token: #{relay_group_encoded_token}") +File.write("relay_token.txt", relay_group_encoded_token) + +{:ok, gateway_group_token} = + Tokens.create_token(%{ + "type" => :gateway_group, + "expires_at" => DateTime.utc_now() |> DateTime.add(1, :hour), + "secret_fragment" => Domain.Crypto.random_token(32, encoder: :hex32), + "account_id" => get_in(mappings, ["accounts", "main", "id"]), + "gateway_group_id" => get_in(mappings, ["accounts", "main", "gateway_groups", "site"]) + }, temp_admin_subject) + +gateway_group_encoded_token = Tokens.encode_fragment!(gateway_group_token) +IO.puts("Created gateway group token: #{gateway_group_encoded_token}") +File.write("gateway_token.txt", gateway_group_encoded_token) + +{:ok, service_account_actor_token} = + Tokens.create_token(%{ + "type" => :client, + "expires_at" => DateTime.utc_now() |> DateTime.add(1, :hour), + "secret_fragment" => Domain.Crypto.random_token(32, encoder: :hex32), + "account_id" => get_in(mappings, ["accounts", "main", "id"]), + "actor_id" => get_in(mappings, ["accounts", "main", "actors", "client"]) + }) + +service_account_actor_encoded_token = Tokens.encode_fragment!(service_account_actor_token) +IO.puts("Created service actor token: #{service_account_actor_encoded_token}") +File.write("client_token.txt", service_account_actor_encoded_token) diff --git a/nixos/tests/firezone/firezone.nix b/nixos/tests/firezone/firezone.nix new file mode 100644 index 000000000000..10d89778a4c6 --- /dev/null +++ b/nixos/tests/firezone/firezone.nix @@ -0,0 +1,349 @@ +import ../make-test-python.nix ( + { pkgs, ... }: + let + certs = import ../common/acme/server/snakeoil-certs.nix; + domain = certs.domain; + in + { + name = "firezone"; + meta.maintainers = with pkgs.lib.maintainers; [ oddlama ]; + + nodes = { + server = + { + config, + lib, + pkgs, + ... + }: + { + security.pki.certificateFiles = [ certs.ca.cert ]; + + networking.extraHosts = '' + ${config.networking.primaryIPAddress} ${domain} + ${config.networking.primaryIPv6Address} ${domain} + ''; + + networking.firewall.allowedTCPPorts = [ + 80 + 443 + ]; + + services.nginx = { + enable = true; + virtualHosts.${domain} = { + sslCertificate = certs.${domain}.cert; + sslCertificateKey = certs.${domain}.key; + }; + }; + + services.firezone.server = { + enable = true; + enableLocalDB = true; + nginx.enable = true; + + # Doesn't need to work for this test, but needs to be configured + # otherwise the server will not start. + smtp = { + from = "firezone@example.com"; + host = "mail.localhost"; + port = 465; + implicitTls = true; + username = "firezone@example.com"; + passwordFile = pkgs.writeText "tmpmailpasswd" "supermailpassword"; + }; + + provision = { + enable = true; + accounts.main = { + name = "My Account"; + relayGroups.my-relays.name = "Relays"; + gatewayGroups.site.name = "Site"; + actors = { + admin = { + type = "account_admin_user"; + name = "Admin"; + email = "admin@example.com"; + }; + client = { + type = "service_account"; + name = "A client"; + email = "client@example.com"; + }; + }; + resources.res1 = { + type = "dns"; + name = "Dns Resource"; + address = "resource.example.com"; + gatewayGroups = [ "site" ]; + filters = [ + { protocol = "icmp"; } + { + protocol = "tcp"; + ports = [ 80 ]; + } + ]; + }; + resources.res2 = { + type = "ip"; + name = "Ip Resource"; + address = "172.20.2.1"; + gatewayGroups = [ "site" ]; + }; + resources.res3 = { + type = "cidr"; + name = "Cidr Resource"; + address = "172.20.1.0/24"; + gatewayGroups = [ "site" ]; + }; + policies.pol1 = { + description = "Allow anyone res1 access"; + group = "everyone"; + resource = "res1"; + }; + policies.pol2 = { + description = "Allow anyone res2 access"; + group = "everyone"; + resource = "res2"; + }; + policies.pol3 = { + description = "Allow anyone res3 access"; + group = "everyone"; + resource = "res3"; + }; + }; + }; + + api.externalUrl = "https://${domain}/api/"; + web.externalUrl = "https://${domain}/"; + }; + + systemd.services.firezone-server-domain.postStart = lib.mkAfter '' + ${lib.getExe config.services.firezone.server.domain.package} rpc 'Code.eval_file("${./create-tokens.exs}")' + ''; + }; + + relay = + { + nodes, + config, + lib, + ... + }: + { + security.pki.certificateFiles = [ certs.ca.cert ]; + networking.extraHosts = '' + ${nodes.server.networking.primaryIPAddress} ${domain} + ${nodes.server.networking.primaryIPv6Address} ${domain} + ''; + + services.firezone.relay = { + enable = true; + logLevel = "debug"; + name = "test-relay"; + apiUrl = "wss://${domain}/api/"; + tokenFile = "/tmp/shared/relay_token.txt"; + publicIpv4 = config.networking.primaryIPAddress; + publicIpv6 = config.networking.primaryIPv6Address; + openFirewall = true; + }; + + # Don't auto-start so we can wait until the token was provisioned + systemd.services.firezone-relay.wantedBy = lib.mkForce [ ]; + }; + + # A resource that is only connected to the gateway, + # allowing us to confirm the VPN works + resource = { + virtualisation.vlans = [ + 1 + 2 + ]; + + networking.interfaces.eth1.ipv4.addresses = [ + { + address = "172.20.1.1"; + prefixLength = 24; + } + ]; + + networking.interfaces.eth2.ipv4.addresses = [ + { + address = "172.20.2.1"; + prefixLength = 24; + } + ]; + + networking.firewall.allowedTCPPorts = [ + 80 + ]; + + services.nginx = { + enable = true; + virtualHosts = { + "localhost" = { + default = true; + locations."/".extraConfig = '' + return 200 'greetings from the resource'; + add_header Content-Type text/plain; + ''; + }; + }; + }; + }; + + gateway = + { + nodes, + lib, + ... + }: + { + virtualisation.vlans = [ + 1 + 2 + ]; + + networking = { + interfaces.eth1.ipv4.addresses = [ + { + address = "172.20.1.2"; + prefixLength = 24; + } + ]; + + interfaces.eth2.ipv4.addresses = [ + { + address = "172.20.2.2"; + prefixLength = 24; + } + ]; + + firewall.enable = false; + nftables.enable = true; + nftables.tables."filter".family = "inet"; + nftables.tables."filter".content = '' + chain incoming { + type filter hook input priority 0; policy accept; + } + + chain postrouting { + type nat hook postrouting priority srcnat; policy accept; + meta protocol ip iifname "tun-firezone" oifname { "eth1", "eth2" } masquerade random + } + + chain forward { + type filter hook forward priority 0; policy drop; + iifname "tun-firezone" accept + oifname "tun-firezone" accept + } + + chain output { + type filter hook output priority 0; policy accept; + } + ''; + }; + + boot.kernel.sysctl."net.ipv4.ip_forward" = "1"; + # boot.kernel.sysctl."net.ipv4.conf.all.src_valid_mark" = "1"; + boot.kernel.sysctl."net.ipv6.conf.default.forwarding" = "1"; + boot.kernel.sysctl."net.ipv6.conf.all.forwarding" = "1"; + + security.pki.certificateFiles = [ certs.ca.cert ]; + networking.extraHosts = '' + ${nodes.server.networking.primaryIPAddress} ${domain} + ${nodes.server.networking.primaryIPv6Address} ${domain} + 172.20.1.1 resource.example.com + ''; + + services.firezone.gateway = { + enable = true; + logLevel = "debug"; + name = "test-gateway"; + apiUrl = "wss://${domain}/api/"; + tokenFile = "/tmp/shared/gateway_token.txt"; + }; + + # Don't auto-start so we can wait until the token was provisioned + systemd.services.firezone-gateway.wantedBy = lib.mkForce [ ]; + }; + + client = + { + nodes, + lib, + ... + }: + { + security.pki.certificateFiles = [ certs.ca.cert ]; + networking.useNetworkd = true; + networking.extraHosts = '' + ${nodes.server.networking.primaryIPAddress} ${domain} + ${nodes.server.networking.primaryIPv6Address} ${domain} + ''; + + services.firezone.headless-client = { + enable = true; + logLevel = "debug"; + name = "test-client-somebody"; + apiUrl = "wss://${domain}/api/"; + tokenFile = "/tmp/shared/client_token.txt"; + }; + + # Don't auto-start so we can wait until the token was provisioned + systemd.services.firezone-headless-client.wantedBy = lib.mkForce [ ]; + }; + }; + + testScript = + { ... }: + '' + start_all() + + with subtest("Start server"): + server.wait_for_unit("firezone.target") + server.wait_until_succeeds("curl -Lsf https://${domain} | grep 'Welcome to Firezone'") + server.wait_until_succeeds("curl -Ls https://${domain}/api | grep 'Not Found'") + + # Wait for tokens and copy them to shared folder + server.wait_for_file("/var/lib/private/firezone/relay_token.txt") + server.wait_for_file("/var/lib/private/firezone/gateway_token.txt") + server.wait_for_file("/var/lib/private/firezone/client_token.txt") + server.succeed("cp /var/lib/private/firezone/*_token.txt /tmp/shared") + + with subtest("Connect relay"): + relay.succeed("systemctl start firezone-relay") + relay.wait_for_unit("firezone-relay.service") + relay.wait_until_succeeds("journalctl --since -2m --unit firezone-relay.service --grep 'Connected to portal.*${domain}'", timeout=30) + + with subtest("Connect gateway"): + gateway.succeed("systemctl start firezone-gateway") + gateway.wait_for_unit("firezone-gateway.service") + gateway.wait_until_succeeds("journalctl --since -2m --unit firezone-gateway.service --grep 'Connected to portal.*${domain}'", timeout=30) + relay.wait_until_succeeds("journalctl --since -2m --unit firezone-relay.service --grep 'Created allocation.*IPv4'", timeout=30) + relay.wait_until_succeeds("journalctl --since -2m --unit firezone-relay.service --grep 'Created allocation.*IPv6'", timeout=30) + + # Assert both relay ips are known + gateway.wait_until_succeeds("journalctl --since -2m --unit firezone-gateway.service --grep 'Updated allocation.*relay_ip4.*Some.*relay_ip6.*Some'", timeout=30) + + with subtest("Connect headless-client"): + client.succeed("systemctl start firezone-headless-client") + client.wait_for_unit("firezone-headless-client.service") + client.wait_until_succeeds("journalctl --since -2m --unit firezone-headless-client.service --grep 'Connected to portal.*${domain}'", timeout=30) + client.wait_until_succeeds("journalctl --since -2m --unit firezone-headless-client.service --grep 'Tunnel ready'", timeout=30) + + with subtest("Check DNS based access"): + # Check that we can access the resource through the VPN via DNS + client.wait_until_succeeds("curl -4 -Lsf http://resource.example.com | grep 'greetings from the resource'") + client.wait_until_succeeds("curl -6 -Lsf http://resource.example.com | grep 'greetings from the resource'") + + with subtest("Check CIDR based access"): + # Check that we can access the resource through the VPN via CIDR + client.wait_until_succeeds("ping -c1 -W1 172.20.1.1") + + with subtest("Check IP based access"): + # Check that we can access the resource through the VPN via IP + client.wait_until_succeeds("ping -c1 -W1 172.20.2.1") + ''; + } +) From 21ed61c15375edf76c52853104ee264b16e91595 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 17 Mar 2025 20:56:01 +0000 Subject: [PATCH 076/272] protonmail-desktop: 1.7.1 -> 1.8.0 --- pkgs/by-name/pr/protonmail-desktop/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pr/protonmail-desktop/package.nix b/pkgs/by-name/pr/protonmail-desktop/package.nix index d05c31a45e54..35a76591e9eb 100644 --- a/pkgs/by-name/pr/protonmail-desktop/package.nix +++ b/pkgs/by-name/pr/protonmail-desktop/package.nix @@ -9,7 +9,7 @@ }: let mainProgram = "proton-mail"; - version = "1.7.1"; + version = "1.8.0"; in stdenv.mkDerivation { @@ -18,7 +18,7 @@ stdenv.mkDerivation { src = fetchurl { url = "https://proton.me/download/mail/linux/${version}/ProtonMail-desktop-beta.deb"; - sha256 = "sha256-h5OQBZrG8whhsilS7qQU8txFKzjpl+Q27fcUOBYUzbQ="; + sha256 = "sha256-ti00RSMnSwrGNUys7mO0AmK+OSq4SZmCsfPKm7RRm2g="; }; dontConfigure = true; From f581f3af53231019c2ea754cb92343b820ea8cc8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 00:57:13 +0000 Subject: [PATCH 077/272] mandown: 1.0.0 -> 1.1.0 --- pkgs/by-name/ma/mandown/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ma/mandown/package.nix b/pkgs/by-name/ma/mandown/package.nix index f310b34adbb3..8d0d50a64691 100644 --- a/pkgs/by-name/ma/mandown/package.nix +++ b/pkgs/by-name/ma/mandown/package.nix @@ -6,15 +6,15 @@ rustPlatform.buildRustPackage rec { pname = "mandown"; - version = "1.0.0"; + version = "1.1.0"; src = fetchCrate { inherit pname version; - hash = "sha256-30AM/t1Qq4xydG12Nh+J1MBKNvxxD/LVTkmTchsZHLw="; + hash = "sha256-a+1tm9YlBuroTtgCL0nTjASaPiJHif89pRH0CWw7RjM="; }; useFetchCargoVendor = true; - cargoHash = "sha256-T3cUHyKQIYTL9jMoLsq6jEiIeFZcSZuyCna7TNEjGyU="; + cargoHash = "sha256-ZyjoAvsqUyHgfEsG3+CvJatmBt0AJ2ga6HRJ8Y7her0="; meta = with lib; { description = "Markdown to groff (man page) converter"; From 0d88b7fc0127168124920298884edcab514e4dc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 01:35:29 +0000 Subject: [PATCH 078/272] aquamarine: 0.7.2 -> 0.8.0 --- pkgs/by-name/aq/aquamarine/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/aq/aquamarine/package.nix b/pkgs/by-name/aq/aquamarine/package.nix index 66197c162d8d..80a34de0a0e7 100644 --- a/pkgs/by-name/aq/aquamarine/package.nix +++ b/pkgs/by-name/aq/aquamarine/package.nix @@ -23,13 +23,13 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "aquamarine"; - version = "0.7.2"; + version = "0.8.0"; src = fetchFromGitHub { owner = "hyprwm"; repo = "aquamarine"; rev = "v${finalAttrs.version}"; - hash = "sha256-ldWD4ci3LcBIfUN41qlBO/oR5chcsRLejMbSW8eH628="; + hash = "sha256-ybpV2+yNExdHnMhhhmtxqgBCgI+nRr8gi/D+VVb9lQY="; }; nativeBuildInputs = [ From f652bbc102377ee7027bddd44289c9fd1a06ef5e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 06:03:10 +0000 Subject: [PATCH 079/272] dynamodb-local: 2.5.4 -> 2.6.0 --- pkgs/by-name/dy/dynamodb-local/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/dy/dynamodb-local/package.nix b/pkgs/by-name/dy/dynamodb-local/package.nix index 6abdc22cae50..177950548dc2 100644 --- a/pkgs/by-name/dy/dynamodb-local/package.nix +++ b/pkgs/by-name/dy/dynamodb-local/package.nix @@ -27,11 +27,11 @@ let in stdenvNoCC.mkDerivation (finalAttrs: { pname = "dynamodb-local"; - version = "2.5.4"; + version = "2.6.0"; src = fetchurl { - url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2024-12-23.tar.gz"; - hash = "sha256-YLFWH6YUFkLb062at1pjFclId/b0LmBVESWxHqimLJc="; + url = "https://d1ni2b6xgvw0s0.cloudfront.net/v2.x/dynamodb_local_2025-03-13.tar.gz"; + hash = "sha256-mAXZX+L17+z9f3/sMq+O+zLcg7YKGKL72BhhTtS2xuw="; }; sourceRoot = "."; From 7c98921fa4854630e236892c3203456966dff0fb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 06:29:03 +0000 Subject: [PATCH 080/272] flyctl: 0.3.87 -> 0.3.89 --- pkgs/by-name/fl/flyctl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fl/flyctl/package.nix b/pkgs/by-name/fl/flyctl/package.nix index 8b84708ad24e..34c198aaef88 100644 --- a/pkgs/by-name/fl/flyctl/package.nix +++ b/pkgs/by-name/fl/flyctl/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "flyctl"; - version = "0.3.87"; + version = "0.3.89"; src = fetchFromGitHub { owner = "superfly"; repo = "flyctl"; rev = "v${version}"; - hash = "sha256-zFRNOXk2Yw+AjUt6yNdJ5YYG5xwBYhgpI7M9GZAZOpc="; + hash = "sha256-sAgN45f+RS2uLLP6biym2oT7pW+nyA0lIIpm/pFAPuU="; }; vendorHash = "sha256-HWSNZQxIR9GnBHpJVkCj+5iIrwqAI3GKYLEmq0GP9lU="; From be3f2bfd6382d40b316bea463e30cb35afeb9387 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 08:26:58 +0000 Subject: [PATCH 081/272] python312Packages.coiled: 1.82.0 -> 1.86.0 --- pkgs/development/python-modules/coiled/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/coiled/default.nix b/pkgs/development/python-modules/coiled/default.nix index ed68d489dd2e..fe11ef7dd8e5 100644 --- a/pkgs/development/python-modules/coiled/default.nix +++ b/pkgs/development/python-modules/coiled/default.nix @@ -39,12 +39,12 @@ buildPythonPackage rec { pname = "coiled"; - version = "1.82.0"; + version = "1.86.0"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-GNWiSv+1V++Jj8w5vLr2Ph3sSg7sHtX0kFsxEcEG9hE="; + hash = "sha256-umwAG7+ykCWLqgyQzWdrYUuslyWWP1/uKlsSci50qR4="; }; build-system = [ From 668bcd75015fed8d6aef28adee5192f8a817041b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 09:47:57 +0000 Subject: [PATCH 082/272] fortls: 3.1.2 -> 3.2.2 --- pkgs/development/tools/language-servers/fortls/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/language-servers/fortls/default.nix b/pkgs/development/tools/language-servers/fortls/default.nix index 7f43ffe95f5d..e0b970181b57 100644 --- a/pkgs/development/tools/language-servers/fortls/default.nix +++ b/pkgs/development/tools/language-servers/fortls/default.nix @@ -9,13 +9,13 @@ buildPythonApplication rec { pname = "fortls"; - version = "3.1.2"; + version = "3.2.2"; src = fetchFromGitHub { owner = "fortran-lang"; repo = pname; tag = "v${version}"; - hash = "sha256-mOYPtysPj+JczRPTeM1DUckAH0XC9cO1ssP8pviYa0E="; + hash = "sha256-cUZBr+dtTFbd68z6ts4quIPp9XYMikUBrCq+icrZ1KU="; }; nativeBuildInputs = [ setuptools-scm ]; From d10303fd4e98b3fb03a269d5221aa9767ea415d5 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 10:19:20 +0000 Subject: [PATCH 083/272] pywal16: 3.8.2 -> 3.8.3 --- pkgs/by-name/py/pywal16/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/py/pywal16/package.nix b/pkgs/by-name/py/pywal16/package.nix index b2e94eb7bf4c..3b5cbc11e155 100644 --- a/pkgs/by-name/py/pywal16/package.nix +++ b/pkgs/by-name/py/pywal16/package.nix @@ -9,14 +9,14 @@ python3.pkgs.buildPythonApplication rec { pname = "pywal16"; - version = "3.8.2"; + version = "3.8.3"; pyproject = true; src = fetchFromGitHub { owner = "eylles"; repo = "pywal16"; tag = version; - hash = "sha256-3GowgiLZpQmAaR903sg+4MmzBkj5mS+D3556F6lxxfw="; + hash = "sha256-yF90HkRg44pPRO/7Gj5BEgj44Qgs4OIM+GR7inJVKMI="; }; build-system = [ python3.pkgs.setuptools ]; From 8579b43123c314b2b33aeb915918ebdda8e9b269 Mon Sep 17 00:00:00 2001 From: Adam Perkowski Date: Tue, 18 Mar 2025 11:38:21 +0100 Subject: [PATCH 084/272] julec: 0.1.2 -> 0.1.3 Co-authored-by: Sebaguardian Co-authored-by: FliegendeWurst Signed-off-by: Adam Perkowski --- pkgs/by-name/ju/julec/package.nix | 73 ++++++++++++++++++++----------- 1 file changed, 47 insertions(+), 26 deletions(-) diff --git a/pkgs/by-name/ju/julec/package.nix b/pkgs/by-name/ju/julec/package.nix index 6e0ecd4e5004..abc2c8aa05c2 100644 --- a/pkgs/by-name/ju/julec/package.nix +++ b/pkgs/by-name/ju/julec/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - clang, }: let @@ -18,72 +17,94 @@ let else if stdenv.hostPlatform.system == "aarch64-darwin" then "darwin-arm64.cpp" else - abort "Unsupported platform: ${stdenv.hostPlatform.system}"; + throw "Unsupported platform: ${stdenv.hostPlatform.system}"; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "julec"; - version = "0.1.2"; - irCommit = "03f3ebe18a79bb8dcb5440f0e6297e1d2e032e19"; + version = "0.1.3"; src = fetchFromGitHub { owner = "julelang"; repo = "jule"; - rev = "jule${version}"; - name = "jule-${version}"; - sha256 = "FhM25fff0TAhnO1RX0rhqHyox7ksyqYFBKSFby/4i0E="; + tag = "jule${finalAttrs.version}"; + name = "jule-${finalAttrs.version}"; + hash = "sha256-hFWoGeTmfXIPcICWXa5W36QDOk3yB7faORxFaM9shcQ="; }; irSrc = fetchFromGitHub { owner = "julelang"; repo = "julec-ir"; - rev = irCommit; - name = "jule-ir-${version}"; - sha256 = "0omZu/2t09eOqbLAps3KdGy6InrtzeIoM3rLtkmJwqE="; + # revision determined by the upstream commit hash in julec-ir/README.md + rev = "a274782922e4275c4a036d63acffd3369dbc382f"; + name = "jule-ir-${finalAttrs.version}"; + hash = "sha256-TXMSXTGTzZntPUhT6QTmn3nD2k855ZoAW9aQWyhrE8s="; }; dontConfigure = true; - propagatedBuildInputs = [ clang ]; unpackPhase = '' - cp -R ${src}/* . - cp "${irSrc}/src/${irFile}" ./ir.cpp - mkdir -p bin + runHook preUnpack + + cp -R ${finalAttrs.src}/* . + cp "${finalAttrs.irSrc}/src/${irFile}" ./ir.cpp chmod +w -R . find ./*/* -type f -name '*.md' -exec rm -f {} + + + runHook postUnpack ''; buildPhase = '' - echo "Building ${pname} v${version} for ${stdenv.hostPlatform.system}..." - clang++ ./ir.cpp \ + runHook preBuild + + echo "Building ${finalAttrs.meta.mainProgram} v${finalAttrs.version} for ${stdenv.hostPlatform.system}..." + mkdir -p bin + ${stdenv.cc.targetPrefix}c++ ir.cpp \ --std=c++17 \ - -O0 \ -Wno-everything \ - -o "bin/${pname}" + -O3 \ + -flto \ + -DNDEBUG \ + -fomit-frame-pointer \ + -o "bin/${finalAttrs.meta.mainProgram}" + + runHook postBuild ''; installPhase = '' + runHook preInstall + mkdir -p $out/lib/jule mkdir -p $out/bin cp -R api $out/lib/jule/api cp -R std $out/lib/jule/std cp -R bin $out/lib/jule/bin - ln -s $out/lib/jule/bin/${pname} $out/bin/${pname} + ln -s $out/lib/jule/bin/${finalAttrs.meta.mainProgram} $out/bin/${finalAttrs.meta.mainProgram} + + runHook postInstall ''; - meta = with lib; { - description = "The Jule Programming Language Compiler"; + meta = { + description = "Jule Programming Language Compiler"; longDescription = '' Jule is an effective programming language designed to build efficient, fast, reliable and safe software while maintaining simplicity. It is a statically typed, compiled language with a syntax influenced by Go, Rust, and C++. ''; homepage = "https://jule.dev"; - license = licenses.bsd3; - platforms = platforms.unix; - maintainers = with maintainers; [ + changelog = "https://github.com/julelang/manual/releases/tag/jule${finalAttrs.version}"; + license = lib.licenses.bsd3; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "i686-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + mainProgram = "julec"; + maintainers = with lib.maintainers; [ adamperkowski sebaguardian ]; }; -} +}) From 1994ce70335b2e4048e6f8456dec6f094497b824 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Tue, 18 Mar 2025 11:37:12 +0100 Subject: [PATCH 085/272] python3Packages.ziafont: 0.9 -> 0.10 --- pkgs/development/python-modules/ziafont/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/ziafont/default.nix b/pkgs/development/python-modules/ziafont/default.nix index 98a46812f7ee..947ef2a48fe6 100644 --- a/pkgs/development/python-modules/ziafont/default.nix +++ b/pkgs/development/python-modules/ziafont/default.nix @@ -10,16 +10,16 @@ }: buildPythonPackage rec { pname = "ziafont"; - version = "0.9"; + version = "0.10"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "cdelker"; repo = "ziafont"; tag = version; - hash = "sha256-S7IDL3ItP14/GrCUtSTT+JWuqRAY/Po0Kerq8mggDdg="; + hash = "sha256-tDwl+2EChzBDCFcZW71r4eSKyazlJSv7tRX6soPNSuY="; }; build-system = [ setuptools ]; From d48e081edf2d506d3d566d5c3f98ed4eef21177f Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Tue, 18 Mar 2025 11:37:28 +0100 Subject: [PATCH 086/272] python3Packages.ziafont: add writableTmpDirAsHomeHook --- pkgs/development/python-modules/ziafont/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/ziafont/default.nix b/pkgs/development/python-modules/ziafont/default.nix index 947ef2a48fe6..17990e64a151 100644 --- a/pkgs/development/python-modules/ziafont/default.nix +++ b/pkgs/development/python-modules/ziafont/default.nix @@ -6,6 +6,7 @@ setuptools, pytestCheckHook, nbval, + writableTmpDirAsHomeHook, fetchurl, }: buildPythonPackage rec { @@ -26,6 +27,7 @@ buildPythonPackage rec { nativeCheckInputs = [ pytestCheckHook + writableTmpDirAsHomeHook nbval ]; From 94fc75b8fda707fa580b03404190086db20e4dde Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Tue, 18 Mar 2025 11:37:49 +0100 Subject: [PATCH 087/272] python3Packages.ziamath: 0.11 -> 0.12 --- pkgs/development/python-modules/ziamath/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/ziamath/default.nix b/pkgs/development/python-modules/ziamath/default.nix index a74411d8afd5..109436994163 100644 --- a/pkgs/development/python-modules/ziamath/default.nix +++ b/pkgs/development/python-modules/ziamath/default.nix @@ -12,16 +12,16 @@ }: buildPythonPackage rec { pname = "ziamath"; - version = "0.11"; + version = "0.12"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "cdelker"; repo = "ziamath"; tag = version; - hash = "sha256-DLpbidQEeQVKxGCbS2jeeCvmVK9ElDIDQMj5bh/x7/Q="; + hash = "sha256-ShR9O170Q26l6XHSe2CO4bEuQm4JNOxiPZ2kbKDLNEU="; }; build-system = [ setuptools ]; From 49cf256e9389757c9b0fdae562f29ba5de89d5de Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Tue, 18 Mar 2025 11:38:02 +0100 Subject: [PATCH 088/272] python3Packages.ziamath: add writableTmpDirAsHomeHook --- pkgs/development/python-modules/ziamath/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/ziamath/default.nix b/pkgs/development/python-modules/ziamath/default.nix index 109436994163..97d6d45ce06a 100644 --- a/pkgs/development/python-modules/ziamath/default.nix +++ b/pkgs/development/python-modules/ziamath/default.nix @@ -8,6 +8,7 @@ pytestCheckHook, nbval, latex2mathml, + writableTmpDirAsHomeHook, fetchurl, }: buildPythonPackage rec { @@ -32,6 +33,7 @@ buildPythonPackage rec { pytestCheckHook nbval latex2mathml + writableTmpDirAsHomeHook ]; preCheck = From 2a0ee6ae0f76d55e5d78a746a28c47f0b6085ce3 Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Tue, 18 Mar 2025 11:38:30 +0100 Subject: [PATCH 089/272] python3Packages.schemdraw: 0.19 -> 0.20 --- pkgs/development/python-modules/schemdraw/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/schemdraw/default.nix b/pkgs/development/python-modules/schemdraw/default.nix index 0bf09e59751c..63d7beec65e7 100644 --- a/pkgs/development/python-modules/schemdraw/default.nix +++ b/pkgs/development/python-modules/schemdraw/default.nix @@ -15,16 +15,16 @@ buildPythonPackage rec { pname = "schemdraw"; - version = "0.19"; + version = "0.20"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "cdelker"; - repo = pname; - rev = version; - hash = "sha256-vqEHcazE5DNHr0FceOWLqq+RZmMK5ovHDVjy/2wbTJU="; + repo = "schemdraw"; + tag = version; + hash = "sha256-mt1XTrUH570zrJpCFo0jORAE/jo7H2T7sKpIskYw8bk="; }; build-system = [ setuptools ]; From b71eac97028a18aec215e509022ac9c63656af6b Mon Sep 17 00:00:00 2001 From: Stefan Frijters Date: Tue, 18 Mar 2025 11:38:42 +0100 Subject: [PATCH 090/272] python3Packages.schemdraw: add writableTmpDirAsHomeHook --- pkgs/development/python-modules/schemdraw/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/schemdraw/default.nix b/pkgs/development/python-modules/schemdraw/default.nix index 63d7beec65e7..0b110511c70b 100644 --- a/pkgs/development/python-modules/schemdraw/default.nix +++ b/pkgs/development/python-modules/schemdraw/default.nix @@ -11,6 +11,7 @@ ziamath, pytestCheckHook, nbval, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { @@ -47,6 +48,7 @@ buildPythonPackage rec { latex2mathml ziafont ziamath + writableTmpDirAsHomeHook ]; # Strip out references to unfree fonts from the test suite From c1a8dfe4d80b511af55233e77ad4a075df0ee9c6 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 18 Mar 2025 12:41:54 +0200 Subject: [PATCH 091/272] lammps: 29Aug2024_update1 -> 29Aug2024_update2 Diff: https://github.com/lammps/lammps/compare/stable_29Aug2024_update1...stable_29Aug2024_update2 --- pkgs/by-name/la/lammps/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/la/lammps/package.nix b/pkgs/by-name/la/lammps/package.nix index b6e7b89b9134..860f812c5272 100644 --- a/pkgs/by-name/la/lammps/package.nix +++ b/pkgs/by-name/la/lammps/package.nix @@ -49,14 +49,14 @@ stdenv.mkDerivation (finalAttrs: { # LAMMPS has weird versioning convention. Updates should go smoothly with: # nix-update --commit lammps --version-regex 'stable_(.*)' - version = "29Aug2024_update1"; + version = "29Aug2024_update2"; pname = "lammps"; src = fetchFromGitHub { owner = "lammps"; repo = "lammps"; rev = "stable_${finalAttrs.version}"; - hash = "sha256-B2oMs9bVYO+G3yL1DGJVK/INIfANMDREV7AtC4kH3H8="; + hash = "sha256-xhFLsK3CQFIfajdwkpz593KTUGwcIWX1bLIPClDe/V8="; }; preConfigure = '' cd cmake From 3af9e3cb8e6951d16930ade60e8484970c400c25 Mon Sep 17 00:00:00 2001 From: Silvio Ankermann Date: Thu, 6 Apr 2023 10:12:29 +0200 Subject: [PATCH 092/272] maintainers: add lykos153 --- maintainers/maintainer-list.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 86c46e67bb40..bbee8d8a3525 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14184,6 +14184,17 @@ githubId = 7910815; name = "Alex McGrath"; }; + lykos153 = { + email = "silvio.ankermann@cloudandheat.com"; + github = "Lykos153"; + githubId = 6453662; + name = "Silvio Ankermann"; + keys = [ + { + fingerprint = "8D47 6294 7205 541C 62A4 9C88 F422 6CA3 971C 4E97"; + } + ]; + }; lyn = { name = "Lyn"; matrix = "@lynatic:catgirl.cloud"; From 766bdd1d2c8a61482c9f7a0eeb2b76eeabbd45c0 Mon Sep 17 00:00:00 2001 From: Erin van der Veen Date: Tue, 18 Mar 2025 11:56:06 +0100 Subject: [PATCH 093/272] genealogos: init at 1.0.0 --- pkgs/development/tools/genealogos/Cargo.lock | 2876 +++++++++++++++++ pkgs/development/tools/genealogos/default.nix | 63 + pkgs/top-level/all-packages.nix | 2 + 3 files changed, 2941 insertions(+) create mode 100644 pkgs/development/tools/genealogos/Cargo.lock create mode 100644 pkgs/development/tools/genealogos/default.nix diff --git a/pkgs/development/tools/genealogos/Cargo.lock b/pkgs/development/tools/genealogos/Cargo.lock new file mode 100644 index 000000000000..bec410cf224e --- /dev/null +++ b/pkgs/development/tools/genealogos/Cargo.lock @@ -0,0 +1,2876 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atomic" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" + +[[package]] +name = "atomic" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "backtrace" +version = "0.3.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "binascii" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "383d29d513d8764dcdc42ea295d979eb99c3c9f00607b3692cf68a431f7dca72" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "bytemuck" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" + +[[package]] +name = "cc" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "wasm-bindgen", + "windows-targets 0.52.5", +] + +[[package]] +name = "clap" +version = "4.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap-verbosity-flag" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb9b20c0dd58e4c2e991c8d203bbeb76c11304d1011659686b5b644bc29aa478" +dependencies = [ + "clap", + "log", +] + +[[package]] +name = "clap_builder" +version = "4.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" + +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.52.0", +] + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "cyclonedx-bom" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ed94ea2aaea25fdfec8a03ce34f92c4d2c00d741d0de681b923256448d3835b" +dependencies = [ + "base64", + "fluent-uri", + "once_cell", + "ordered-float", + "packageurl", + "regex", + "serde", + "serde_json", + "spdx", + "thiserror", + "time", + "uuid", + "xml-rs", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "devise" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6eacefd3f541c66fc61433d65e54e0e46e0a029a819a7dbbc7a7b489e8a85f8" +dependencies = [ + "devise_codegen", + "devise_core", +] + +[[package]] +name = "devise_codegen" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8cf4b8dd484ede80fd5c547592c46c3745a617c8af278e2b72bea86b2dfed6" +dependencies = [ + "devise_core", + "quote", +] + +[[package]] +name = "devise_core" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35b50dba0afdca80b187392b24f2499a88c336d5a8493e4b4ccfb608708be56a" +dependencies = [ + "bitflags 2.5.0", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "dyn-clone" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" + +[[package]] +name = "either" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "figment" +version = "0.10.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cb01cd46b0cf372153850f4c6c272d9cbea2da513e07538405148f95bd789f3" +dependencies = [ + "atomic 0.6.0", + "pear", + "serde", + "toml", + "uncased", + "version_check", +] + +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" +dependencies = [ + "num-traits", +] + +[[package]] +name = "fluent-uri" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "spin", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "genealogos" +version = "1.0.0" +dependencies = [ + "clap", + "cyclonedx-bom", + "env_logger", + "log", + "nixtract", + "predicates", + "pretty_assertions", + "rayon", + "rocket", + "serde", + "serde_json", + "test-log", + "thiserror", + "uuid", +] + +[[package]] +name = "genealogos-api" +version = "1.0.0" +dependencies = [ + "chrono", + "env_logger", + "genealogos", + "log", + "nixtract", + "pretty_assertions", + "rocket", + "serde", + "serde_json", + "test-log", + "urlencoding", +] + +[[package]] +name = "genealogos-cli" +version = "1.0.0" +dependencies = [ + "anyhow", + "clap", + "clap-verbosity-flag", + "cyclonedx-bom", + "env_logger", + "genealogos", + "indicatif", + "indicatif-log-bridge", + "nixtract", +] + +[[package]] +name = "generator" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "windows", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http 0.2.12", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "http" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +dependencies = [ + "bytes", + "http 0.2.12", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0e7a4dd27b9476dc40cb050d3632d3bba3a70ddbff012285f7f8559a1e7e545" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "hyper" +version = "0.14.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locid" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_locid_transform" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_locid_transform_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_locid_transform_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" + +[[package]] +name = "icu_normalizer" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "utf16_iter", + "utf8_iter", + "write16", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" + +[[package]] +name = "icu_properties" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locid_transform", + "icu_properties_data", + "icu_provider", + "tinystr", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" + +[[package]] +name = "icu_provider" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +dependencies = [ + "displaydoc", + "icu_locid", + "icu_provider_macros", + "stable_deref_trait", + "tinystr", + "writeable", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_provider_macros" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "idna" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed" +dependencies = [ + "icu_normalizer", + "icu_properties", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", + "serde", +] + +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + +[[package]] +name = "indicatif-log-bridge" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2963046f28a204e3e3fd7e754fd90a6235da05b5378f24707ff0ec9513725ce3" +dependencies = [ + "indicatif", + "log", +] + +[[package]] +name = "inlinable_string" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb" + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" + +[[package]] +name = "is-terminal" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "litemap" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "loom" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "serde", + "serde_json", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "miniz_oxide" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "multer" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" +dependencies = [ + "bytes", + "encoding_rs", + "futures-util", + "http 1.1.0", + "httparse", + "memchr", + "mime", + "spin", + "tokio", + "tokio-util", + "version_check", +] + +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom", +] + +[[package]] +name = "native-tls" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" +dependencies = [ + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nixtract" +version = "0.3.0" +source = "git+https://github.com/tweag/nixtract.git#eddcfd45d517928bf8d18b849d5ab0f6e5d49686" +dependencies = [ + "clap", + "clap-verbosity-flag", + "env_logger", + "flume", + "indicatif", + "indicatif-log-bridge", + "log", + "num_cpus", + "rayon", + "reqwest", + "schemars", + "serde", + "serde_json", + "shell-escape", + "tempfile", + "thiserror", +] + +[[package]] +name = "normalize-line-endings" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[package]] +name = "object" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "openssl" +version = "0.10.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +dependencies = [ + "bitflags 2.5.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "ordered-float" +version = "4.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" +dependencies = [ + "num-traits", +] + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "packageurl" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c53362339d1c48910f1b0c35e2ae96e2d32e442c7dc3ac5f622908ec87221f08" +dependencies = [ + "percent-encoding", + "thiserror", +] + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets 0.52.5", +] + +[[package]] +name = "pear" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bdeeaa00ce488657faba8ebf44ab9361f9365a97bd39ffb8a60663f57ff4b467" +dependencies = [ + "inlinable_string", + "pear_codegen", + "yansi 1.0.1", +] + +[[package]] +name = "pear_codegen" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bab5b985dc082b345f812b7df84e1bef27e7207b39e448439ba8bd69c93f147" +dependencies = [ + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "syn", +] + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "portable-atomic" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "predicates" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +dependencies = [ + "anstyle", + "difflib", + "float-cmp", + "normalize-line-endings", + "predicates-core", + "regex", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "pretty_assertions" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +dependencies = [ + "diff", + "yansi 0.5.1", +] + +[[package]] +name = "proc-macro2" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "proc-macro2-diagnostics" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "version_check", + "yansi 1.0.1", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "reqwest" +version = "0.11.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http 0.2.12", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "system-configuration", + "tokio", + "tokio-native-tls", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "rocket" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a516907296a31df7dc04310e7043b61d71954d703b603cc6867a026d7e72d73f" +dependencies = [ + "async-stream", + "async-trait", + "atomic 0.5.3", + "binascii", + "bytes", + "either", + "figment", + "futures", + "indexmap", + "log", + "memchr", + "multer", + "num_cpus", + "parking_lot", + "pin-project-lite", + "rand", + "ref-cast", + "rocket_codegen", + "rocket_http", + "serde", + "serde_json", + "state", + "tempfile", + "time", + "tokio", + "tokio-stream", + "tokio-util", + "ubyte", + "version_check", + "yansi 1.0.1", +] + +[[package]] +name = "rocket_codegen" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "575d32d7ec1a9770108c879fc7c47815a80073f96ca07ff9525a94fcede1dd46" +dependencies = [ + "devise", + "glob", + "indexmap", + "proc-macro2", + "quote", + "rocket_http", + "syn", + "unicode-xid", + "version_check", +] + +[[package]] +name = "rocket_http" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e274915a20ee3065f611c044bd63c40757396b6dbc057d6046aec27f14f882b9" +dependencies = [ + "cookie", + "either", + "futures", + "http 0.2.12", + "hyper", + "indexmap", + "log", + "memchr", + "pear", + "percent-encoding", + "pin-project-lite", + "ref-cast", + "serde", + "smallvec", + "stable-pattern", + "state", + "time", + "tokio", + "uncased", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +dependencies = [ + "base64", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "schannel" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "schemars" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn", +] + +[[package]] +name = "scoped-tls" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "security-framework" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +dependencies = [ + "bitflags 2.5.0", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.203" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_derive_internals" +version = "0.29.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell-escape" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "spdx" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47317bbaf63785b53861e1ae2d11b80d6b624211d42cb20efcd210ee6f8a14bc" +dependencies = [ + "smallvec", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "stable-pattern" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4564168c00635f88eaed410d5efa8131afa8d8699a612c80c455a0ba05c21045" +dependencies = [ + "memchr", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "state" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b8c4a4445d81357df8b1a650d0d0d6fbbbfe99d064aa5e02f3e4022061476d8" +dependencies = [ + "loom", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "syn" +version = "2.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" + +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "system-configuration" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "system-configuration-sys", +] + +[[package]] +name = "system-configuration-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "test-log" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dffced63c2b5c7be278154d76b479f9f9920ed34e7574201407f0b14e2bbb93" +dependencies = [ + "env_logger", + "test-log-macros", + "tracing-subscriber", +] + +[[package]] +name = "test-log-macros" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5999e24eaa32083191ba4e425deb75cdf25efefabe5aaccb7446dd0d4122a3f5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tokio" +version = "1.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "toml" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.22.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "ubyte" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f720def6ce1ee2fc44d40ac9ed6d3a59c361c80a75a7aa8e75bb9baed31cf2ea" +dependencies = [ + "serde", +] + +[[package]] +name = "uncased" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697" +dependencies = [ + "serde", + "version_check", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + +[[package]] +name = "url" +version = "2.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "urlencoding" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" + +[[package]] +name = "utf16_iter" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "uuid" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +dependencies = [ + "getrandom", +] + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "write16" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" + +[[package]] +name = "writeable" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" + +[[package]] +name = "xml-rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" +dependencies = [ + "is-terminal", +] + +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerovec" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/pkgs/development/tools/genealogos/default.nix b/pkgs/development/tools/genealogos/default.nix new file mode 100644 index 000000000000..dd2c2846f668 --- /dev/null +++ b/pkgs/development/tools/genealogos/default.nix @@ -0,0 +1,63 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + + pkg-config, + openssl, +}: +let + mkGenealogosPackage = + { + crate ? "cli", + }: + rustPlatform.buildRustPackage rec { + pname = "genealogos-${crate}"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "tweag"; + repo = "genealogos"; + rev = "v${version}"; + hash = "sha256-EQrKInsrqlpjySX6duylo++2qwglB3EqGfLFJucOQM8="; + # Genealogos' fixture tests contain valid nix store paths, and are thus incompatible with a fixed-output-derivation. + # To avoid this, we just remove the tests + postFetch = '' + rm -r $out/genealogos/tests/ + ''; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + outputHashes = { + "nixtract-0.3.0" = "sha256-fXM6Gle4dt1iJgI6NuPl9l00i5sXGYkE+sUvFdps44s="; + }; + }; + + cargoBuildFlags = [ + "-p" + "genealogos-${crate}" + ]; + cargoTestFlags = cargoBuildFlags; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ openssl ]; + + # Since most tests were removed, just skip testing + doCheck = false; + + meta = with lib; { + description = "A Nix sbom generator"; + homepage = "https://github.com/tweag/genealogos"; + license = licenses.mit; + maintainers = with maintainers; [ erin ]; + changelog = "https://github.com/tweag/genealogos/blob/${src.rev}/CHANGELOG.md"; + mainProgram = "genealogos"; + platforms = lib.platforms.unix; + }; + }; +in +{ + genealogos-cli = mkGenealogosPackage { }; + genealogos-api = mkGenealogosPackage { crate = "api"; }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2ea15c45003e..21e7923d945d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1000,6 +1000,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) ApplicationServices Carbon Cocoa VideoToolbox; }; + inherit (callPackage ../development/tools/genealogos { }) genealogos-cli genealogos-api; + # This is to workaround gfal2-python broken against Python 3.12 or later. # TODO: Remove these lines after solving the breakage. gfal2-util = callPackage ../by-name/gf/gfal2-util/package.nix (lib.optionalAttrs python3Packages.gfal2-python.meta.broken { From 46eac6684cceecc40a6bc56c74009ebd011db43a Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:22:30 +0100 Subject: [PATCH 094/272] bitwarden-cli: re-enable building native modules --- pkgs/by-name/bi/bitwarden-cli/package.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/bi/bitwarden-cli/package.nix b/pkgs/by-name/bi/bitwarden-cli/package.nix index 03e2fcacc00d..7f1100e9e521 100644 --- a/pkgs/by-name/bi/bitwarden-cli/package.nix +++ b/pkgs/by-name/bi/bitwarden-cli/package.nix @@ -51,7 +51,7 @@ buildNpmPackage rec { npmFlags = [ "--legacy-peer-deps" ]; npmRebuildFlags = [ - # FIXME one of the esbuild versions fails to download @esbuild/linux-x64 + # we'll run npm rebuild manually later "--ignore-scripts" ]; @@ -60,6 +60,11 @@ buildNpmPackage rec { shopt -s globstar rm -r node_modules/**/prebuilds shopt -u globstar + + # FIXME one of the esbuild versions fails to download @esbuild/linux-x64 + rm -r node_modules/esbuild node_modules/vite/node_modules/esbuild + + npm rebuild --verbose ''; postBuild = '' From 0e5dbcfc15bd07b032a4d1937bf07293c9df5a93 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 12:49:26 +0000 Subject: [PATCH 095/272] dwarfs: 0.10.2 -> 0.11.0 --- pkgs/by-name/dw/dwarfs/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dw/dwarfs/package.nix b/pkgs/by-name/dw/dwarfs/package.nix index a28e1823d129..0d5af34a54b6 100644 --- a/pkgs/by-name/dw/dwarfs/package.nix +++ b/pkgs/by-name/dw/dwarfs/package.nix @@ -33,14 +33,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "dwarfs"; - version = "0.10.2"; + version = "0.11.0"; src = fetchFromGitHub { owner = "mhx"; repo = "dwarfs"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-wQ+6jSf/RWAI7cSRMb1zG09kOiyMM5xiy8yS6tl1ybI="; + hash = "sha256-UOIHtyOGKG0WPwKS1z0agMTvI0RF5sapJ5GoJ7a8+Vs="; }; cmakeFlags = [ From 8e2cd8d8484eedceee5d8308d24efba4dd08a2b4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 14:49:16 +0000 Subject: [PATCH 096/272] wit-bindgen: 0.40.0 -> 0.41.0 --- pkgs/by-name/wi/wit-bindgen/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wi/wit-bindgen/package.nix b/pkgs/by-name/wi/wit-bindgen/package.nix index 1c797c7c16d0..43f88744ce42 100644 --- a/pkgs/by-name/wi/wit-bindgen/package.nix +++ b/pkgs/by-name/wi/wit-bindgen/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "wit-bindgen"; - version = "0.40.0"; + version = "0.41.0"; src = fetchFromGitHub { owner = "bytecodealliance"; repo = "wit-bindgen"; rev = "v${version}"; - hash = "sha256-TWs4fpUAsrDmIIM7ZaCEyGRd9siILn3d92loWwheZfI="; + hash = "sha256-ePrtWOCta9UtoEtSJ1NZb6iJricfsc2YtRF8hi///3c="; }; useFetchCargoVendor = true; - cargoHash = "sha256-RD60tyiMxWoKhEYVJ7HiwVfkf2oKerUP38PVmIr2tIk="; + cargoHash = "sha256-vhhonclq6UGkygHoNIRkB4BIjMAdkSbu2qPXNb2y8pI="; # Some tests fail because they need network access to install the `wasm32-unknown-unknown` target. # However, GitHub Actions ensures a proper build. From 992cafd45ac890f92f2b4fa54329db12b1aecdb3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 17:34:09 +0000 Subject: [PATCH 097/272] carapace-bridge: 1.2.3 -> 1.2.4 --- pkgs/by-name/ca/carapace-bridge/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ca/carapace-bridge/package.nix b/pkgs/by-name/ca/carapace-bridge/package.nix index d31854978aa9..a26dd2a00038 100644 --- a/pkgs/by-name/ca/carapace-bridge/package.nix +++ b/pkgs/by-name/ca/carapace-bridge/package.nix @@ -8,19 +8,19 @@ buildGoModule rec { pname = "carapace-bridge"; - version = "1.2.3"; + version = "1.2.4"; src = fetchFromGitHub { owner = "carapace-sh"; repo = "carapace-bridge"; tag = "v${version}"; - hash = "sha256-RMItv9HAPsxnb0NGlDjqY8Of4cxf8xU1c8ZE8Ajz0ao="; + hash = "sha256-/HjoE6yaawo1hCemnvtfK3wj4SBSW91D4oyuZ5qxV4M="; }; # buildGoModule try to run `go mod vendor` instead of `go work vendor` on the # workspace if proxyVendor is off proxyVendor = true; - vendorHash = "sha256-R2sk5yqhF+5pVWxCnEx+EKTvNPzg32/JguLMu6R3ETM="; + vendorHash = "sha256-zfV5IcpwtK3n76jWs4ldMlpEqbyNmmXZWDj+fh66luw="; postPatch = '' substituteInPlace cmd/carapace-bridge/main.go \ From 4fa32ecf887575b22ac0ce9f2ad54b10d8e934b4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 17:36:45 +0000 Subject: [PATCH 098/272] gancio: 1.24.0 -> 1.24.4 --- pkgs/by-name/ga/gancio/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ga/gancio/package.nix b/pkgs/by-name/ga/gancio/package.nix index d855111a6805..a668e248d34c 100644 --- a/pkgs/by-name/ga/gancio/package.nix +++ b/pkgs/by-name/ga/gancio/package.nix @@ -19,14 +19,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "gancio"; - version = "1.24.0"; + version = "1.24.4"; src = fetchFromGitLab { domain = "framagit.org"; owner = "les"; repo = "gancio"; rev = "v${finalAttrs.version}"; - hash = "sha256-PczJFh4tODwtocDSY0UHok8tgBmVvSVHDRjLG6Cor5s="; + hash = "sha256-LbXTzptkAYQ/86DtHHJvZP45YMVcqyrK4RD7AYvwGoM="; }; offlineCache = fetchYarnDeps { From 9dcfa743e4fae45dc35529f15fb62862608b0401 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 18 Mar 2025 17:25:10 +0100 Subject: [PATCH 099/272] python312Packages.nbdime: modernize, fix failing tests on darwin --- .../python-modules/nbdime/default.nix | 47 ++++++++++++------- 1 file changed, 29 insertions(+), 18 deletions(-) diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix index 9ccb1a257b88..581e7463ff78 100644 --- a/pkgs/development/python-modules/nbdime/default.nix +++ b/pkgs/development/python-modules/nbdime/default.nix @@ -1,23 +1,29 @@ { lib, buildPythonPackage, - pythonOlder, fetchPypi, + + # build-system hatch-jupyter-builder, hatchling, jupyterlab, - nbformat, + + # dependencies colorama, - pygments, - tornado, - requests, gitpython, + jinja2, jupyter-server, jupyter-server-mathjax, - jinja2, + nbformat, + pygments, + requests, + tornado, + + # tests gitMinimal, pytest-tornado, pytestCheckHook, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { @@ -25,8 +31,6 @@ buildPythonPackage rec { version = "4.0.2"; pyproject = true; - disabled = pythonOlder "3.6"; - src = fetchPypi { inherit pname version; hash = "sha256-2Cefj0sjbAslOyDWDEgxu2eEPtjb1uCfI06wEdNvG/I="; @@ -39,32 +43,39 @@ buildPythonPackage rec { ]; dependencies = [ - nbformat colorama - pygments - tornado - requests gitpython + jinja2 jupyter-server jupyter-server-mathjax - jinja2 + nbformat + pygments + requests + tornado ]; nativeCheckInputs = [ gitMinimal pytest-tornado pytestCheckHook + writableTmpDirAsHomeHook ]; disabledTests = [ + # subprocess.CalledProcessError: Command '['git', 'diff', 'base', 'diff.ipynb']' returned non-zero exit status 128. + # git-nbdiffdriver diff: line 1: git-nbdiffdriver: command not found + # fatal: external diff died, stopping at diff.ipynb "test_git_diffdriver" - "test_git_difftool" + + # subprocess.CalledProcessError: Command '['git', 'merge', 'remote-no-conflict']' returned non-zero exit status 1. "test_git_mergedriver" + + # Require network access + "test_git_difftool" "test_git_mergetool" ]; preCheck = '' - export HOME="$TEMP" git config --global user.email "janedoe@example.com" git config --global user.name "Jane Doe" ''; @@ -73,11 +84,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "nbdime" ]; - meta = with lib; { + meta = { homepage = "https://github.com/jupyter/nbdime"; changelog = "https://github.com/jupyter/nbdime/blob/${version}/CHANGELOG.md"; description = "Tools for diffing and merging of Jupyter notebooks"; - license = licenses.bsd3; - maintainers = with maintainers; [ tbenst ]; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ tbenst ]; }; } From f7a5049ad99de4a38cca1815cf4d2f357163f0d8 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 18 Mar 2025 17:33:25 +0100 Subject: [PATCH 100/272] python312Packages.nbdime: skip failing test on darwin --- .../python-modules/nbdime/default.nix | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/pkgs/development/python-modules/nbdime/default.nix b/pkgs/development/python-modules/nbdime/default.nix index 581e7463ff78..61f420899a2d 100644 --- a/pkgs/development/python-modules/nbdime/default.nix +++ b/pkgs/development/python-modules/nbdime/default.nix @@ -1,5 +1,6 @@ { lib, + stdenv, buildPythonPackage, fetchPypi, @@ -61,19 +62,24 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - disabledTests = [ - # subprocess.CalledProcessError: Command '['git', 'diff', 'base', 'diff.ipynb']' returned non-zero exit status 128. - # git-nbdiffdriver diff: line 1: git-nbdiffdriver: command not found - # fatal: external diff died, stopping at diff.ipynb - "test_git_diffdriver" + disabledTests = + [ + # subprocess.CalledProcessError: Command '['git', 'diff', 'base', 'diff.ipynb']' returned non-zero exit status 128. + # git-nbdiffdriver diff: line 1: git-nbdiffdriver: command not found + # fatal: external diff died, stopping at diff.ipynb + "test_git_diffdriver" - # subprocess.CalledProcessError: Command '['git', 'merge', 'remote-no-conflict']' returned non-zero exit status 1. - "test_git_mergedriver" + # subprocess.CalledProcessError: Command '['git', 'merge', 'remote-no-conflict']' returned non-zero exit status 1. + "test_git_mergedriver" - # Require network access - "test_git_difftool" - "test_git_mergetool" - ]; + # Require network access + "test_git_difftool" + "test_git_mergetool" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # OSError: Could not find system gitattributes location! + "test_locate_gitattributes_syste" + ]; preCheck = '' git config --global user.email "janedoe@example.com" From 6623f0fd04bd6462f1a93a15399adab46adf6460 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 18 Mar 2025 18:38:47 +0100 Subject: [PATCH 101/272] python312Packages.jaxtyping: 0.2.38 -> 0.3.0 Diff: https://github.com/google/jaxtyping/compare/refs/tags/v0.2.38...v0.3.0 Changelog: https://github.com/patrick-kidger/jaxtyping/releases/tag/v0.3.0 --- pkgs/development/python-modules/jaxtyping/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/jaxtyping/default.nix b/pkgs/development/python-modules/jaxtyping/default.nix index 35e9c56adc2d..351acbd4e318 100644 --- a/pkgs/development/python-modules/jaxtyping/default.nix +++ b/pkgs/development/python-modules/jaxtyping/default.nix @@ -23,14 +23,14 @@ let self = buildPythonPackage rec { pname = "jaxtyping"; - version = "0.2.38"; + version = "0.3.0"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "jaxtyping"; tag = "v${version}"; - hash = "sha256-AK0c4HCM8ExDBdnQ0y6qSNTHTF5rD6kC+OjiJtW5Mkg="; + hash = "sha256-sMJvkqlg7lNtyo7j+eD7aWrds71XwqO2VWDVsO4r4Mk="; }; build-system = [ hatchling ]; From 14451543aa914df8e9fd2d23e258668c808bc480 Mon Sep 17 00:00:00 2001 From: osbm Date: Tue, 18 Mar 2025 20:40:31 +0300 Subject: [PATCH 102/272] python312Packages.manim: fix build --- .../python-modules/manim/default.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/manim/default.nix b/pkgs/development/python-modules/manim/default.nix index c5cf6b8408e0..fb0ec500aac6 100644 --- a/pkgs/development/python-modules/manim/default.nix +++ b/pkgs/development/python-modules/manim/default.nix @@ -183,6 +183,16 @@ let cbfonts-fd ] ); + # https://github.com/ManimCommunity/manim/pull/4037 + av_13_1 = av.overridePythonAttrs (rec { + version = "13.1.0"; + src = fetchFromGitHub { + owner = "PyAV-Org"; + repo = "PyAV"; + tag = "v${version}"; + hash = "sha256-x2a9SC4uRplC6p0cD7fZcepFpRidbr6JJEEOaGSWl60="; + }; + }); in buildPythonPackage rec { pname = "manim"; @@ -206,7 +216,7 @@ buildPythonPackage rec { buildInputs = [ cairo ]; dependencies = [ - av + av_13_1 beautifulsoup4 click cloup @@ -268,8 +278,6 @@ buildPythonPackage rec { pythonImportsCheck = [ "manim" ]; meta = { - # https://github.com/ManimCommunity/manim/pull/4037 - broken = lib.versionAtLeast av.version "14"; description = "Animation engine for explanatory math videos - Community version"; longDescription = '' Manim is an animation engine for explanatory math videos. It's used to @@ -277,9 +285,10 @@ buildPythonPackage rec { 3Blue1Brown on YouTube. This is the community maintained version of manim. ''; + mainProgram = "manim"; changelog = "https://docs.manim.community/en/latest/changelog/${version}-changelog.html"; homepage = "https://github.com/ManimCommunity/manim"; license = lib.licenses.mit; - maintainers = [ ]; + maintainers = with lib.maintainers; [ osbm ]; }; } From 3275f83f00c2a316ec75cd5dd2ea2dea5e34cb8f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 17:44:27 +0000 Subject: [PATCH 103/272] jx: 3.11.56 -> 3.11.66 --- pkgs/by-name/jx/jx/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/jx/jx/package.nix b/pkgs/by-name/jx/jx/package.nix index b88506805c47..590268b3dba6 100644 --- a/pkgs/by-name/jx/jx/package.nix +++ b/pkgs/by-name/jx/jx/package.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "jx"; - version = "3.11.56"; + version = "3.11.66"; src = fetchFromGitHub { owner = "jenkins-x"; repo = "jx"; rev = "v${version}"; - sha256 = "sha256-zBv6j27UYRcMqDLINe8zEqANmlSks3OqwGzTSFisnP4="; + sha256 = "sha256-Ejm5Y1xyh9/d79PYYMeKQVtAhT9knFCVcwNAWoBk840="; }; vendorHash = "sha256-8I4yTzLAL7E0ozHcBZDNsJLHkTh+SjT0SjDSECGRYIc="; From aea859fd8ab02a8d1d11db63a69ef472cca3acdb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 18:01:55 +0000 Subject: [PATCH 104/272] astal.io: 0-unstable-2025-03-07 -> 0-unstable-2025-03-17 --- pkgs/development/libraries/astal/buildAstalModule.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/astal/buildAstalModule.nix b/pkgs/development/libraries/astal/buildAstalModule.nix index 1074dc4d484e..4a3e148212d2 100644 --- a/pkgs/development/libraries/astal/buildAstalModule.nix +++ b/pkgs/development/libraries/astal/buildAstalModule.nix @@ -39,7 +39,7 @@ let cleanArgs args // { pname = "astal-${name}"; - version = "0-unstable-2025-03-07"; + version = "0-unstable-2025-03-17"; __structuredAttrs = true; strictDeps = true; @@ -47,8 +47,8 @@ let src = fetchFromGitHub { owner = "Aylur"; repo = "astal"; - rev = "e14e19c220575446c4a0e815705c88b28e3850e0"; - hash = "sha256-SJ/m4Go4tSj8BnKLGwnLT6yN2pdlewepuXPmaDrzuK4="; + rev = "e5a8e3b60e41d06450284baf7008abe4ac27a53d"; + hash = "sha256-8gWNDDVS7TqLiS+eR1XhfMHBeknmTzLQ3ItB40OK3p0="; }; sourceRoot = "${finalAttrs.src.name}/${sourceRoot}"; From c65b6a5cd26dc16445016f6469d99732e31c11e1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 18:11:03 +0000 Subject: [PATCH 105/272] terraform-providers.rancher2: 6.0.0 -> 6.1.4 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 2decc3af75d5..f32b568508ff 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1066,11 +1066,11 @@ "vendorHash": "sha256-j+3qtGlueKZgf0LuNps4Wc9G3EmpSgl8ZNSLqslyizI=" }, "rancher2": { - "hash": "sha256-9I5awIsF/hQ4l4u518GoaUS+ik89mVPSkhHd9itE2eU=", + "hash": "sha256-LJgYGgJ7PLRq3WlT2rAnnM8svn4EGghLy3rY7lpmJxI=", "homepage": "https://registry.terraform.io/providers/rancher/rancher2", "owner": "rancher", "repo": "terraform-provider-rancher2", - "rev": "v6.0.0", + "rev": "v6.1.4", "spdx": "MPL-2.0", "vendorHash": "sha256-uIyLOqabx8wQurxcG70LHm+jBga+bCNyf5XxGrt5OKA=" }, From 427e1d8d3ea7f2dd7ed41feed8f17381d3df9c36 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 18:25:43 +0000 Subject: [PATCH 106/272] renode-dts2repl: 0-unstable-2025-03-05 -> 0-unstable-2025-03-17 --- pkgs/by-name/re/renode-dts2repl/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix index ee778ec7c21e..448c21e62e27 100644 --- a/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/pkgs/by-name/re/renode-dts2repl/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication { pname = "renode-dts2repl"; - version = "0-unstable-2025-03-05"; + version = "0-unstable-2025-03-17"; pyproject = true; src = fetchFromGitHub { owner = "antmicro"; repo = "dts2repl"; - rev = "3aa8ca84d3cba6043ebf9158b9fa1ce77beb7ea8"; - hash = "sha256-k2gaDI5eymAqhqW9XErR2QlU7VNoquAYi+8L1U6Lcg0="; + rev = "1039408cd06b7630bef0ef2d04d64d14e9a00641"; + hash = "sha256-Ho7H4gb48PfkuF0q4My9E4MHIny1cfqWeLwZpVb0L1E="; }; nativeBuildInputs = [ From d7fbf3b13a99a46cad8a8976c6ba9cb83e62698e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 18:44:53 +0000 Subject: [PATCH 107/272] terraform-providers.tencentcloud: 1.81.171 -> 1.81.174 --- .../networking/cluster/terraform-providers/providers.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 2decc3af75d5..4a4be30867bf 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1300,11 +1300,11 @@ "vendorHash": "sha256-0B2XRpvUk0mgDu3inz37LLJijwH3aQyoSb8IaHr6was=" }, "tencentcloud": { - "hash": "sha256-UO3Gjz5+h4YIj62gCJccFWW8k7qNbmmBzFlT1WWdXl8=", + "hash": "sha256-vWMEaA64/h1dhXJDw2kqoWgpp79ZuWP25rvfd6GiReg=", "homepage": "https://registry.terraform.io/providers/tencentcloudstack/tencentcloud", "owner": "tencentcloudstack", "repo": "terraform-provider-tencentcloud", - "rev": "v1.81.171", + "rev": "v1.81.174", "spdx": "MPL-2.0", "vendorHash": null }, From 8e9c68bcb47da20645e5e6516a3dea65e4c7aece Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 18:46:54 +0000 Subject: [PATCH 108/272] python312Packages.pebble: 5.1.0 -> 5.1.1 --- pkgs/development/python-modules/pebble/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pebble/default.nix b/pkgs/development/python-modules/pebble/default.nix index abefc287323d..471e88b912f4 100644 --- a/pkgs/development/python-modules/pebble/default.nix +++ b/pkgs/development/python-modules/pebble/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pebble"; - version = "5.1.0"; + version = "5.1.1"; pyproject = true; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "noxdafox"; repo = "pebble"; tag = version; - hash = "sha256-Y6E+Mu5Ch+VTHryTY3pvHQD6GzaTLrtf78DqUWa7nt0="; + hash = "sha256-x0jvqH1wSAkOgxYNcXr+TL5dqZE0Vai0ZaxdnDSqRNI="; }; build-system = [ @@ -35,7 +35,7 @@ buildPythonPackage rec { meta = { description = "API to manage threads and processes within an application"; homepage = "https://github.com/noxdafox/pebble"; - changelog = "https://github.com/noxdafox/pebble/releases/tag/${version}"; + changelog = "https://github.com/noxdafox/pebble/releases/tag/${src.tag}"; license = lib.licenses.lgpl3Plus; maintainers = with lib.maintainers; [ orivej ]; }; From f5921fab4d353ca4c50ae433ad96826ebf4dcaab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 19:13:41 +0000 Subject: [PATCH 109/272] heptabase: 1.53.4 -> 1.53.7 --- pkgs/by-name/he/heptabase/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/he/heptabase/package.nix b/pkgs/by-name/he/heptabase/package.nix index 89dae6c414f9..2df1e5aee578 100644 --- a/pkgs/by-name/he/heptabase/package.nix +++ b/pkgs/by-name/he/heptabase/package.nix @@ -5,10 +5,10 @@ }: let pname = "heptabase"; - version = "1.53.4"; + version = "1.53.7"; src = fetchurl { url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage"; - hash = "sha256-dDwz9bn5UZJ3aQYy2SJYKSSaZJzj/B+zRmfwxgsUjBc="; + hash = "sha256-wy69dT/Iyt1jZKMh8/yCGk7+Z/NQt8R2d8jHXOZSvgQ="; }; appimageContents = appimageTools.extractType2 { inherit pname version src; }; From 28281ab3f471d38bbd0ebd17ee1ed8ac1fddef64 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 19:18:08 +0000 Subject: [PATCH 110/272] labwc-menu-generator: 0.1.0-unstable-2025-02-12 -> 0.1.0-unstable-2025-03-08 --- pkgs/by-name/la/labwc-menu-generator/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/la/labwc-menu-generator/package.nix b/pkgs/by-name/la/labwc-menu-generator/package.nix index 7d6b30f66adc..a9599d1eeb24 100644 --- a/pkgs/by-name/la/labwc-menu-generator/package.nix +++ b/pkgs/by-name/la/labwc-menu-generator/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "labwc-menu-generator"; - version = "0.1.0-unstable-2025-02-12"; + version = "0.1.0-unstable-2025-03-08"; src = fetchFromGitHub { owner = "labwc"; repo = "labwc-menu-generator"; - rev = "a6e96b496aff6b54bcdaacfcd24720d46d6a683a"; - hash = "sha256-Ju/lH7mZuIsulkQ5lpgfBl9BUs0mAOobS9aBuVlMIqI="; + rev = "f1aa43d776b702f29b7d1e32440f233927a1dfa9"; + hash = "sha256-tjfFE2RJVOhJFw29+CZkLApVS4BTjGpT3cI2WStYAOo="; }; nativeBuildInputs = [ From a1fde977d927cd5c6979deffaa991c4d48372855 Mon Sep 17 00:00:00 2001 From: Kira Bruneau Date: Tue, 18 Mar 2025 15:49:13 -0400 Subject: [PATCH 111/272] rocmPackages.rocfft: remove myself as maintainer The workarounds I originally added to support building in hydra are no longer necessary and have been removed, so I'm no longer interested in maintaining this. --- pkgs/development/rocm-modules/6/rocfft/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/rocm-modules/6/rocfft/default.nix b/pkgs/development/rocm-modules/6/rocfft/default.nix index 92f51a161a48..c8af11ad4d51 100644 --- a/pkgs/development/rocm-modules/6/rocfft/default.nix +++ b/pkgs/development/rocm-modules/6/rocfft/default.nix @@ -167,7 +167,7 @@ stdenv.mkDerivation (finalAttrs: { description = "FFT implementation for ROCm"; homepage = "https://github.com/ROCm/rocFFT"; license = with licenses; [ mit ]; - maintainers = with maintainers; [ kira-bruneau ] ++ teams.rocm.members; + maintainers = teams.rocm.members; platforms = platforms.linux; broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version From 0c3b27a29243df392a1b1d4b3088a7ae414a511a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 20:00:37 +0000 Subject: [PATCH 112/272] mise: 2025.2.7 -> 2025.3.6 --- pkgs/by-name/mi/mise/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix index aec8d8c07e77..f68e39526313 100644 --- a/pkgs/by-name/mi/mise/package.nix +++ b/pkgs/by-name/mi/mise/package.nix @@ -23,17 +23,17 @@ rustPlatform.buildRustPackage rec { pname = "mise"; - version = "2025.2.7"; + version = "2025.3.6"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; rev = "v${version}"; - hash = "sha256-PvZCKi6fvEc0J5SzDazMkf2SS3+r0DTXM6NWCPi95J0="; + hash = "sha256-wp/C7RrMcpk/BFath9zZbEMzhQWFYagnT2zimnPRpPI="; }; useFetchCargoVendor = true; - cargoHash = "sha256-qVs1PogSDfMCVgfvgqLltqiGl7yvO+d4Ly0oeQpSftw="; + cargoHash = "sha256-49C4MzvGUiO16kNEKoHtlvkOxG16jsD2iW5upaVuYGI="; nativeBuildInputs = [ installShellFiles From 5c1d4c544d0b5787e9bb6cc40d478d2b5820c908 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 20:15:25 +0000 Subject: [PATCH 113/272] r2modman: 3.1.56 -> 3.1.57 --- pkgs/by-name/r2/r2modman/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/r2/r2modman/package.nix b/pkgs/by-name/r2/r2modman/package.nix index 76c14bd473a1..ce5073e41d83 100644 --- a/pkgs/by-name/r2/r2modman/package.nix +++ b/pkgs/by-name/r2/r2modman/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "r2modman"; - version = "3.1.56"; + version = "3.1.57"; src = fetchFromGitHub { owner = "ebkr"; repo = "r2modmanPlus"; rev = "v${finalAttrs.version}"; - hash = "sha256-38PHTI/sAKLf70b/uBPYlJvbkogijiyuUvn7veGGZTY="; + hash = "sha256-1b24tclqXGx85BGFYL9cbthLScVWau2OmRh9YElfCLs="; }; offlineCache = fetchYarnDeps { From 3f646e12d1f67605eedfad5ae33eab7ff8bbb3ac Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Thu, 27 Feb 2025 23:47:20 +0100 Subject: [PATCH 114/272] linux/common-config: Spell out the current set of supported Rust targets This keeps us from accidentally running into platforms where Rust is not supported by the Linux kernel itself (for that particular platform). --- pkgs/os-specific/linux/kernel/common-config.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 4bbebf2cc3b4..019be333e89b 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -43,17 +43,24 @@ let ); forceRust = features.rust or false; - kernelSupportsRust = lib.versionAtLeast version "6.7" - # Known to be broken: https://lore.kernel.org/lkml/31885EDD-EF6D-4EF1-94CA-276BA7A340B7@kernel.org/T/ - && !(stdenv.hostPlatform.isRiscV && stdenv.cc.isGNU); - + # Architecture support collected from HAVE_RUST Kconfig definitions and the following table: + # https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/rust/arch-support.rst + kernelSupportsRust = ( + lib.versionAtLeast version "6.12" + && ( + stdenv.hostPlatform.isx86_64 + || stdenv.hostPlatform.isLoongArch64 + || stdenv.hostPlatform.isAarch64 + || (stdenv.hostPlatform.isRiscV64 && !stdenv.cc.isGNU) + ) + ); # Currently only enabling Rust by default on kernel 6.12+, # which actually has features that use Rust that we want. defaultRust = lib.versionAtLeast version "6.12" && rustAvailable; withRust = assert lib.assertMsg (!(forceRust && !kernelSupportsRust)) '' - Kernels below 6.7 (the kernel being built is ${version}) don't support Rust. + Kernel ${version} is not declared as supporting Rust on this host platform and compiler. ''; (forceRust || defaultRust) && kernelSupportsRust; From cfb4fd54501fd0527eb5097cbf1015f17adff28d Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Mon, 17 Mar 2025 21:05:47 +0100 Subject: [PATCH 115/272] linux/common-config: Overhaul Rust for Linux enabling logic The table with kernel version and compiler requirements only starts from Linux 6.12 now (the previous default), so update the force-enable logic to accommodate users that don't want to follow those suggestions. This includes printing warnings instead of asserting and allowing the force-enable to override both the compiler check and the version (or architecture) check. --- pkgs/os-specific/linux/kernel/common-config.nix | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 019be333e89b..30ce57a9e351 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -45,7 +45,7 @@ let forceRust = features.rust or false; # Architecture support collected from HAVE_RUST Kconfig definitions and the following table: # https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/rust/arch-support.rst - kernelSupportsRust = ( + rustByDefault = ( lib.versionAtLeast version "6.12" && ( stdenv.hostPlatform.isx86_64 @@ -55,14 +55,13 @@ let ) ); - # Currently only enabling Rust by default on kernel 6.12+, - # which actually has features that use Rust that we want. - defaultRust = lib.versionAtLeast version "6.12" && rustAvailable; withRust = - assert lib.assertMsg (!(forceRust && !kernelSupportsRust)) '' - Kernel ${version} is not declared as supporting Rust on this host platform and compiler. - ''; - (forceRust || defaultRust) && kernelSupportsRust; + lib.warnIfNot (forceRust -> rustAvailable) + "force-enabling Rust for Linux without an available rustc" + lib.warnIfNot + (forceRust -> rustByDefault) + "force-enabling Rust for Linux on an unsupported kernel version, host platform or compiler" + (forceRust || (rustAvailable && rustByDefault)); options = { From d0d4a8cab96e6ebd8c182068995ea31570fa996f Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Sun, 23 Feb 2025 19:57:24 +0100 Subject: [PATCH 116/272] linux/common-config: Guard transitive dependants on BTF_JIT BPF_JIT is not supported on i686, so we need to make sure that options that depend on BPF_JIT don't get enabled either. --- pkgs/os-specific/linux/kernel/common-config.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 30ce57a9e351..b66a2f6abaaa 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -1063,7 +1063,7 @@ let HIDRAW = yes; # Enable loading HID fixups as eBPF from userspace - HID_BPF = whenAtLeast "6.3" yes; + HID_BPF = whenAtLeast "6.3" (whenPlatformHasEBPFJit yes); HID_ACRUX_FF = yes; DRAGONRISE_FF = yes; @@ -1290,7 +1290,7 @@ let LIRC = yes; SCHED_CORE = whenAtLeast "5.14" yes; - SCHED_CLASS_EXT = whenAtLeast "6.12" yes; + SCHED_CLASS_EXT = whenAtLeast "6.12" (whenPlatformHasEBPFJit yes); LRU_GEN = whenAtLeast "6.1" yes; LRU_GEN_ENABLED = whenAtLeast "6.1" yes; From cacda7ac20737b37be26fe45edee19c459e12716 Mon Sep 17 00:00:00 2001 From: silvanshade Date: Mon, 17 Mar 2025 13:37:58 -0600 Subject: [PATCH 117/272] maintainers: add silvanshade --- maintainers/maintainer-list.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ac3341e5c508..a823f5361d8d 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -21986,6 +21986,11 @@ githubId = 91412114; keys = [ { fingerprint = "C1DA A551 B422 7A6F 3FD9 6B3A 467B 7D12 9EA7 3AC9"; } ]; }; + silvanshade = { + github = "silvanshade"; + githubId = 11022302; + name = "silvanshade"; + }; Silver-Golden = { name = "Brendan Golden"; email = "github+nixpkgs@brendan.ie"; From cd9a523a9e117a98293368fc36d4fe461a16af86 Mon Sep 17 00:00:00 2001 From: silvanshade Date: Mon, 17 Mar 2025 13:38:43 -0600 Subject: [PATCH 118/272] libblake3: add silvanshade to maintainers --- pkgs/by-name/li/libblake3/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/li/libblake3/package.nix b/pkgs/by-name/li/libblake3/package.nix index b7965ddea4fa..63e5506275d9 100644 --- a/pkgs/by-name/li/libblake3/package.nix +++ b/pkgs/by-name/li/libblake3/package.nix @@ -33,7 +33,10 @@ stdenv.mkDerivation (finalAttrs: { asl20 cc0 ]; - maintainers = with lib.maintainers; [ fgaz ]; + maintainers = with lib.maintainers; [ + fgaz + silvanshade + ]; platforms = lib.platforms.all; }; }) From b49ff29cff6f8951ec14f36edb3fe85d3fbe5ad7 Mon Sep 17 00:00:00 2001 From: silvanshade Date: Mon, 17 Mar 2025 13:40:12 -0600 Subject: [PATCH 119/272] libblake3: 1.6.1 -> 1.7.0 --- pkgs/by-name/li/libblake3/package.nix | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/li/libblake3/package.nix b/pkgs/by-name/li/libblake3/package.nix index 63e5506275d9..68fa286d164a 100644 --- a/pkgs/by-name/li/libblake3/package.nix +++ b/pkgs/by-name/li/libblake3/package.nix @@ -3,26 +3,29 @@ stdenv, cmake, fetchFromGitHub, + tbb_2022_0, + useTBB ? true, }: stdenv.mkDerivation (finalAttrs: { pname = "libblake3"; - version = "1.6.1"; + version = "1.7.0"; src = fetchFromGitHub { owner = "BLAKE3-team"; repo = "BLAKE3"; tag = finalAttrs.version; - hash = "sha256-YJ3rRzpmF6oS8p377CEoRteARCD1lr/L7/fbN5poUXw="; + hash = "sha256-08D5hnU3I0VJ+RM/TNk2LxsEAvOLuO52+08zlKssXbc="; }; sourceRoot = finalAttrs.src.name + "/c"; - nativeBuildInputs = [ - cmake - ]; + nativeBuildInputs = [ cmake ]; + + buildInputs = lib.optionals useTBB [ tbb_2022_0 ]; cmakeFlags = [ + (lib.cmakeBool "BLAKE3_USE_TBB" useTBB) (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) ]; From 0808d2bb77368bab3ac8f44d694c88ae382a9341 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Sat, 15 Mar 2025 11:04:06 -0700 Subject: [PATCH 120/272] python3Packages.langchain*: define version regex in update script --- .../python-modules/langchain-aws/default.nix | 12 ++++++--- .../default.nix | 12 ++++++--- .../langchain-chroma/default.nix | 12 ++++++--- .../langchain-community/default.nix | 16 ++++++----- .../python-modules/langchain-core/default.nix | 27 +++++-------------- .../python-modules/langchain-groq/default.nix | 11 +++++--- .../langchain-huggingface/default.nix | 12 ++++++--- .../langchain-mongodb/default.nix | 12 ++++++--- .../langchain-openai/default.nix | 12 ++++++--- .../langchain-tests/default.nix | 10 +++++++ .../langchain-text-splitters/default.nix | 12 ++++++--- .../python-modules/langchain/default.nix | 12 ++++++--- 12 files changed, 99 insertions(+), 61 deletions(-) diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix index 3fcf0d9deaa2..d3f998ee2963 100644 --- a/pkgs/development/python-modules/langchain-aws/default.nix +++ b/pkgs/development/python-modules/langchain-aws/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system poetry-core, @@ -64,11 +65,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_aws" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-aws==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/v${version}"; diff --git a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix index d38b2c604000..c507d23e3c62 100644 --- a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix +++ b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system poetry-core, @@ -65,11 +66,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_azure_dynamic_sessions" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-azure-dynamic-sessions==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { description = "Integration package connecting Azure Container Apps dynamic sessions and LangChain"; diff --git a/pkgs/development/python-modules/langchain-chroma/default.nix b/pkgs/development/python-modules/langchain-chroma/default.nix index f074d7f3f53a..76c72230c089 100644 --- a/pkgs/development/python-modules/langchain-chroma/default.nix +++ b/pkgs/development/python-modules/langchain-chroma/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, chromadb, langchain-core, langchain-tests, @@ -50,11 +51,14 @@ buildPythonPackage rec { "test_chroma_update_document" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-chroma==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-chroma==${version}"; diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix index 97bb3c06e8d4..3b598546128e 100644 --- a/pkgs/development/python-modules/langchain-community/default.nix +++ b/pkgs/development/python-modules/langchain-community/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system pdm-backend, @@ -98,12 +99,6 @@ buildPythonPackage rec { pytestFlagsArray = [ "tests/unit_tests" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; - }; - __darwinAllowLocalNetworking = true; disabledTests = [ @@ -124,6 +119,15 @@ buildPythonPackage rec { "test_group_dependencies" ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-community==([0-9.]+)$" + ]; + }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; + meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-community==${version}"; description = "Community contributed LangChain integrations"; diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index d6d4ccd1deac..4d27601e12b0 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -30,7 +30,7 @@ syrupy, # passthru - writeScript, + nix-update-script, }: buildPythonPackage rec { @@ -94,26 +94,13 @@ buildPythonPackage rec { tests.pytest = langchain-core.overridePythonAttrs (_: { doCheck = true; }); - # Updates to core tend to drive updates in everything else - updateScript = writeScript "update.sh" '' - #!/usr/bin/env nix-shell - #!nix-shell -i bash -p nix-update - set -u -o pipefail +e - # Common core - nix-update --commit --version-regex 'langchain-core==(.*)' python3Packages.langchain-core - nix-update --commit --version-regex 'langchain-text-splitters==(.*)' python3Packages.langchain-text-splitters - nix-update --commit --version-regex 'langchain==(.*)' python3Packages.langchain - nix-update --commit --version-regex 'langchain-community==(.*)' python3Packages.langchain-community - - # Extensions - nix-update --commit --version-regex 'langchain-aws==(.*)' python3Packages.langchain-aws - nix-update --commit --version-regex 'langchain-azure-dynamic-sessions==(.*)' python3Packages.langchain-azure-dynamic-sessions - nix-update --commit --version-regex 'langchain-chroma==(.*)' python3Packages.langchain-chroma - nix-update --commit --version-regex 'langchain-huggingface==(.*)' python3Packages.langchain-huggingface - nix-update --commit --version-regex 'langchain-mongodb==(.*)' python3Packages.langchain-mongodb - nix-update --commit --version-regex 'langchain-openai==(.*)' python3Packages.langchain-openai - ''; + updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-core==([0-9.]+)$" + ]; + }; # updates the wrong fetcher rev attribute skipBulkUpdate = true; }; diff --git a/pkgs/development/python-modules/langchain-groq/default.nix b/pkgs/development/python-modules/langchain-groq/default.nix index fbcb402b174a..5a62185b0f73 100644 --- a/pkgs/development/python-modules/langchain-groq/default.nix +++ b/pkgs/development/python-modules/langchain-groq/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system pdm-backend, @@ -47,10 +48,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_groq" ]; - passthru = { - inherit (langchain-core) updateScript; - skipBulkUpdate = true; # Broken, see https://github.com/NixOS/nixpkgs/issues/379898 + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-groq==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-groq==${version}"; diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix index 1ed4271ad784..c88eb502085e 100644 --- a/pkgs/development/python-modules/langchain-huggingface/default.nix +++ b/pkgs/development/python-modules/langchain-huggingface/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system poetry-core, @@ -71,11 +72,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_huggingface" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-huggingface==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-huggingface==${version}"; diff --git a/pkgs/development/python-modules/langchain-mongodb/default.nix b/pkgs/development/python-modules/langchain-mongodb/default.nix index dbe90af0c79d..a8356221aabe 100644 --- a/pkgs/development/python-modules/langchain-mongodb/default.nix +++ b/pkgs/development/python-modules/langchain-mongodb/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system poetry-core, @@ -60,11 +61,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_mongodb" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-mongodb==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-mongodb==${version}"; diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix index 486894b6d142..f126f6b4a87a 100644 --- a/pkgs/development/python-modules/langchain-openai/default.nix +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system pdm-backend, @@ -89,11 +90,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain_openai" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-openai==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-openai==${version}"; diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix index 8f1b87e3f494..dfb53f3a78aa 100644 --- a/pkgs/development/python-modules/langchain-tests/default.nix +++ b/pkgs/development/python-modules/langchain-tests/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system pdm-backend, @@ -54,6 +55,15 @@ buildPythonPackage rec { pytestCheckHook ]; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-tests==([0-9.]+)$" + ]; + }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; + meta = { description = "Build context-aware reasoning applications"; homepage = "https://github.com/langchain-ai/langchain"; diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index 746c953d873b..cc9b83f69c13 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -2,6 +2,7 @@ lib, buildPythonPackage, fetchFromGitHub, + nix-update-script, # build-system pdm-backend, @@ -43,11 +44,14 @@ buildPythonPackage rec { pytestFlagsArray = [ "tests/unit_tests" ]; - passthru = { - inherit (langchain-core) updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain-test-splitters==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-text-splitters==${version}"; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 779b84440936..df273af85d92 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -3,6 +3,7 @@ buildPythonPackage, fetchFromGitHub, pythonOlder, + nix-update-script, # build-system pdm-backend, @@ -144,11 +145,14 @@ buildPythonPackage rec { pythonImportsCheck = [ "langchain" ]; - passthru = { - updateScript = langchain-core.updateScript; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^langchain==([0-9.]+)$" + ]; }; + # updates the wrong fetcher rev attribute + passthru.skipBulkUpdate = true; meta = { description = "Building applications with LLMs through composability"; From c138ff03d78136ae83727ede2e88347f3d6c430e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 21:32:08 +0000 Subject: [PATCH 121/272] pv-migrate: 2.2.0 -> 2.2.1 --- pkgs/by-name/pv/pv-migrate/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pv/pv-migrate/package.nix b/pkgs/by-name/pv/pv-migrate/package.nix index 0488e41ae9e6..4878c27a2b7d 100644 --- a/pkgs/by-name/pv/pv-migrate/package.nix +++ b/pkgs/by-name/pv/pv-migrate/package.nix @@ -7,18 +7,18 @@ buildGoModule rec { pname = "pv-migrate"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "utkuozdemir"; repo = pname; tag = "v${version}"; - sha256 = "sha256-yYY3UgqHdFXoGj6n4kY45J/2QujPboWucnmbbXjjhRM="; + sha256 = "sha256-ZCNOg2HZjcEEM+hsAOtRR6hYmoKLyThpIw3warnravc="; }; subPackages = [ "cmd/pv-migrate" ]; - vendorHash = "sha256-wMlwfWMrjvo+9VUt8ZUcYHrsa9NOZhCj6LArdqXVCI4="; + vendorHash = "sha256-V1IR9teiJeCqekKgTShOEZhtlBbtsnp6eZe6A7q6EAQ="; ldflags = [ "-s" From 475df86da3c5f99245874b6a07ec28c809f33545 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 21:33:44 +0000 Subject: [PATCH 122/272] lua-language-server: 3.13.6 -> 3.13.9 --- pkgs/by-name/lu/lua-language-server/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/lu/lua-language-server/package.nix b/pkgs/by-name/lu/lua-language-server/package.nix index 38509eed727d..923b0a1fc417 100644 --- a/pkgs/by-name/lu/lua-language-server/package.nix +++ b/pkgs/by-name/lu/lua-language-server/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "lua-language-server"; - version = "3.13.6"; + version = "3.13.9"; src = fetchFromGitHub { owner = "luals"; repo = "lua-language-server"; tag = finalAttrs.version; - hash = "sha256-LaetDI9kNPRY4+m3gSsh6vbysRjUKHl+zunuyedjZGY="; + hash = "sha256-zttTtMAeBsHBqgDm3CAvp54Tp2bfQUhk5/lKgKWUeJY="; fetchSubmodules = true; }; From 9d4285468a9471cf864e7b17833e5705b19a5b65 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Tue, 18 Mar 2025 14:21:33 -0700 Subject: [PATCH 123/272] python3Packages.langchain*: relex dependency on langchain-core --- pkgs/development/python-modules/langchain-aws/default.nix | 3 +++ .../langchain-azure-dynamic-sessions/default.nix | 6 ++++++ .../python-modules/langchain-chroma/default.nix | 7 ++++++- .../python-modules/langchain-community/default.nix | 7 +++++-- pkgs/development/python-modules/langchain-groq/default.nix | 6 +++++- .../python-modules/langchain-huggingface/default.nix | 6 ++++++ .../python-modules/langchain-mongodb/default.nix | 3 +++ .../python-modules/langchain-ollama/default.nix | 6 ++++++ .../python-modules/langchain-openai/default.nix | 6 ++++++ .../development/python-modules/langchain-tests/default.nix | 7 +++++++ .../python-modules/langchain-text-splitters/default.nix | 6 ++++++ pkgs/development/python-modules/langchain/default.nix | 3 +++ 12 files changed, 62 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix index d3f998ee2963..9d4e9699b622 100644 --- a/pkgs/development/python-modules/langchain-aws/default.nix +++ b/pkgs/development/python-modules/langchain-aws/default.nix @@ -53,6 +53,9 @@ buildPythonPackage rec { pythonRelaxDeps = [ # Boto @ 1.35 has outstripped the version requirement "boto3" + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" ]; nativeCheckInputs = [ diff --git a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix index c507d23e3c62..1cdafa14137e 100644 --- a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix +++ b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix @@ -42,6 +42,12 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + ]; + dependencies = [ azure-identity langchain-core diff --git a/pkgs/development/python-modules/langchain-chroma/default.nix b/pkgs/development/python-modules/langchain-chroma/default.nix index 76c72230c089..0895fcb5ca17 100644 --- a/pkgs/development/python-modules/langchain-chroma/default.nix +++ b/pkgs/development/python-modules/langchain-chroma/default.nix @@ -30,7 +30,12 @@ buildPythonPackage rec { build-system = [ pdm-backend ]; - pythonRelaxDeps = [ "numpy" ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + "numpy" + ]; dependencies = [ chromadb diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix index 3b598546128e..658051ffe119 100644 --- a/pkgs/development/python-modules/langchain-community/default.nix +++ b/pkgs/development/python-modules/langchain-community/default.nix @@ -57,7 +57,10 @@ buildPythonPackage rec { ]; pythonRelaxDeps = [ - "langchain" # Can fail during updates where building sees the old langchain + # Each component release requests the exact latest langchain and -core. + # That prevents us from updating individul components. + "langchain" + "langchain-core" "numpy" "pydantic-settings" "tenacity" @@ -122,7 +125,7 @@ buildPythonPackage rec { passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex" - "^langchain-community==([0-9.]+)$" + "^langchain-community==(.*)" ]; }; # updates the wrong fetcher rev attribute diff --git a/pkgs/development/python-modules/langchain-groq/default.nix b/pkgs/development/python-modules/langchain-groq/default.nix index 5a62185b0f73..70e6b6cf1a3b 100644 --- a/pkgs/development/python-modules/langchain-groq/default.nix +++ b/pkgs/development/python-modules/langchain-groq/default.nix @@ -32,7 +32,11 @@ buildPythonPackage rec { build-system = [ pdm-backend ]; - pythonRelaxDeps = [ "langchain-core" ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + ]; dependencies = [ langchain-core diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix index c88eb502085e..b935a8466edb 100644 --- a/pkgs/development/python-modules/langchain-huggingface/default.nix +++ b/pkgs/development/python-modules/langchain-huggingface/default.nix @@ -45,6 +45,12 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + ]; + dependencies = [ huggingface-hub langchain-core diff --git a/pkgs/development/python-modules/langchain-mongodb/default.nix b/pkgs/development/python-modules/langchain-mongodb/default.nix index a8356221aabe..9cf8fe7873a1 100644 --- a/pkgs/development/python-modules/langchain-mongodb/default.nix +++ b/pkgs/development/python-modules/langchain-mongodb/default.nix @@ -38,6 +38,9 @@ buildPythonPackage rec { build-system = [ poetry-core ]; pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" "numpy" ]; diff --git a/pkgs/development/python-modules/langchain-ollama/default.nix b/pkgs/development/python-modules/langchain-ollama/default.nix index dca1132a9851..1b6036c5a254 100644 --- a/pkgs/development/python-modules/langchain-ollama/default.nix +++ b/pkgs/development/python-modules/langchain-ollama/default.nix @@ -35,6 +35,12 @@ buildPythonPackage rec { build-system = [ poetry-core ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + ]; + dependencies = [ langchain-core ollama diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix index f126f6b4a87a..b3e50d9dd9ed 100644 --- a/pkgs/development/python-modules/langchain-openai/default.nix +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -48,6 +48,12 @@ buildPythonPackage rec { build-system = [ pdm-backend ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + ]; + dependencies = [ langchain-core openai diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix index dfb53f3a78aa..ce54f2ffdcef 100644 --- a/pkgs/development/python-modules/langchain-tests/default.nix +++ b/pkgs/development/python-modules/langchain-tests/default.nix @@ -38,6 +38,13 @@ buildPythonPackage rec { build-system = [ pdm-backend ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + "numpy" + ]; + dependencies = [ httpx langchain-core diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index cc9b83f69c13..b376a8d98885 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -32,6 +32,12 @@ buildPythonPackage rec { build-system = [ pdm-backend ]; + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" + ]; + dependencies = [ langchain-core ]; pythonImportsCheck = [ "langchain_text_splitters" ]; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index df273af85d92..9150b4dd98c9 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -63,6 +63,9 @@ buildPythonPackage rec { buildInputs = [ bash ]; pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individul components. + "langchain-core" "numpy" "tenacity" ]; From 87fde3eac4111985c3cb7e6e14691692c448f76a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 21:57:32 +0000 Subject: [PATCH 124/272] python312Packages.python-gvm: 26.1.0 -> 26.1.1 --- pkgs/development/python-modules/python-gvm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/python-gvm/default.nix b/pkgs/development/python-modules/python-gvm/default.nix index bd5e4f1c5cef..6c5cc05e4969 100644 --- a/pkgs/development/python-modules/python-gvm/default.nix +++ b/pkgs/development/python-modules/python-gvm/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "python-gvm"; - version = "26.1.0"; + version = "26.1.1"; pyproject = true; disabled = pythonOlder "3.9"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "greenbone"; repo = "python-gvm"; tag = "v${version}"; - hash = "sha256-0PCSocvykYWkVLXcYNnRo/pVlgKMBRbqtr0uB1y4onU="; + hash = "sha256-NslJHSNFVaUJhUXFUPeJ/S1zIpQmaKrXgQGjKOQJw2k="; }; build-system = [ poetry-core ]; From 9278eeb19b930355a372490b9fec7ebad29a0d74 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 21:59:35 +0000 Subject: [PATCH 125/272] python312Packages.scikit-posthocs: 0.11.2 -> 0.11.3 --- pkgs/development/python-modules/scikit-posthocs/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/scikit-posthocs/default.nix b/pkgs/development/python-modules/scikit-posthocs/default.nix index feffc4ddf6ed..bd110fd6ce04 100644 --- a/pkgs/development/python-modules/scikit-posthocs/default.nix +++ b/pkgs/development/python-modules/scikit-posthocs/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "scikit-posthocs"; - version = "0.11.2"; + version = "0.11.3"; pyproject = true; src = fetchFromGitHub { owner = "maximtrp"; repo = "scikit-posthocs"; tag = "v${version}"; - hash = "sha256-ChYBjT7xeAiKJFRI9ov4vOGucy0aK0j/0dndNs4ewBo="; + hash = "sha256-mK0O3cXBSXW/j/CqdYviYKJyj8SFSHoj6LK2CisIDmI="; }; build-system = [ setuptools ]; @@ -46,7 +46,7 @@ buildPythonPackage rec { meta = with lib; { description = "Multiple Pairwise Comparisons (Post Hoc) Tests in Python"; homepage = "https://github.com/maximtrp/scikit-posthocs"; - changelog = "https://github.com/maximtrp/scikit-posthocs/releases/tag/v${version}"; + changelog = "https://github.com/maximtrp/scikit-posthocs/releases/tag/${src.tag}"; license = licenses.mit; maintainers = with maintainers; [ mbalatsko ]; }; From 8e00dd582c9c054ce90b06b1e0c41ab19f543b94 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 18 Mar 2025 23:21:24 +0100 Subject: [PATCH 126/272] apptainer: 1.3.6 -> 1.4.0 Diff: https://github.com/apptainer/apptainer/compare/v1.3.6...v1.4.0 Changelog: https://github.com/apptainer/apptainer/releases/tag/v1.4.0 --- pkgs/applications/virtualization/singularity/packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/virtualization/singularity/packages.nix b/pkgs/applications/virtualization/singularity/packages.nix index 2c7690864456..0866cce66a4b 100644 --- a/pkgs/applications/virtualization/singularity/packages.nix +++ b/pkgs/applications/virtualization/singularity/packages.nix @@ -9,19 +9,19 @@ let callPackage (import ./generic.nix rec { pname = "apptainer"; - version = "1.3.6"; + version = "1.4.0"; projectName = "apptainer"; src = fetchFromGitHub { owner = "apptainer"; repo = "apptainer"; tag = "v${version}"; - hash = "sha256-ZdSo9bKZ7Q1xwMe4SR840U3+fVpKwtiZQA5KDM5qF9M="; + hash = "sha256-whitdwFOvQgRS9lwbsWhhm92+i1qGW+OFOreNSyvldk="; }; # Override vendorHash with overrideAttrs. # See https://nixos.org/manual/nixpkgs/unstable/#buildGoModule-vendorHash - vendorHash = "sha256-W853++SSvkAYYUczbl8vnoBQZnimUdsAEXp4MCkLPBU="; + vendorHash = "sha256-HP5XJ74ELaZT/bZgAPqe7vBPvJhHwyZVSNrUa+KToIE="; extraDescription = " (previously known as Singularity)"; extraMeta.homepage = "https://apptainer.org"; From 209c6d3e7f3908c514890821d49ff644dfb4f022 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 18 Mar 2025 23:35:38 +0100 Subject: [PATCH 127/272] python313Packages.pytest-notebook: disable failing test on python 3.13 --- .../pytest-notebook/default.nix | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/pkgs/development/python-modules/pytest-notebook/default.nix b/pkgs/development/python-modules/pytest-notebook/default.nix index 66543ed586b5..8a37e716f31c 100644 --- a/pkgs/development/python-modules/pytest-notebook/default.nix +++ b/pkgs/development/python-modules/pytest-notebook/default.nix @@ -24,6 +24,7 @@ pytest-regressions, pytestCheckHook, writableTmpDirAsHomeHook, + pythonAtLeast, }: buildPythonPackage rec { @@ -69,18 +70,23 @@ buildPythonPackage rec { writableTmpDirAsHomeHook ]; - disabledTests = [ - # AssertionError: FILES DIFFER: - "test_diff_to_string" + disabledTests = + [ + # AssertionError: FILES DIFFER: + "test_diff_to_string" - # pytest_notebook.execution.CoverageError: An error occurred while executing coverage start-up - # TypeError: expected str, bytes or os.PathLike object, not NoneType - "test_execute_notebook_with_coverage" - "test_regression_coverage" + # pytest_notebook.execution.CoverageError: An error occurred while executing coverage start-up + # TypeError: expected str, bytes or os.PathLike object, not NoneType + "test_execute_notebook_with_coverage" + "test_regression_coverage" - # pytest_notebook.nb_regression.NBRegressionError - "test_regression_regex_replace_pass" - ]; + # pytest_notebook.nb_regression.NBRegressionError + "test_regression_regex_replace_pass" + ] + ++ lib.optionals (pythonAtLeast "3.13") [ + # AssertionError: FILES DIFFER: + "test_documentation" + ]; __darwinAllowLocalNetworking = true; From 2463284c0898838f2a726a45489e3e23e45984fd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 22:40:14 +0000 Subject: [PATCH 128/272] zed-editor: 0.177.9 -> 0.177.11 --- 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 51218cf5c6e1..00d08aae391c 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -98,7 +98,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.177.9"; + version = "0.177.11"; outputs = [ "out" ] @@ -110,7 +110,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-E8gIM8Jsxq7GvNZI4fDYzBMi1uqsxl0mYv2kxjwUFHc="; + hash = "sha256-cnzaW0paORio8AONtVVGUZWG+HsWte12aWK2qvfj8oI="; }; patches = [ @@ -136,7 +136,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; useFetchCargoVendor = true; - cargoHash = "sha256-7qSymOFLR/hEJx0dxkp7YsDyPLP6KVCf8yE0rkx5+w4="; + cargoHash = "sha256-Hl5QWU9yKXedQFVd60Fz5O7B2e/YUqj3BLNmqC44UP0="; nativeBuildInputs = [ From 239620618768ab6268e2875575f3b65978bb9e7f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 22:44:04 +0000 Subject: [PATCH 129/272] kubevpn: 2.3.13 -> 2.4.1 --- pkgs/by-name/ku/kubevpn/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ku/kubevpn/package.nix b/pkgs/by-name/ku/kubevpn/package.nix index 8d6325c45723..84ebe5b2e068 100644 --- a/pkgs/by-name/ku/kubevpn/package.nix +++ b/pkgs/by-name/ku/kubevpn/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "kubevpn"; - version = "2.3.13"; + version = "2.4.1"; src = fetchFromGitHub { owner = "KubeNetworks"; repo = "kubevpn"; rev = "v${version}"; - hash = "sha256-/b4JOWU4WZgkUUiOSox/ly3t8Ehp1dAY6kVyDabjMFE="; + hash = "sha256-IZna+DOavIkhGuNfVq31Hvuq5J0rylCAmNActjbA/io="; }; vendorHash = null; From c30c1f801aac2147cb0f1100a15577af7e01a17d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 22:48:36 +0000 Subject: [PATCH 130/272] sentry-cli: 2.42.2 -> 2.42.3 --- pkgs/development/tools/sentry-cli/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix index c6a6672b0c74..48a0933ee61c 100644 --- a/pkgs/development/tools/sentry-cli/default.nix +++ b/pkgs/development/tools/sentry-cli/default.nix @@ -11,13 +11,13 @@ }: rustPlatform.buildRustPackage rec { pname = "sentry-cli"; - version = "2.42.2"; + version = "2.42.3"; src = fetchFromGitHub { owner = "getsentry"; repo = "sentry-cli"; rev = version; - hash = "sha256-2ef94xCBSk/WM/wNCZbKMn6Cx6owxKhHoE5cAlrHLB4="; + hash = "sha256-frqKGDkDFTG53B5AdJMz2UYnIe6fRQFcFejvFPO0LTg="; }; doCheck = false; @@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec { nativeBuildInputs = [ installShellFiles pkg-config ]; useFetchCargoVendor = true; - cargoHash = "sha256-IvQEQ1TN1NEZ6KLMyxujP5AYMV0xJ1sGmZiY9p2HJus="; + cargoHash = "sha256-E7tvg5bm3XwbrTi3BCOZGJajHE6xuy/+uv21AvG6kgs="; postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' installShellCompletion --cmd sentry-cli \ From 7d55b8a221127f90d5b0561ea663dc42e1457afc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 23:25:54 +0000 Subject: [PATCH 131/272] toxiproxy: 2.11.0 -> 2.12.0 --- pkgs/by-name/to/toxiproxy/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/toxiproxy/package.nix b/pkgs/by-name/to/toxiproxy/package.nix index 104399ce64f1..b4ea12ad2178 100644 --- a/pkgs/by-name/to/toxiproxy/package.nix +++ b/pkgs/by-name/to/toxiproxy/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "toxiproxy"; - version = "2.11.0"; + version = "2.12.0"; src = fetchFromGitHub { owner = "Shopify"; repo = "toxiproxy"; rev = "v${version}"; - sha256 = "sha256-1z4a69KnBurTrudqXiOPgrlICICu1ts86WrnFUlRWXE="; + sha256 = "sha256-CqJr3h2n+fzN6Ves38H7fYXd5vlpDVfF3kg4Tr8ThPc="; }; - vendorHash = "sha256-LQV+TFFcrq4Px580yOWU+8EuGt/7bFJYi35He2es6Q8="; + vendorHash = "sha256-4nKWTjB9aV5ILgHVceV76Ip0byBxlEY5TTAQwNLvL2s="; excludedPackages = [ "test/e2e" ]; From d4b4506b77aab1a3a370cf75cf6fe517d813b208 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Tue, 18 Mar 2025 18:08:04 -0500 Subject: [PATCH 132/272] vimPlugins: fix override sorting --- .../editors/vim/plugins/overrides.nix | 500 +++++++++--------- 1 file changed, 249 insertions(+), 251 deletions(-) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index c81e450df2e7..4222d63f1e85 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -6,7 +6,6 @@ buildVimPlugin, callPackage, fetchFromGitHub, - fetchFromSourcehut, fetchpatch, fetchurl, neovimUtils, @@ -158,14 +157,6 @@ in ####################### # Regular overrides - aerial-nvim = super.aerial-nvim.overrideAttrs { - # optional dependencies - nvimSkipModule = [ - "lualine.components.aerial" - "telescope._extensions.aerial" - ]; - }; - advanced-git-search-nvim = super.advanced-git-search-nvim.overrideAttrs { dependencies = with self; [ telescope-nvim @@ -176,6 +167,14 @@ in ]; }; + aerial-nvim = super.aerial-nvim.overrideAttrs { + # optional dependencies + nvimSkipModule = [ + "lualine.components.aerial" + "telescope._extensions.aerial" + ]; + }; + agitator-nvim = super.agitator-nvim.overrideAttrs { dependencies = with self; [ telescope-nvim @@ -183,6 +182,16 @@ in ]; }; + aider-nvim = super.aider-nvim.overrideAttrs { + patches = [ + (replaceVars ./patches/aider-nvim/bin.patch { aider = lib.getExe' aider-chat "aider"; }) + ]; + }; + + animation-nvim = super.animation-nvim.overrideAttrs { + dependencies = [ self.middleclass ]; + }; + astrocore = super.astrocore.overrideAttrs { dependencies = [ self.lazy-nvim ]; }; @@ -200,10 +209,6 @@ in ]; }; - animation-nvim = super.animation-nvim.overrideAttrs { - dependencies = [ self.middleclass ]; - }; - autosave-nvim = super.autosave-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; }; @@ -296,6 +301,10 @@ in dependencies = [ self.plenary-nvim ]; }; + blink-cmp-git = super.blink-cmp-git.overrideAttrs { + dependencies = [ self.plenary-nvim ]; + }; + blink-emoji-nvim = super.blink-emoji-nvim.overrideAttrs { dependencies = [ self.blink-cmp ]; }; @@ -304,10 +313,6 @@ in dependencies = [ self.blink-cmp ]; }; - blink-cmp-git = super.blink-cmp-git.overrideAttrs { - dependencies = [ self.plenary-nvim ]; - }; - blink-pairs = callPackage ./non-generated/blink-pairs { }; bluloco-nvim = super.bluloco-nvim.overrideAttrs { @@ -578,6 +583,10 @@ in dependencies = [ self.vim-lsp ]; }; + cmp-vimtex = super.cmp-vimtex.overrideAttrs { + checkInputs = [ self.nvim-cmp ]; + }; + cmp-vimwiki-tags = super.cmp-vimwiki-tags.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = [ self.vimwiki ]; @@ -587,10 +596,6 @@ in checkInputs = [ self.nvim-cmp ]; }; - cmp-vimtex = super.cmp-vimtex.overrideAttrs { - checkInputs = [ self.nvim-cmp ]; - }; - cmp-zsh = super.cmp-zsh.overrideAttrs { checkInputs = [ self.nvim-cmp ]; dependencies = [ zsh ]; @@ -946,29 +951,14 @@ in dependencies = [ self.ddc-vim ]; }; - ddc-source-lsp = super.ddc-source-lsp.overrideAttrs { - dependencies = [ self.ddc-vim ]; - }; - - ddc-vim = super.ddc-vim.overrideAttrs { - dependencies = [ self.denops-vim ]; - }; - ddc-filter-sorter_rank = super.ddc-filter-sorter_rank.overrideAttrs { dependencies = [ self.ddc-vim ]; }; - ddc-ui-native = super.ddc-ui-native.overrideAttrs { + ddc-fuzzy = super.ddc-fuzzy.overrideAttrs { dependencies = [ self.ddc-vim ]; }; - ddc-ui-pum = super.ddc-ui-pum.overrideAttrs { - dependencies = with self; [ - ddc-vim - pum-vim - ]; - }; - ddc-source-around = super.ddc-source-around.overrideAttrs { dependencies = [ self.ddc-vim ]; }; @@ -977,10 +967,25 @@ in dependencies = [ self.ddc-vim ]; }; - ddc-fuzzy = super.ddc-fuzzy.overrideAttrs { + ddc-source-lsp = super.ddc-source-lsp.overrideAttrs { dependencies = [ self.ddc-vim ]; }; + ddc-ui-pum = super.ddc-ui-pum.overrideAttrs { + dependencies = with self; [ + ddc-vim + pum-vim + ]; + }; + + ddc-ui-native = super.ddc-ui-native.overrideAttrs { + dependencies = [ self.ddc-vim ]; + }; + + ddc-vim = super.ddc-vim.overrideAttrs { + dependencies = [ self.denops-vim ]; + }; + defx-nvim = super.defx-nvim.overrideAttrs { dependencies = [ self.nvim-yarp ]; }; @@ -1196,18 +1201,6 @@ in ''; }); - fuzzy-nvim = super.fuzzy-nvim.overrideAttrs { - checkInputs = with self; [ - # Optional sorters - telescope-zf-native-nvim - ]; - dependencies = [ self.telescope-fzf-native-nvim ]; - nvimSkipModule = [ - # TODO: package fzy-lua-native - "fuzzy_nvim.fzy_matcher" - ]; - }; - fugit2-nvim = super.fugit2-nvim.overrideAttrs { # Requires web-devicons but mini.icons can mock them up checkInputs = [ @@ -1226,6 +1219,18 @@ in ''; }; + fuzzy-nvim = super.fuzzy-nvim.overrideAttrs { + checkInputs = with self; [ + # Optional sorters + telescope-zf-native-nvim + ]; + dependencies = [ self.telescope-fzf-native-nvim ]; + nvimSkipModule = [ + # TODO: package fzy-lua-native + "fuzzy_nvim.fzy_matcher" + ]; + }; + fzf-checkout-vim = super.fzf-checkout-vim.overrideAttrs { # The plugin has a makefile which tries to run tests in a docker container. # This prevents it. @@ -1288,6 +1293,18 @@ in dependencies = [ self.plenary-nvim ]; }; + git-conflict-nvim = super.git-conflict-nvim.overrideAttrs { + # TODO: Remove after next fixed version + # https://github.com/akinsho/git-conflict.nvim/issues/103 + version = "2.1.0"; + src = fetchFromGitHub { + owner = "akinsho"; + repo = "git-conflict.nvim"; + tag = "v2.1.0"; + hash = "sha256-1t0kKxTGLuOvuRkoLgkoqMZpF+oKo8+gMsTdgPsSb+8="; + }; + }; + git-worktree-nvim = super.git-worktree-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; }; @@ -1363,14 +1380,14 @@ in ]; }; - haskell-snippets-nvim = super.haskell-snippets-nvim.overrideAttrs { - dependencies = [ self.luasnip ]; - }; - haskell-scope-highlighting-nvim = super.haskell-scope-highlighting-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter ]; }; + haskell-snippets-nvim = super.haskell-snippets-nvim.overrideAttrs { + dependencies = [ self.luasnip ]; + }; + haskell-tools-nvim = neovimUtils.buildNeovimPlugin { luaAttr = luaPackages.haskell-tools-nvim; nvimSkipModule = [ @@ -1533,13 +1550,6 @@ in ]; }; - lean-nvim = super.lean-nvim.overrideAttrs { - dependencies = with self; [ - nvim-lspconfig - plenary-nvim - ]; - }; - LeaderF = super.LeaderF.overrideAttrs { nativeBuildInputs = [ python3.pkgs.setuptools ]; buildInputs = [ python3 ]; @@ -1553,6 +1563,13 @@ in stripDebugList = [ "autoload/leaderf/python" ]; }; + lean-nvim = super.lean-nvim.overrideAttrs { + dependencies = with self; [ + nvim-lspconfig + plenary-nvim + ]; + }; + leap-ast-nvim = super.leap-ast-nvim.overrideAttrs { dependencies = with self; [ leap-nvim @@ -1663,12 +1680,6 @@ in dependencies = [ self.nvim-lspconfig ]; }; - lsp_extensions-nvim = super.lsp_extensions-nvim.overrideAttrs { - dependencies = [ self.plenary-nvim ]; - }; - - lsp_lines-nvim = callPackage ./non-generated/lsp_lines-nvim { }; - lspecho-nvim = super.lspecho-nvim.overrideAttrs { meta.license = lib.licenses.mit; }; @@ -1678,6 +1689,12 @@ in nvimRequireCheck = "lspsaga"; }; + lsp_extensions-nvim = super.lsp_extensions-nvim.overrideAttrs { + dependencies = [ self.plenary-nvim ]; + }; + + lsp_lines-nvim = callPackage ./non-generated/lsp_lines-nvim { }; + ltex_extra-nvim = super.ltex_extra-nvim.overrideAttrs { # Other modules require setup call first nvimRequireCheck = "ltex_extra"; @@ -1806,18 +1823,6 @@ in ''; }; - git-conflict-nvim = super.git-conflict-nvim.overrideAttrs { - # TODO: Remove after next fixed version - # https://github.com/akinsho/git-conflict.nvim/issues/103 - version = "2.1.0"; - src = fetchFromGitHub { - owner = "akinsho"; - repo = "git-conflict.nvim"; - tag = "v2.1.0"; - hash = "sha256-1t0kKxTGLuOvuRkoLgkoqMZpF+oKo8+gMsTdgPsSb+8="; - }; - }; - minimap-vim = super.minimap-vim.overrideAttrs { preFixup = '' substituteInPlace $out/plugin/minimap.vim \ @@ -2229,11 +2234,11 @@ in dependencies = [ self.plenary-nvim ]; }; - notmuch-vim = notmuch.vim; - NotebookNavigator-nvim = super.NotebookNavigator-nvim.overrideAttrs { }; + notmuch-vim = notmuch.vim; + nterm-nvim = super.nterm-nvim.overrideAttrs { dependencies = [ self.aniseed ]; }; @@ -2296,12 +2301,6 @@ in dependencies = [ self.plenary-nvim ]; }; - nvim-dap-cortex-debug = super.nvim-dap-cortex-debug.overrideAttrs { - dependencies = [ self.nvim-dap ]; - }; - - nvim-dbee = callPackage ./non-generated/nvim-dbee { }; - nvim-coverage = super.nvim-coverage.overrideAttrs { dependencies = with self; [ neotest @@ -2313,6 +2312,10 @@ in ]; }; + nvim-dap-cortex-debug = super.nvim-dap-cortex-debug.overrideAttrs { + dependencies = [ self.nvim-dap ]; + }; + nvim-dap-lldb = super.nvim-dap-lldb.overrideAttrs { dependencies = [ self.nvim-dap ]; }; @@ -2342,16 +2345,18 @@ in dependencies = [ self.nvim-dap ]; }; + nvim-dbee = callPackage ./non-generated/nvim-dbee { }; + + nvim-FeMaco-lua = super.nvim-FeMaco-lua.overrideAttrs { + dependencies = [ self.nvim-treesitter ]; + }; + nvim-fzf-commands = super.nvim-fzf-commands.overrideAttrs { dependencies = [ self.nvim-fzf ]; # Requires global variable setup nvim_fzf_directory nvimSkipModule = "fzf-commands.rg"; }; - nvim-FeMaco-lua = super.nvim-FeMaco-lua.overrideAttrs { - dependencies = [ self.nvim-treesitter ]; - }; - nvim-genghis = super.nvim-genghis.overrideAttrs { dependencies = [ self.dressing-nvim ]; @@ -2428,6 +2433,9 @@ in nvim-navic ]; }; + nvim-navic = super.nvim-navic.overrideAttrs { + dependencies = [ self.nvim-lspconfig ]; + }; nvim-neoclip-lua = super.nvim-neoclip-lua.overrideAttrs { nvimSkipModule = [ @@ -2442,6 +2450,11 @@ in checkInputs = [ self.nvim-web-devicons ]; }; + nvim-notify = super.nvim-notify.overrideAttrs { + # Optional fzf integration + nvimSkipModule = "notify.integrations.fzf"; + }; + nvim-nu = super.nvim-nu.overrideAttrs { dependencies = with self; [ nvim-treesitter @@ -2449,19 +2462,6 @@ in ]; }; - vim-mediawiki-editor = super.vim-mediawiki-editor.overrideAttrs { - passthru.python3Dependencies = [ python3.pkgs.mwclient ]; - }; - - nvim-navic = super.nvim-navic.overrideAttrs { - dependencies = [ self.nvim-lspconfig ]; - }; - - nvim-notify = super.nvim-notify.overrideAttrs { - # Optional fzf integration - nvimSkipModule = "notify.integrations.fzf"; - }; - nvim-paredit = super.nvim-paredit.overrideAttrs { dependencies = with self; [ nvim-treesitter ]; }; @@ -2497,6 +2497,29 @@ in vimCommandCheck = "TealBuild"; }; + nvim-test = super.nvim-test.overrideAttrs { + dependencies = with self; [ + nvim-treesitter + nvim-treesitter-parsers.c_sharp + nvim-treesitter-parsers.go + nvim-treesitter-parsers.haskell + nvim-treesitter-parsers.javascript + nvim-treesitter-parsers.python + nvim-treesitter-parsers.ruby + nvim-treesitter-parsers.rust + nvim-treesitter-parsers.typescript + nvim-treesitter-parsers.zig + ]; + nvimSkipModule = [ + # Optional toggleterm integration + "nvim-test.terms.toggleterm" + # Broken runners + "nvim-test.runners.zig" + "nvim-test.runners.hspec" + "nvim-test.runners.stack" + ]; + }; + nvim-tree-lua = super.nvim-tree-lua.overrideAttrs { nvimSkipModule = [ # Meta can't be required @@ -2548,29 +2571,6 @@ in dependencies = [ self.nvim-treesitter ]; }; - nvim-test = super.nvim-test.overrideAttrs { - dependencies = with self; [ - nvim-treesitter - nvim-treesitter-parsers.c_sharp - nvim-treesitter-parsers.go - nvim-treesitter-parsers.haskell - nvim-treesitter-parsers.javascript - nvim-treesitter-parsers.python - nvim-treesitter-parsers.ruby - nvim-treesitter-parsers.rust - nvim-treesitter-parsers.typescript - nvim-treesitter-parsers.zig - ]; - nvimSkipModule = [ - # Optional toggleterm integration - "nvim-test.terms.toggleterm" - # Broken runners - "nvim-test.runners.zig" - "nvim-test.runners.hspec" - "nvim-test.runners.stack" - ]; - }; - nvim-ufo = super.nvim-ufo.overrideAttrs { dependencies = [ self.promise-async ]; }; @@ -2590,6 +2590,10 @@ in dependencies = [ self.nvzone-volt ]; }; + nvzone-typr = super.nvzone-typr.overrideAttrs { + dependencies = [ self.nvzone-volt ]; + }; + obsidian-nvim = super.obsidian-nvim.overrideAttrs { checkInputs = with self; [ # Optional pickers @@ -2615,10 +2619,6 @@ in dependencies = [ self.plenary-nvim ]; }; - onehalf = super.onehalf.overrideAttrs { - configurePhase = "cd vim"; - }; - omni-vim = super.omni-vim.overrideAttrs { # Optional lightline integration nvimSkipModule = "omni-lightline"; @@ -2634,6 +2634,10 @@ in ]; }; + onehalf = super.onehalf.overrideAttrs { + configurePhase = "cd vim"; + }; + one-nvim = super.one-nvim.overrideAttrs { # E5108: /lua/one-nvim.lua:14: Unknown option 't_Co' # https://github.com/Th3Whit3Wolf/one-nvim/issues/23 @@ -2785,6 +2789,17 @@ in ]; }; + quarto-nvim = super.quarto-nvim.overrideAttrs { + checkInputs = [ + # Optional runner + self.iron-nvim + ]; + dependencies = with self; [ + nvim-lspconfig + otter-nvim + ]; + }; + quicker-nvim = super.quicker-nvim.overrideAttrs { }; @@ -2802,12 +2817,6 @@ in ''; }; - aider-nvim = super.aider-nvim.overrideAttrs { - patches = [ - (replaceVars ./patches/aider-nvim/bin.patch { aider = lib.getExe' aider-chat "aider"; }) - ]; - }; - refactoring-nvim = super.refactoring-nvim.overrideAttrs { dependencies = with self; [ nvim-treesitter @@ -2855,6 +2864,21 @@ in ]; }; + rocks-nvim = + (neovimUtils.buildNeovimPlugin { + luaAttr = luaPackages.rocks-nvim; + }).overrideAttrs + (oa: { + passthru = oa.passthru // { + initLua = '' + vim.g.rocks_nvim = { + luarocks_binary = "${neovim-unwrapped.lua.pkgs.luarocks_bootstrap}/bin/luarocks" + } + ''; + }; + + }); + rustaceanvim = neovimUtils.buildNeovimPlugin { checkInputs = [ # Optional integration @@ -3090,16 +3114,16 @@ in meta.maintainers = with lib.maintainers; [ callumio ]; }; - taskwarrior3 = buildVimPlugin { - inherit (taskwarrior3) version pname; - src = "${taskwarrior3.src}/scripts/vim"; - }; - taskwarrior2 = buildVimPlugin { inherit (taskwarrior2) version pname; src = "${taskwarrior2.src}/scripts/vim"; }; + taskwarrior3 = buildVimPlugin { + inherit (taskwarrior3) version pname; + src = "${taskwarrior3.src}/scripts/vim"; + }; + telekasten-nvim = super.telekasten-nvim.overrideAttrs { dependencies = with self; [ plenary-nvim @@ -3284,17 +3308,6 @@ in dependencies = with self; [ telescope-nvim ]; }; - quarto-nvim = super.quarto-nvim.overrideAttrs { - checkInputs = [ - # Optional runner - self.iron-nvim - ]; - dependencies = with self; [ - nvim-lspconfig - otter-nvim - ]; - }; - telescope-zoxide = super.telescope-zoxide.overrideAttrs { dependencies = with self; [ telescope-nvim ]; @@ -3344,6 +3357,11 @@ in dependencies = [ self.plenary-nvim ]; }; + trouble-nvim = super.trouble-nvim.overrideAttrs { + # Meta file + nvimSkipModule = "trouble.docs"; + }; + tsc-nvim = super.tsc-nvim.overrideAttrs { patches = [ ./patches/tsc.nvim/fix-path.patch ]; @@ -3355,11 +3373,6 @@ in nvimSkipModule = "tsc.better-messages-test"; }; - trouble-nvim = super.trouble-nvim.overrideAttrs { - # Meta file - nvimSkipModule = "trouble.docs"; - }; - tssorter-nvim = super.tssorter-nvim.overrideAttrs { dependencies = [ self.nvim-treesitter ]; }; @@ -3400,8 +3413,13 @@ in ]; }; - nvzone-typr = super.nvzone-typr.overrideAttrs { - dependencies = [ self.nvzone-volt ]; + typst-preview-nvim = super.typst-preview-nvim.overrideAttrs { + postPatch = '' + substituteInPlace lua/typst-preview/config.lua \ + --replace-fail "['tinymist'] = nil," "tinymist = '${lib.getExe tinymist}'," \ + --replace-fail "['websocat'] = nil," "websocat = '${lib.getExe websocat}'," + ''; + }; unicode-vim = @@ -3439,6 +3457,22 @@ in }; }; + vimacs = super.vimacs.overrideAttrs { + buildPhase = '' + substituteInPlace bin/vim \ + --replace-fail '/usr/bin/vim' 'vim' \ + --replace-fail '/usr/bin/gvim' 'gvim' + # remove unnecessary duplicated bin wrapper script + rm -r plugin/vimacs + ''; + meta = with lib; { + description = "Vim-Improved eMACS: Emacs emulation plugin for Vim"; + homepage = "http://algorithm.com.au/code/vimacs"; + license = licenses.gpl2Plus; + maintainers = with lib.maintainers; [ millerjason ]; + }; + }; + vimade = super.vimade.overrideAttrs { checkInputs = with self; [ # Optional providers @@ -3448,6 +3482,51 @@ in ]; }; + # The GitHub repository returns 404, which breaks the update script + VimCompletesMe = buildVimPlugin { + pname = "VimCompletesMe"; + version = "2022-02-18"; + src = fetchFromGitHub { + owner = "ackyshake"; + repo = "VimCompletesMe"; + rev = "9adf692d7ae6424038458a89d4a411f0a27d1388"; + sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0"; + }; + meta.homepage = "https://github.com/ackyshake/VimCompletesMe/"; + }; + + vim2nix = buildVimPlugin { + pname = "vim2nix"; + version = "1.0"; + src = ./vim2nix; + dependencies = [ self.vim-addon-manager ]; + }; + + vimsence = super.vimsence.overrideAttrs { + meta = with lib; { + description = "Discord rich presence for Vim"; + homepage = "https://github.com/hugolgst/vimsence"; + maintainers = with lib.maintainers; [ hugolgst ]; + }; + }; + + vimproc-vim = super.vimproc-vim.overrideAttrs { + buildInputs = [ which ]; + + # TODO: revisit + buildPhase = '' + substituteInPlace autoload/vimproc.vim \ + --replace-fail vimproc_mac.so vimproc_unix.so \ + --replace-fail vimproc_linux64.so vimproc_unix.so \ + --replace-fail vimproc_linux32.so vimproc_unix.so + make -f make_unix.mak + ''; + }; + + vimshell-vim = super.vimshell-vim.overrideAttrs { + dependencies = [ self.vimproc-vim ]; + }; + vim-addon-actions = super.vim-addon-actions.overrideAttrs { dependencies = with self; [ vim-addon-mw-utils @@ -3678,6 +3757,10 @@ in nvimSkipModule = "treesitter-matchup.third-party.query"; }; + vim-mediawiki-editor = super.vim-mediawiki-editor.overrideAttrs { + passthru.python3Dependencies = [ python3.pkgs.mwclient ]; + }; + vim-metamath = super.vim-metamath.overrideAttrs { preInstall = "cd vim"; }; @@ -3743,6 +3826,12 @@ in nvimSkipModule = "tpipeline.main"; }; + vim-ultest = super.vim-ultest.overrideAttrs { + # NOTE: vim-ultest is no longer maintained. + # If using Neovim, you can switch to using neotest (https://github.com/nvim-neotest/neotest) instead. + nvimSkipModule = "ultest"; + }; + vim-unimpaired = super.vim-unimpaired.overrideAttrs { dependencies = [ self.vim-repeat ]; }; @@ -3773,73 +3862,6 @@ in ''; }; - vim2nix = buildVimPlugin { - pname = "vim2nix"; - version = "1.0"; - src = ./vim2nix; - dependencies = [ self.vim-addon-manager ]; - }; - - vimacs = super.vimacs.overrideAttrs { - buildPhase = '' - substituteInPlace bin/vim \ - --replace-fail '/usr/bin/vim' 'vim' \ - --replace-fail '/usr/bin/gvim' 'gvim' - # remove unnecessary duplicated bin wrapper script - rm -r plugin/vimacs - ''; - meta = with lib; { - description = "Vim-Improved eMACS: Emacs emulation plugin for Vim"; - homepage = "http://algorithm.com.au/code/vimacs"; - license = licenses.gpl2Plus; - maintainers = with lib.maintainers; [ millerjason ]; - }; - }; - - # The GitHub repository returns 404, which breaks the update script - VimCompletesMe = buildVimPlugin { - pname = "VimCompletesMe"; - version = "2022-02-18"; - src = fetchFromGitHub { - owner = "ackyshake"; - repo = "VimCompletesMe"; - rev = "9adf692d7ae6424038458a89d4a411f0a27d1388"; - sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0"; - }; - meta.homepage = "https://github.com/ackyshake/VimCompletesMe/"; - }; - - vimsence = super.vimsence.overrideAttrs { - meta = with lib; { - description = "Discord rich presence for Vim"; - homepage = "https://github.com/hugolgst/vimsence"; - maintainers = with lib.maintainers; [ hugolgst ]; - }; - }; - - vimproc-vim = super.vimproc-vim.overrideAttrs { - buildInputs = [ which ]; - - # TODO: revisit - buildPhase = '' - substituteInPlace autoload/vimproc.vim \ - --replace-fail vimproc_mac.so vimproc_unix.so \ - --replace-fail vimproc_linux64.so vimproc_unix.so \ - --replace-fail vimproc_linux32.so vimproc_unix.so - make -f make_unix.mak - ''; - }; - - vimshell-vim = super.vimshell-vim.overrideAttrs { - dependencies = [ self.vimproc-vim ]; - }; - - vim-ultest = super.vim-ultest.overrideAttrs { - # NOTE: vim-ultest is no longer maintained. - # If using Neovim, you can switch to using neotest (https://github.com/nvim-neotest/neotest) instead. - nvimSkipModule = "ultest"; - }; - vim-zettel = super.vim-zettel.overrideAttrs { dependencies = with self; [ vimwiki @@ -3987,28 +4009,4 @@ in --replace-fail "'zoxide_executable', 'zoxide'" "'zoxide_executable', '${zoxide}/bin/zoxide'" ''; }; - - typst-preview-nvim = super.typst-preview-nvim.overrideAttrs { - postPatch = '' - substituteInPlace lua/typst-preview/config.lua \ - --replace-fail "['tinymist'] = nil," "tinymist = '${lib.getExe tinymist}'," \ - --replace-fail "['websocat'] = nil," "websocat = '${lib.getExe websocat}'," - ''; - - }; - - rocks-nvim = - (neovimUtils.buildNeovimPlugin { - luaAttr = luaPackages.rocks-nvim; - }).overrideAttrs - (oa: { - passthru = oa.passthru // { - initLua = '' - vim.g.rocks_nvim = { - luarocks_binary = "${neovim-unwrapped.lua.pkgs.luarocks_bootstrap}/bin/luarocks" - } - ''; - }; - - }); } From 13414b1d2d2397ff080fd520f1cbe916cc696222 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 23:45:09 +0000 Subject: [PATCH 133/272] pixelflasher: 7.11.1.0 -> 7.11.2.0 --- pkgs/by-name/pi/pixelflasher/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pi/pixelflasher/package.nix b/pkgs/by-name/pi/pixelflasher/package.nix index c946c22dbd0b..44793c11c3c3 100644 --- a/pkgs/by-name/pi/pixelflasher/package.nix +++ b/pkgs/by-name/pi/pixelflasher/package.nix @@ -10,14 +10,14 @@ }: python3Packages.buildPythonApplication rec { pname = "pixelflasher"; - version = "7.11.1.0"; + version = "7.11.2.0"; format = "other"; src = fetchFromGitHub { owner = "badabing2005"; repo = "PixelFlasher"; tag = "v${version}"; - hash = "sha256-1h0rHiYi3buLZjWFjJoTDWckeEBtZwFVRNscS3wsD3o="; + hash = "sha256-SwenOw1st8Pk2515wylNsfego5dH6WUC5ocnb6a4+e4="; }; desktopItems = [ From 0d9c02cd8892359fa991459a9f3be26464fbb333 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Moreira?= Date: Tue, 7 Jan 2025 18:14:14 -0300 Subject: [PATCH 134/272] kind-lang: init at 0.1.0.0-unstable-2024-12-09 Co-authored-by: maralorn Co-authored-by: Lukas Epple Co-authored-by: Lin Jian Co-authored-by: Emily Co-authored-by: Bryan Richter Co-authored-by: Niklas Korz Co-authored-by: Ilya K. Co-authored-by: Alexandre Esteves Co-authored-by: Arne Keller Co-authored-by: Gaetan Lepage REFERENCES - pkgs/by-name/ni/nixfmt-rfc-style - https://github.com/nixos/cabal2nix --- pkgs/by-name/ki/kind-lang/derivation.nix | 46 ++++++++++++++++++++++++ pkgs/by-name/ki/kind-lang/package.nix | 34 ++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 pkgs/by-name/ki/kind-lang/derivation.nix create mode 100644 pkgs/by-name/ki/kind-lang/package.nix diff --git a/pkgs/by-name/ki/kind-lang/derivation.nix b/pkgs/by-name/ki/kind-lang/derivation.nix new file mode 100644 index 000000000000..a2c55b89a043 --- /dev/null +++ b/pkgs/by-name/ki/kind-lang/derivation.nix @@ -0,0 +1,46 @@ +# CABAL2NIX AUTOGENERATED THIS FILE. +{ + mkDerivation, + ansi-terminal, + base, + containers, + directory, + fetchgit, + filepath, + hs-highlight, + lib, + mtl, + parsec, +}: +mkDerivation { + pname = "kind-lang"; + version = "0.1.0.0"; + src = fetchgit { + url = "https://github.com/higherorderco/kind.git"; + sha256 = "1g4pikxh42p3hikzyfzf11cs7zd1miaxapyf8pijdcxhpdx7wwl0"; + rev = "5cfff210b3aeed01ebd73b2364cf9e5d2df658af"; + fetchSubmodules = false; + }; + isLibrary = true; + isExecutable = true; + libraryHaskellDepends = [ + ansi-terminal + base + containers + directory + filepath + hs-highlight + mtl + parsec + ]; + executableHaskellDepends = [ + ansi-terminal + base + directory + filepath + hs-highlight + mtl + ]; + license = lib.licenses.mit; + mainProgram = "kind"; +} diff --git a/pkgs/by-name/ki/kind-lang/package.nix b/pkgs/by-name/ki/kind-lang/package.nix new file mode 100644 index 000000000000..613d310a5dfe --- /dev/null +++ b/pkgs/by-name/ki/kind-lang/package.nix @@ -0,0 +1,34 @@ +{ + haskell, + lib, +}: + +let + inherit (haskell.lib.compose) overrideCabal justStaticExecutables; + + # See kind-lang.cabal. GHC2024 >= ghc910. + ghcVersion = "ghc910"; + haskellPackages = haskell.packages.${ghcVersion}; + + overrides = rec { + version = "${raw-pkg.version}-unstable-2024-12-09"; + + postPatch = '' + sed -i -E \ + 's/([ ,]+[^ =]+)[ =^><]+[0-9.]+/\1/' \ + kind-lang.cabal + ''; + + # Test suite does nothing. + doCheck = false; + + maintainers = with lib.maintainers; [ joaomoreira ]; + }; + + # cabal2nix auto-generated derivation.nix. + raw-pkg = haskellPackages.callPackage ./derivation.nix { }; +in +lib.pipe raw-pkg [ + (overrideCabal overrides) + justStaticExecutables +] From 0d948d033040e96345e574667557a84eccade048 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Tue, 18 Mar 2025 23:50:21 +0000 Subject: [PATCH 135/272] shim-unsigned: 15.8 -> 16.0 --- pkgs/by-name/sh/shim-unsigned/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sh/shim-unsigned/package.nix b/pkgs/by-name/sh/shim-unsigned/package.nix index a6e7e8b34345..21811d3a422a 100644 --- a/pkgs/by-name/sh/shim-unsigned/package.nix +++ b/pkgs/by-name/sh/shim-unsigned/package.nix @@ -21,13 +21,13 @@ let in stdenv.mkDerivation rec { pname = "shim"; - version = "15.8"; + version = "16.0"; src = fetchFromGitHub { owner = "rhboot"; repo = "shim"; rev = version; - hash = "sha256-xnr9HBfYP035C7p2YTRZasx5SF4a2ZkOl9IpsVduNm4="; + hash = "sha256-KFpt//A4/T0FRBSPuTKQH/mEIqLVEiE+Lpvuq7ec6eo="; fetchSubmodules = true; }; From b1541dc9e4d63a343caba9fb5004f9528c4611cd Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:01:52 +0000 Subject: [PATCH 136/272] mod: 0.7.1 -> 0.8.0 --- pkgs/by-name/mo/mod/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/mo/mod/package.nix b/pkgs/by-name/mo/mod/package.nix index 2a866dbd54d5..3e631c81e2b9 100644 --- a/pkgs/by-name/mo/mod/package.nix +++ b/pkgs/by-name/mo/mod/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "mod"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "marwan-at-work"; repo = "mod"; rev = "v${version}"; - sha256 = "sha256-QkLARUN/NiN0D6VEhosdFJSce6DP+sWRWFwAEocZaOQ="; + sha256 = "sha256-P0FE0Sl4IXH6DAETnlBwQ2CR0X0AP9Z0noW99By7mxU="; }; - vendorHash = "sha256-5A4W99wcuXMWH0s+uykBWuKCxo8wr3GbTpUKj+Ql0os="; + vendorHash = "sha256-GiE2RNAxbKpIekn54bfYlNvIcQo8D3ysmPSvxQhujYI="; doCheck = false; From aecedd2d97f3d51823f9dc7dca8689b7518a9709 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:08:10 +0000 Subject: [PATCH 137/272] tealdeer: 1.7.1 -> 1.7.2 --- pkgs/by-name/te/tealdeer/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/te/tealdeer/package.nix b/pkgs/by-name/te/tealdeer/package.nix index acdb7c0095d1..27eb4d3fd6a7 100644 --- a/pkgs/by-name/te/tealdeer/package.nix +++ b/pkgs/by-name/te/tealdeer/package.nix @@ -7,17 +7,17 @@ rustPlatform.buildRustPackage rec { pname = "tealdeer"; - version = "1.7.1"; + version = "1.7.2"; src = fetchFromGitHub { owner = "dbrgn"; repo = "tealdeer"; rev = "v${version}"; - hash = "sha256-UYOAj6ft6FHQz06A+K2K+bK3WXQnF5U7TuN95WIXj+M="; + hash = "sha256-GZN7WE12f3MEoBfswag0O04UOCmZeYwt5CbYwddmwHs="; }; useFetchCargoVendor = true; - cargoHash = "sha256-gIJWHqJk0epsPJm1QNOpbvDC1a0d/6AfcNlaT824vWA="; + cargoHash = "sha256-Zk2L4cq7j9CkSc+cnZRWwhtfWP6y5faiMVGFFNkBwwA="; nativeBuildInputs = [ installShellFiles ]; From 720170e062060800c5dce640aeb8af034e8fce2b Mon Sep 17 00:00:00 2001 From: Silvio Ankermann Date: Thu, 14 Nov 2024 17:41:25 +0100 Subject: [PATCH 138/272] python3Packages.kubernetes-validate: init at 1.31.0 --- .../ku/kubernetes-validate/package.nix | 4 ++ .../ku/kubernetes-validate/unwrapped.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 62 insertions(+) create mode 100644 pkgs/by-name/ku/kubernetes-validate/package.nix create mode 100644 pkgs/by-name/ku/kubernetes-validate/unwrapped.nix diff --git a/pkgs/by-name/ku/kubernetes-validate/package.nix b/pkgs/by-name/ku/kubernetes-validate/package.nix new file mode 100644 index 000000000000..39a609259a14 --- /dev/null +++ b/pkgs/by-name/ku/kubernetes-validate/package.nix @@ -0,0 +1,4 @@ +{ + python3Packages, +}: +python3Packages.toPythonApplication python3Packages.kubernetes-validate diff --git a/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix b/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix new file mode 100644 index 000000000000..6f3cd6d0fa44 --- /dev/null +++ b/pkgs/by-name/ku/kubernetes-validate/unwrapped.nix @@ -0,0 +1,56 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + importlib-resources, + jsonschema, + packaging, + pyyaml, + referencing, + typing-extensions, + pytestCheckHook, + versionCheckHook, +}: +buildPythonPackage rec { + pname = "kubernetes-validate"; + version = "1.31.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "willthames"; + repo = "kubernetes-validate"; + tag = "v${version}"; + hash = "sha256-vxsftuipw0rHQIngxKlPHwBIW+rYAjfnEEaJDKmPyfQ="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + importlib-resources + jsonschema + packaging + pyyaml + referencing + typing-extensions + ]; + + nativeCheckInputs = [ + pytestCheckHook + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + + pythonImportsCheck = [ "kubernetes_validate" ]; + + meta = { + description = "Module to validate Kubernetes resource definitions against the declared Kubernetes schemas"; + homepage = "https://github.com/willthames/kubernetes-validate"; + changelog = "https://github.com/willthames/kubernetes-validate/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ lykos153 ]; + mainProgram = "kubernetes-validate"; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 85ac3492daa4..68997b2ec846 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7224,6 +7224,8 @@ self: super: with self; { kubernetes-asyncio = callPackage ../development/python-modules/kubernetes-asyncio { }; + kubernetes-validate = callPackage ../by-name/ku/kubernetes-validate/unwrapped.nix { }; + kurbopy = callPackage ../development/python-modules/kurbopy { }; l18n = callPackage ../development/python-modules/l18n { }; From d18c333d15a2f1427fa4f7f4adf4ab380e0810ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:17:51 +0000 Subject: [PATCH 139/272] qgroundcontrol: 4.4.3 -> 4.4.4 --- pkgs/by-name/qg/qgroundcontrol/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/qg/qgroundcontrol/package.nix b/pkgs/by-name/qg/qgroundcontrol/package.nix index 758642bb9130..cdc03f547e39 100644 --- a/pkgs/by-name/qg/qgroundcontrol/package.nix +++ b/pkgs/by-name/qg/qgroundcontrol/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { pname = "qgroundcontrol"; - version = "4.4.3"; + version = "4.4.4"; propagatedBuildInputs = with libsForQt5; [ qtbase @@ -87,7 +87,7 @@ stdenv.mkDerivation rec { owner = "mavlink"; repo = "qgroundcontrol"; rev = "v${version}"; - hash = "sha256-pHs9pRL5fAeRtDcNPCdqy4oPYyJ0mbJjLDlotFfjOl4="; + hash = "sha256-+BsI79p0XJ1nCjEtaCVgHbD+jseVGLQZOll79xZ5THo="; fetchSubmodules = true; }; From 98a006093cf984aebf61da29641fb2ef1f6d22ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:19:56 +0000 Subject: [PATCH 140/272] krew: 0.4.4 -> 0.4.5 --- pkgs/by-name/kr/krew/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/kr/krew/package.nix b/pkgs/by-name/kr/krew/package.nix index 7ad84ac536f2..2fc475b41e9b 100644 --- a/pkgs/by-name/kr/krew/package.nix +++ b/pkgs/by-name/kr/krew/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "krew"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "krew"; rev = "v${version}"; - sha256 = "sha256-SN6F7EmkgjtU4UHYPXWBiuXSSagjQYD6SBYBXRrSVGA="; + sha256 = "sha256-3GoC2HEp9XJe853/JYvX9kAAcFf7XxglVEeU9oQ/5Ms="; }; - vendorHash = "sha256-3tEesDezIyB6005PZmOcrnEeAIvc5za3FxTmBBbKf7s="; + vendorHash = "sha256-r4Dywm0+YxWWD59oaKodkldE2uq8hlt9MwOMYDaj6Gc="; subPackages = [ "cmd/krew" ]; From def2874dfda177f7b76505fb7e80f020cbc03391 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Sun, 9 Mar 2025 13:53:40 -0700 Subject: [PATCH 141/272] reaper-sws-extension: init at 2.14.0.3 --- .../re/reaper-sws-extension/darwin.nix | 52 +++++++++++++++++++ .../by-name/re/reaper-sws-extension/linux.nix | 39 ++++++++++++++ .../re/reaper-sws-extension/package.nix | 29 +++++++++++ 3 files changed, 120 insertions(+) create mode 100644 pkgs/by-name/re/reaper-sws-extension/darwin.nix create mode 100644 pkgs/by-name/re/reaper-sws-extension/linux.nix create mode 100644 pkgs/by-name/re/reaper-sws-extension/package.nix diff --git a/pkgs/by-name/re/reaper-sws-extension/darwin.nix b/pkgs/by-name/re/reaper-sws-extension/darwin.nix new file mode 100644 index 000000000000..1ad6b3688032 --- /dev/null +++ b/pkgs/by-name/re/reaper-sws-extension/darwin.nix @@ -0,0 +1,52 @@ +{ + stdenvNoCC, + fetchurl, + pname, + version, + meta, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + inherit + pname + version + meta + ; + srcs = + + let + plugin = fetchurl { + url = + let + arch = if stdenvNoCC.hostPlatform.system == "x86_64-darwin" then "x86_64" else "arm64"; + in + "https://github.com/reaper-oss/sws/releases/download/v${finalAttrs.version}/reaper_sws-${arch}.dylib"; + hash = + { + x86_64-darwin = "sha256-B185QWS9FaC/0XDhxUBbgr9zu2Ot8OIsfaPQ3sUHh4s="; + aarch64-darwin = "sha256-8gbyPlnIXdWtSD+Aj70xzacJhO34edTTG2IOryB67os="; + } + .${stdenvNoCC.hostPlatform.system}; + }; + in + [ + plugin + (fetchurl { + url = "https://github.com/reaper-oss/sws/releases/download/v${finalAttrs.version}/sws_python64.py"; + hash = "sha256-Yujj60+jOEfdSZ74cRU1Wxoh7RL2fo/IhJIpa+BDYV0="; + }) + (fetchurl { + url = "https://github.com/reaper-oss/sws/releases/download/v${finalAttrs.version}/sws_python32.py"; + hash = "sha256-QktzdIDpTvNs9IrH7TOI6LTIBkfuQ3cqw06iqLxSSTI="; + }) + ]; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + install -D *.py -t $out/Scripts + install -D *.dylib -t $out/UserPlugins + runHook postInstall + ''; +}) diff --git a/pkgs/by-name/re/reaper-sws-extension/linux.nix b/pkgs/by-name/re/reaper-sws-extension/linux.nix new file mode 100644 index 000000000000..c45de74689b8 --- /dev/null +++ b/pkgs/by-name/re/reaper-sws-extension/linux.nix @@ -0,0 +1,39 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + php, + perl, + git, + pkg-config, + gtk3, + + pname, + version, + meta, +}: +stdenv.mkDerivation (finalAttrs: { + inherit pname version meta; + + src = fetchFromGitHub { + owner = "reaper-oss"; + repo = "sws"; + tag = "v${finalAttrs.version}"; + hash = "sha256-37pBbNACQuuEk1HJTiUHdb0mDiR2+ZsEQUOhz7mrPPg="; + fetchSubmodules = true; + }; + + strictDeps = true; + + nativeBuildInputs = [ + cmake + git + perl + php + pkg-config + ]; + + buildInputs = [ gtk3 ]; + +}) diff --git a/pkgs/by-name/re/reaper-sws-extension/package.nix b/pkgs/by-name/re/reaper-sws-extension/package.nix new file mode 100644 index 000000000000..4f8a4892cc17 --- /dev/null +++ b/pkgs/by-name/re/reaper-sws-extension/package.nix @@ -0,0 +1,29 @@ +{ + lib, + stdenvNoCC, + callPackage, +}: +let + p = if stdenvNoCC.hostPlatform.isDarwin then ./darwin.nix else ./linux.nix; +in +callPackage p { + + pname = "reaper-sws-extension"; + version = "2.14.0.3"; + meta = { + description = "Reaper Plugin Extension"; + longDescription = '' + The SWS / S&M extension is a collection of features that seamlessly integrate into REAPER, the Digital Audio Workstation (DAW) software by Cockos, Inc. + It is a collaborative and open source project. + ''; + homepage = "https://www.sws-extension.org/"; + maintainers = with lib.maintainers; [ pancaek ]; + license = lib.licenses.mit; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + }; +} From ed201031f7ef0302418cdbc4c1fb88a6db8de4a2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:30:34 +0000 Subject: [PATCH 142/272] signaturepdf: 1.7.2 -> 1.7.4 --- pkgs/by-name/si/signaturepdf/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/si/signaturepdf/package.nix b/pkgs/by-name/si/signaturepdf/package.nix index 47fa20b475aa..cd6af5de63de 100644 --- a/pkgs/by-name/si/signaturepdf/package.nix +++ b/pkgs/by-name/si/signaturepdf/package.nix @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "signaturepdf"; - version = "1.7.2"; + version = "1.7.4"; src = fetchFromGitHub { owner = "24eme"; repo = "signaturepdf"; rev = "v${version}"; - hash = "sha256-Mo8r80XgrHdtr7k67MQpWBgTrsUpnyygufwmvUIe2n4="; + hash = "sha256-8R1eowMpdb4oj3j+gMJ2RsWVzHvNiXPwFaLHR0jqFJo="; }; nativeBuildInputs = [ makeWrapper ]; From ae1021adb44c3dfaef3f703468fdbfd9b15962ee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:33:56 +0000 Subject: [PATCH 143/272] powershell-editor-services: 4.2.0 -> 4.3.0 --- pkgs/by-name/po/powershell-editor-services/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/po/powershell-editor-services/package.nix b/pkgs/by-name/po/powershell-editor-services/package.nix index b303d617e2b6..3fbf787d671d 100644 --- a/pkgs/by-name/po/powershell-editor-services/package.nix +++ b/pkgs/by-name/po/powershell-editor-services/package.nix @@ -7,11 +7,11 @@ }: stdenvNoCC.mkDerivation rec { pname = "powershell-editor-services"; - version = "4.2.0"; + version = "4.3.0"; src = fetchzip { url = "https://github.com/PowerShell/PowerShellEditorServices/releases/download/v${version}/PowerShellEditorServices.zip"; - hash = "sha256-HSLpgnCx871BuKcerX8NZIN+NbpEz+KQtm1HfUXr7kY="; + hash = "sha256-YiXxztfsYujJK6+56Lwi4QdRIZb7NH+dAUJTOYk8pGI="; stripRoot = false; }; From 29142156e925b171e2700748cae2381b126c7db3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:49:52 +0000 Subject: [PATCH 144/272] kdePackages.klevernotes: 1.1.0 -> 1.2.0 --- pkgs/kde/misc/klevernotes/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/kde/misc/klevernotes/default.nix b/pkgs/kde/misc/klevernotes/default.nix index 3ab9fb6291f7..fb4e03ce1986 100644 --- a/pkgs/kde/misc/klevernotes/default.nix +++ b/pkgs/kde/misc/klevernotes/default.nix @@ -8,11 +8,11 @@ }: mkKdeDerivation rec { pname = "klevernotes"; - version = "1.1.0"; + version = "1.2.0"; src = fetchurl { url = "mirror://kde/stable/klevernotes/${version}/klevernotes-${version}.tar.xz"; - hash = "sha256-YkIBYlTvweSg4CMqj+sHoNyZJXuwpCAMNZUZUyH2dYE="; + hash = "sha256-TorqKMx0bvxHfvYlTxRKtgbNOWBPohfXuUmBpKZkugc="; }; extraBuildInputs = [ From 5d7bf06ffbf7504e9bb68ce6866e5791da04b406 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:55:07 +0000 Subject: [PATCH 145/272] example-robot-data: 4.2.0 -> 4.3.0 --- pkgs/by-name/ex/example-robot-data/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ex/example-robot-data/package.nix b/pkgs/by-name/ex/example-robot-data/package.nix index 4b649a847156..35483310bff3 100644 --- a/pkgs/by-name/ex/example-robot-data/package.nix +++ b/pkgs/by-name/ex/example-robot-data/package.nix @@ -11,14 +11,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "example-robot-data"; - version = "4.2.0"; + version = "4.3.0"; src = fetchFromGitHub { owner = "Gepetto"; repo = "example-robot-data"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-IRmqeaN0EaIjYaibTEAR8KhixoNQsl6YydbGQRinP6w="; + hash = "sha256-702+hR8YzxfHBZYF2Q//4gRF/cx4kdQ1oNHtnYL5xp0="; }; outputs = [ From e62889d398a2ffdfdbef6d5f71a6e9430bcb7728 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 01:03:12 +0000 Subject: [PATCH 146/272] globalarrays: 5.9 -> 5.9.1 --- pkgs/by-name/gl/globalarrays/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gl/globalarrays/package.nix b/pkgs/by-name/gl/globalarrays/package.nix index f7dd20e07688..c0fafce47561 100644 --- a/pkgs/by-name/gl/globalarrays/package.nix +++ b/pkgs/by-name/gl/globalarrays/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "globalarrays"; - version = "5.9"; + version = "5.9.1"; src = fetchFromGitHub { owner = "GlobalArrays"; repo = "ga"; rev = "v${version}"; - sha256 = "sha256-p4BNwj269FdNXY2rHfJiv5AbB3YB4v+YHXQRXTNnFnE="; + sha256 = "sha256-bMX538yen9cINPCtgf7SUGGsNRJugMrveqXtChHzPkk="; }; nativeBuildInputs = [ From ea49da7e3fd075d646794768a77c3860f82c32bc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 01:06:58 +0000 Subject: [PATCH 147/272] copycat: 003 -> 004 --- pkgs/by-name/co/copycat/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/copycat/package.nix b/pkgs/by-name/co/copycat/package.nix index 7a008e67f448..7569bdb81082 100644 --- a/pkgs/by-name/co/copycat/package.nix +++ b/pkgs/by-name/co/copycat/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "ccat"; - version = "003"; + version = "004"; src = fetchFromGitHub { owner = "DeeKahy"; repo = "CopyCat"; tag = version; - hash = "sha256-BNXWubJ6eRnuK7+0kE9yHQzjJci5miTSG3dwWE2XDwc="; + hash = "sha256-HLT88ghyT9AwvBTf7NrFkSPqMAh90GrBqZVXN5aaG3w="; }; useFetchCargoVendor = true; - cargoHash = "sha256-2SI4h5RqzWKWnRmQ2t/eDAOK1ql7jlZKIgPlSiiB6Dg="; + cargoHash = "sha256-gjFVvP2h+HJdDdNVtqTT1E1s4ZYXfWuhtMBRJkWRcDw="; buildInputs = lib.optionals (stdenv.hostPlatform.isDarwin) [ darwin.apple_sdk_11_0.frameworks.AppKit From 21840efad387b8dbd1bd63d6a11e9ac84a52676a Mon Sep 17 00:00:00 2001 From: osbm Date: Wed, 19 Mar 2025 04:16:42 +0300 Subject: [PATCH 148/272] python3Packages.manim-slides: remove dependency --- pkgs/development/python-modules/manim-slides/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkgs/development/python-modules/manim-slides/default.nix b/pkgs/development/python-modules/manim-slides/default.nix index fba53e41110f..d2c197a92e47 100644 --- a/pkgs/development/python-modules/manim-slides/default.nix +++ b/pkgs/development/python-modules/manim-slides/default.nix @@ -9,7 +9,6 @@ manim, ffmpeg, - av, beautifulsoup4, click, click-default-group, @@ -59,7 +58,6 @@ buildPythonPackage rec { dependencies = [ - av beautifulsoup4 click click-default-group From 8ba79987a1fa9fbc406ca129a4753b846cc83d11 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 01:30:46 +0000 Subject: [PATCH 149/272] patch2pr: 0.32.0 -> 0.33.0 --- pkgs/by-name/pa/patch2pr/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pa/patch2pr/package.nix b/pkgs/by-name/pa/patch2pr/package.nix index 12e0059452c1..714c3140070a 100644 --- a/pkgs/by-name/pa/patch2pr/package.nix +++ b/pkgs/by-name/pa/patch2pr/package.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "patch2pr"; - version = "0.32.0"; + version = "0.33.0"; src = fetchFromGitHub { owner = "bluekeyes"; repo = "patch2pr"; rev = "v${version}"; - hash = "sha256-WYNvHwikY6ULEar2ZBvsALEgHuZarrwBjk3ZaGhvlk8="; + hash = "sha256-RQg7Fo8Z0P+z6Fv6YTv/IpEErP6ncxylvBaeargTrIQ="; }; - vendorHash = "sha256-Y7WpJ6h76+5BJonmDldXYzUxLH6YYl9zlitoqX3H/mk="; + vendorHash = "sha256-VzskPOd1nlrkiwGsS5OoXP0v8LQbqS+NumV2WoahFvY="; ldflags = [ "-X main.version=${version}" From c87fcdb74950c2fe5d33c90a6a9c11fdf401ecb8 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 01:54:04 +0000 Subject: [PATCH 150/272] netavark: 1.14.0 -> 1.14.1 --- pkgs/by-name/ne/netavark/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ne/netavark/package.nix b/pkgs/by-name/ne/netavark/package.nix index 52bba0b2c1fe..cefb43112bba 100644 --- a/pkgs/by-name/ne/netavark/package.nix +++ b/pkgs/by-name/ne/netavark/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "netavark"; - version = "1.14.0"; + version = "1.14.1"; src = fetchFromGitHub { owner = "containers"; repo = "netavark"; rev = "v${version}"; - hash = "sha256-/95tYUqjIPoyO2+YGza9RJ88YAbsIOzEB//d2FXfNZY="; + hash = "sha256-kAJOfZ4Q1EQ+JV1izXoLe/Z/qgxbzz3WbczM4fVhxfU="; }; useFetchCargoVendor = true; - cargoHash = "sha256-6XSKuohY7gpnGmRK/Y+c3+0es/KRbkXjt5XQU/HksQ0="; + cargoHash = "sha256-MdKTGLNf+7SzdkQNLOWgfmSE9TNLYzPFU0oXh6MnW5w="; nativeBuildInputs = [ installShellFiles mandown protobuf go-md2man ]; From 7c566ade6f8de8572a1e07bf9a09fadbcb11c07b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 02:08:58 +0000 Subject: [PATCH 151/272] flashmq: 1.20.0 -> 1.21.0 --- pkgs/by-name/fl/flashmq/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fl/flashmq/package.nix b/pkgs/by-name/fl/flashmq/package.nix index be41bb6d0c21..affa56aaedea 100644 --- a/pkgs/by-name/fl/flashmq/package.nix +++ b/pkgs/by-name/fl/flashmq/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "flashmq"; - version = "1.20.0"; + version = "1.21.0"; src = fetchFromGitHub { owner = "halfgaar"; repo = "FlashMQ"; tag = "v${finalAttrs.version}"; - hash = "sha256-JvR03keUJkqVdjPC8q3DCFoDWzqHNozj4rZq9rnuexM="; + hash = "sha256-/nSNWmSR16V1+nXOMIx+TtxtNS9Xk3BJSY4ps+6TwG8="; }; nativeBuildInputs = [ From 3361a9aca9e7d549a0319021d27b37e5768f7020 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 02:18:55 +0000 Subject: [PATCH 152/272] cloud-nuke: 0.38.2 -> 0.39.0 --- pkgs/by-name/cl/cloud-nuke/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/cl/cloud-nuke/package.nix b/pkgs/by-name/cl/cloud-nuke/package.nix index d3f1fa80f571..c8f616d565a6 100644 --- a/pkgs/by-name/cl/cloud-nuke/package.nix +++ b/pkgs/by-name/cl/cloud-nuke/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "cloud-nuke"; - version = "0.38.2"; + version = "0.39.0"; src = fetchFromGitHub { owner = "gruntwork-io"; repo = pname; tag = "v${version}"; - hash = "sha256-hQFuHEIxsvyCmP4DR9MsrWmPbo3BFU3k5nYNsQVNy/U="; + hash = "sha256-r9/5A1f6GSDgF5/GM4UKxoCYUsc5xsZpTwDGDUySDfQ="; }; - vendorHash = "sha256-ExZZHCGmU9r1DrJ3alN6Y39P6rfFymQSpK8b+ZD7h0s="; + vendorHash = "sha256-AiPy/lmqrNeDWM7/pXmzHCbSWZdqdXnZNATlyi6oAGc="; nativeBuildInputs = [ makeBinaryWrapper From e8be74105e40b8b117de5c45078c38eb25ae1ff0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 02:21:25 +0000 Subject: [PATCH 153/272] clusterctl: 1.9.5 -> 1.9.6 --- pkgs/by-name/cl/clusterctl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cl/clusterctl/package.nix b/pkgs/by-name/cl/clusterctl/package.nix index dd1b1d0010bd..ac81adcf2569 100644 --- a/pkgs/by-name/cl/clusterctl/package.nix +++ b/pkgs/by-name/cl/clusterctl/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "clusterctl"; - version = "1.9.5"; + version = "1.9.6"; src = fetchFromGitHub { owner = "kubernetes-sigs"; repo = "cluster-api"; rev = "v${version}"; - hash = "sha256-4n+7/4ZMD0VzlD4PzEWVDut+rt8/4Vz3gAgCDAj+SVs="; + hash = "sha256-XXtVGIpoR2JfkR7urfHuh6xKoIvsF42NV+4yjxb8nls="; }; vendorHash = "sha256-SdLeME6EFraGUXE1zUdEfxTETUKLDmecYpWEg5DE4PQ="; From e4cf778b1e6a69e276e66f2ac4e2be608e7a7080 Mon Sep 17 00:00:00 2001 From: Raphael Borun Das Gupta Date: Wed, 19 Mar 2025 03:23:59 +0100 Subject: [PATCH 154/272] =?UTF-8?q?osmium-tool:=201.17.0=20=E2=86=92=201.1?= =?UTF-8?q?8.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkgs/by-name/os/osmium-tool/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/os/osmium-tool/package.nix b/pkgs/by-name/os/osmium-tool/package.nix index c7f2f06ad373..7d8bee0466c5 100644 --- a/pkgs/by-name/os/osmium-tool/package.nix +++ b/pkgs/by-name/os/osmium-tool/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "osmium-tool"; - version = "1.17.0"; + version = "1.18.0"; src = fetchFromGitHub { owner = "osmcode"; repo = "osmium-tool"; tag = "v${finalAttrs.version}"; - sha256 = "sha256-l6C2DGGKcbMUkKDruM8QzpriqFMvDnsi4OE99a2EzhA="; + hash = "sha256-6CT5vhzZtGZDr3mCgtpI8AGXn+Iiasf9SxUV6qN9+I8="; }; nativeBuildInputs = [ From 2bbe30e5908d4d01144c8c05c88a37512cef1459 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 02:31:33 +0000 Subject: [PATCH 155/272] step-kms-plugin: 0.12.1 -> 0.12.2 --- pkgs/by-name/st/step-kms-plugin/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/step-kms-plugin/package.nix b/pkgs/by-name/st/step-kms-plugin/package.nix index 253ef36abd0a..99a253961d19 100644 --- a/pkgs/by-name/st/step-kms-plugin/package.nix +++ b/pkgs/by-name/st/step-kms-plugin/package.nix @@ -12,16 +12,16 @@ buildGoModule rec { pname = "step-kms-plugin"; - version = "0.12.1"; + version = "0.12.2"; src = fetchFromGitHub { owner = "smallstep"; repo = pname; rev = "v${version}"; - hash = "sha256-AFHqkHPa4+/VbeSq9TZA0mUXyXLAfXFAFVkKqnEfg7k="; + hash = "sha256-6+5xZGzLsXu+283aOCeRmzxvjsk5PXTpbszVYuSSuGA="; }; - vendorHash = "sha256-u2CXNOaDn4dYWarOW3f11rsqo52hMpRntBhmNf1+axc="; + vendorHash = "sha256-S8T2GMFOVYqG2+8jdDRNJfAN057HagUA3HR0/UBpBR0="; proxyVendor = true; From 4aa90b3ad56e27e7de8246af0ac344e0a53036aa Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 02:39:35 +0000 Subject: [PATCH 156/272] step-ca: 0.28.2 -> 0.28.3 --- pkgs/by-name/st/step-ca/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/step-ca/package.nix b/pkgs/by-name/st/step-ca/package.nix index db780b77b561..92763dd75952 100644 --- a/pkgs/by-name/st/step-ca/package.nix +++ b/pkgs/by-name/st/step-ca/package.nix @@ -13,16 +13,16 @@ buildGoModule rec { pname = "step-ca"; - version = "0.28.2"; + version = "0.28.3"; src = fetchFromGitHub { owner = "smallstep"; repo = "certificates"; tag = "v${version}"; - hash = "sha256-iyv/cMRoJ5fYBVdQZ52zDTLdeESzNMJWXbgsDbU+p5Q="; + hash = "sha256-5W39Nc6WuxhrXbEfPWMaWWAUX6UnjYqlEAPlDCeYgrY="; }; - vendorHash = "sha256-N3MZXs/eJ+vvgsoq6s3vz22j3/CUyUhcwTc/nNU5Axo="; + vendorHash = "sha256-AuMYdZa1QpmMQZxlv+lmoWtszQkVdwXOTXxY8CWaUbI="; ldflags = [ "-w" From e87d96206e6ba2fc581bbe60fa670fe5286dec1f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 02:41:20 +0000 Subject: [PATCH 157/272] dumbpipe: 0.25.0 -> 0.26.0 --- pkgs/by-name/du/dumbpipe/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/du/dumbpipe/package.nix b/pkgs/by-name/du/dumbpipe/package.nix index 7951dc3842de..a1176888b5a0 100644 --- a/pkgs/by-name/du/dumbpipe/package.nix +++ b/pkgs/by-name/du/dumbpipe/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "dumbpipe"; - version = "0.25.0"; + version = "0.26.0"; src = fetchFromGitHub { owner = "n0-computer"; repo = "dumbpipe"; rev = "v${version}"; - hash = "sha256-nYM/QAG57491NqTAkqF1p3DeuVKDPvh6MUqYP/gAWyc="; + hash = "sha256-xQHVEJ+EgsrboXbPg7pGXXMjyedSLooqkTt/yYZACSo="; }; useFetchCargoVendor = true; - cargoHash = "sha256-lg/FmeCYL9WVvvEMnkQj1WaxFH+7rBBxgL9zfwSdaVE="; + cargoHash = "sha256-uuY0nh4VHzyM7+cbgyycr5I3IjE0OeQ0eg12qVXe4BQ="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin ( with darwin.apple_sdk.frameworks; From c7743cb43ca286afb6b1c451a903f7bf20e887c3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 03:18:31 +0000 Subject: [PATCH 158/272] kubernetes-helmPlugins.helm-dt: 0.4.4 -> 0.4.5 --- .../networking/cluster/helm/plugins/helm-dt.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix index f4815a6653ed..098b1d1741e5 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-dt.nix @@ -5,16 +5,16 @@ }: buildGoModule rec { pname = "helm-dt"; - version = "0.4.4"; + version = "0.4.5"; src = fetchFromGitHub { owner = "vmware-labs"; repo = "distribution-tooling-for-helm"; rev = "refs/tags/v${version}"; - hash = "sha256-jSX18FJCQORHFIUBROWZqAO5EBPXFvN/k0NRfkdkUFM="; + hash = "sha256-/TRhi4YgEB5RwRZXuwGCCqHz3SoBfs1SdKLBWg1yed0="; }; - vendorHash = "sha256-8HefE1a3pcbBgq/bC0mnhWzSa5xTi2dbqw0tyJ9EyTI="; + vendorHash = "sha256-54QB8dZSqSpDb4z7di5K6d8/fFbXftKfQJAljV50/Jk="; ldflags = [ "-s" From 9d2f09b14aad7d9569c17f2aec64df2afc1d421c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 03:20:55 +0000 Subject: [PATCH 159/272] badger: 4.5.2 -> 4.6.0 --- pkgs/by-name/ba/badger/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ba/badger/package.nix b/pkgs/by-name/ba/badger/package.nix index 190129e5e204..9dc855b9ded8 100644 --- a/pkgs/by-name/ba/badger/package.nix +++ b/pkgs/by-name/ba/badger/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "badger"; - version = "4.5.2"; + version = "4.6.0"; src = fetchFromGitHub { owner = "dgraph-io"; repo = "badger"; rev = "v${version}"; - hash = "sha256-kjMLJAEZN+WANgXsQT7XYLEsc+IL9QwBmaNeD3kyjGw="; + hash = "sha256-W3vPTLGI7YT7dFklJnOcpfYqQ9aBCsel9L6q4WNincY="; }; - vendorHash = "sha256-m4Bv8RhaUzqyzQ78/Ktr+wLRwL4mlXEsisW4pOJw1DI="; + vendorHash = "sha256-UVdOiaj1FN0etB9F0kt+THfO0Aa1kgdGYVeSVv4GpxY="; subPackages = [ "badger" ]; From 8b8dab75dcc02b1a765f12095e7a3d4b0313ff86 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 03:24:37 +0000 Subject: [PATCH 160/272] intentrace: 0.4.2 -> 0.6.2 --- pkgs/by-name/in/intentrace/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/in/intentrace/package.nix b/pkgs/by-name/in/intentrace/package.nix index 06098f6caefd..86c0607965b8 100644 --- a/pkgs/by-name/in/intentrace/package.nix +++ b/pkgs/by-name/in/intentrace/package.nix @@ -5,7 +5,7 @@ }: let - version = "0.4.2"; + version = "0.6.2"; in rustPlatform.buildRustPackage { inherit version; @@ -15,11 +15,11 @@ rustPlatform.buildRustPackage { owner = "sectordistrict"; repo = "intentrace"; tag = "v${version}"; - hash = "sha256-ZcGZK4GX78ls3nHb7SBKszmZXMAbCxS4osW3MLqgnHQ="; + hash = "sha256-hmQLedKyrk07RPloe39HKtZPJJjDUqLb/D4dvJfuWrM="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Z3T4mupwUqOSP+iAmy7Ps1EZlyV9cDvnfXBZwH1NFaA="; + cargoHash = "sha256-XSo9XqO3DiW3PXUW8RxTWqIxN1jx8WJKw16soP7kM1s="; meta = { description = "Prettified Linux syscall tracing tool (like strace)"; From ea116654aaef4b3a7aaa3c2736f7ec5cf438a8a9 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Thu, 2 Jan 2025 11:30:45 -0800 Subject: [PATCH 161/272] nixos/initrd: add extraFirmwarePaths option (cherry picked from commit 488d4316b9e1510c9b4a2eeb8d7e2cc66839a1fc) --- nixos/modules/system/boot/stage-1.nix | 9 +++++++++ nixos/modules/system/boot/systemd/initrd.nix | 1 + pkgs/build-support/kernel/modules-closure.nix | 2 ++ pkgs/build-support/kernel/modules-closure.sh | 9 +++++++++ pkgs/top-level/all-packages.nix | 4 ++-- 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index ff7cf4777ddf..1aab9548a595 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -19,6 +19,7 @@ let kernel = config.system.modulesTree; firmware = config.hardware.firmware; allowMissing = false; + inherit (config.boot.initrd) extraFirmwarePaths; }; @@ -484,6 +485,14 @@ in ''; }; + boot.initrd.extraFirmwarePaths = mkOption { + default = [ ]; + type = types.listOf types.str; + description = '' + Other firmware files (relative to `"''${config.hardware.firmware}/lib/firmware"`) to include in the final initrd we are building. + ''; + }; + boot.initrd.checkJournalingFS = mkOption { default = true; type = types.bool; diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index 472c72fb3889..e56fb3702911 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -105,6 +105,7 @@ let kernel = config.system.modulesTree; firmware = config.hardware.firmware; allowMissing = false; + inherit (config.boot.initrd) extraFirmwarePaths; }; initrdBinEnv = pkgs.buildEnv { diff --git a/pkgs/build-support/kernel/modules-closure.nix b/pkgs/build-support/kernel/modules-closure.nix index a830c97eea9a..611c01abe018 100644 --- a/pkgs/build-support/kernel/modules-closure.nix +++ b/pkgs/build-support/kernel/modules-closure.nix @@ -11,6 +11,7 @@ rootModules, kmod, allowMissing ? false, + extraFirmwarePaths ? [ ], }: stdenvNoCC.mkDerivation { @@ -25,6 +26,7 @@ stdenvNoCC.mkDerivation { firmware rootModules allowMissing + extraFirmwarePaths ; allowedReferences = [ "out" ]; } diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh index b53c64e30525..45423d21a570 100644 --- a/pkgs/build-support/kernel/modules-closure.sh +++ b/pkgs/build-support/kernel/modules-closure.sh @@ -87,6 +87,15 @@ for module in $(< ~-/closure); do done || : done +for path in $extraFirmwarePaths; do + mkdir -p $(dirname $out/lib/firmware/$path) + for name in "$path" "$path.xz" "$path.zst" ""; do + if cp -v --parents --no-preserve=mode lib/firmware/$name "$out" 2>/dev/null; then + break + fi + done +done + if test -e lib/firmware/edid ; then echo "lib/firmware/edid found, copying." mkdir -p "$out/lib/firmware" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index db392a2b84ea..569f3c2af566 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -709,9 +709,9 @@ with pkgs; compressFirmwareZstd = callPackage ../build-support/kernel/compress-firmware.nix { type = "zstd"; }; - makeModulesClosure = { kernel, firmware, rootModules, allowMissing ? false }: + makeModulesClosure = { kernel, firmware, rootModules, allowMissing ? false, extraFirmwarePaths ? [ ] }: callPackage ../build-support/kernel/modules-closure.nix { - inherit kernel firmware rootModules allowMissing; + inherit kernel firmware rootModules allowMissing extraFirmwarePaths; }; mkBinaryCache = callPackage ../build-support/binary-cache { }; From 6942064261bdb5350fcbf7724f9d57e7d8148e47 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 03:53:43 +0000 Subject: [PATCH 162/272] grpc-client-cli: 1.21.3 -> 1.22.1 --- pkgs/by-name/gr/grpc-client-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gr/grpc-client-cli/package.nix b/pkgs/by-name/gr/grpc-client-cli/package.nix index 035186b63075..c1a9082d3262 100644 --- a/pkgs/by-name/gr/grpc-client-cli/package.nix +++ b/pkgs/by-name/gr/grpc-client-cli/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "grpc-client-cli"; - version = "1.21.3"; + version = "1.22.1"; src = fetchFromGitHub { owner = "vadimi"; repo = "grpc-client-cli"; rev = "v${version}"; - sha256 = "sha256-c+mwQJczF8BG3NnpZpBZNGzGQxs8/ptApvESQhiUpfA="; + sha256 = "sha256-+Njo3cqqWhQMYsO7VLScPemmBMCf55khzLqBmODqEng="; }; - vendorHash = "sha256-1SRp5NmE+NbRtUZ3s4yL6CJUMs+dlm6oN00gKV9QY0U="; + vendorHash = "sha256-iZh/Ax9Gf3YNUgk2vNvTewuq97nUE3POaOb9/poVrCY="; meta = with lib; { description = "generic gRPC command line client"; From 6dd552d926d12bf32743e54579785d6b4641b5bc Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 19 Jan 2025 23:04:41 -0800 Subject: [PATCH 163/272] sunxi-tools: unstable-2021-08-29 -> 0-unstable-2024-10-13 --- pkgs/by-name/su/sunxi-tools/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/su/sunxi-tools/package.nix b/pkgs/by-name/su/sunxi-tools/package.nix index eb92e3f342ce..1f7184dcc0f3 100644 --- a/pkgs/by-name/su/sunxi-tools/package.nix +++ b/pkgs/by-name/su/sunxi-tools/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation { pname = "sunxi-tools"; - version = "unstable-2021-08-29"; + version = "0-unstable-2024-10-13"; src = fetchFromGitHub { owner = "linux-sunxi"; repo = "sunxi-tools"; - rev = "74273b671a3fc34048383c40c85c684423009fb9"; - sha256 = "1gwamb64vr45iy2ry7jp1k3zc03q5sydmdflrbwr892f0ijh2wjl"; + rev = "29d48c3c39d74200fb35b5750f99d06a4886bf2e"; + sha256 = "sha256-IUgAM/wVHGbidJ2bfLcTIdXg7wxEjxCg1IA8FtDFpR4="; }; nativeBuildInputs = [ pkg-config ]; From 0579a32cad6ce56e509578007f1b261fd98c6308 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Sun, 19 Jan 2025 23:05:59 -0800 Subject: [PATCH 164/272] sunxi-tools: cleanup and add update script --- pkgs/by-name/su/sunxi-tools/package.nix | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/su/sunxi-tools/package.nix b/pkgs/by-name/su/sunxi-tools/package.nix index 1f7184dcc0f3..075b94148822 100644 --- a/pkgs/by-name/su/sunxi-tools/package.nix +++ b/pkgs/by-name/su/sunxi-tools/package.nix @@ -6,6 +6,7 @@ dtc, libusb1, zlib, + unstableGitUpdater, }: stdenv.mkDerivation { @@ -38,11 +39,13 @@ stdenv.mkDerivation { "install-misc" ]; - meta = with lib; { + passthru.updateScript = unstableGitUpdater { hardcodeZeroVersion = true; }; + + meta = { description = "Tools for Allwinner SoC devices"; homepage = "http://linux-sunxi.org/"; - license = licenses.gpl2Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ elitak ]; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; + maintainers = [ lib.maintainers.elitak ]; }; } From b4cef5f9390bb5950f2a128aafb607d410bb70ef Mon Sep 17 00:00:00 2001 From: Jack Maloney Date: Mon, 17 Mar 2025 19:00:15 -0500 Subject: [PATCH 165/272] nbstripout: 0.6.1 -> 0.8.1 --- pkgs/applications/version-management/nbstripout/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index 6ce5b2919bb4..ca8224a5aa62 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -8,12 +8,12 @@ }: python3.pkgs.buildPythonApplication rec { - version = "0.6.1"; + version = "0.8.1"; pname = "nbstripout"; src = fetchPypi { inherit pname version; - hash = "sha256-kGW83RSIs4bk88CB/8HUj0UTovjYv00NmiggjF2v6dM="; + hash = "sha256-6qyLa05yno3+Hl3ywPi6RKvFoXplRI8EgBQfgL4jC7E="; }; # for some reason, darwin uses /bin/sh echo native instead of echo binary, so From 0090bf428c629c4b516fab58fef41ec4dce11e06 Mon Sep 17 00:00:00 2001 From: Jack Maloney Date: Mon, 17 Mar 2025 19:00:45 -0500 Subject: [PATCH 166/272] nbstripout: fix tests --- .../version-management/nbstripout/default.nix | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index ca8224a5aa62..4978722e6382 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -2,6 +2,7 @@ lib, python3, fetchPypi, + fetchFromGitHub, coreutils, gitMinimal, mercurial, @@ -16,11 +17,12 @@ python3.pkgs.buildPythonApplication rec { hash = "sha256-6qyLa05yno3+Hl3ywPi6RKvFoXplRI8EgBQfgL4jC7E="; }; - # for some reason, darwin uses /bin/sh echo native instead of echo binary, so - # force using the echo binary - postPatch = '' - substituteInPlace tests/test-git.t --replace "echo" "${coreutils}/bin/echo" - ''; + testAssets = fetchFromGitHub { + owner = "kynan"; + repo = "nbstripout"; + rev = "${version}"; + hash = "sha256-OSJLrWkYQIhcdyofS3Bo39ppsU6K3A4546UKB8Q1GGg="; + }; propagatedBuildInputs = with python3.pkgs; [ nbformat @@ -33,14 +35,21 @@ python3.pkgs.buildPythonApplication rec { mercurial ] ++ (with python3.pkgs; [ - pytest-cram pytestCheckHook ]); + checkInputs = [ + testAssets + ]; + preCheck = '' export HOME=$(mktemp -d) export PATH=$out/bin:$PATH git config --global init.defaultBranch main + + cp -r --no-preserve=mode,ownership ${testAssets}/tests/e2e_notebooks $TMPDIR/e2e_notebooks + chmod -R +w $TMPDIR/e2e_notebooks + substituteInPlace tests/test_end_to_end.py --replace "tests/e2e_notebooks" "$TMPDIR/e2e_notebooks" ''; meta = { From c2a18a91947ea1c2b69c59275a26741c02dd754c Mon Sep 17 00:00:00 2001 From: emaryn Date: Tue, 18 Mar 2025 17:26:10 +0800 Subject: [PATCH 167/272] conda: 25.1.1 -> 25.1.1-2 --- pkgs/by-name/co/conda/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/co/conda/package.nix b/pkgs/by-name/co/conda/package.nix index 77dd1020902a..e99832d91214 100644 --- a/pkgs/by-name/co/conda/package.nix +++ b/pkgs/by-name/co/conda/package.nix @@ -43,7 +43,7 @@ # $ conda-shell # $ conda install spyder let - version = "25.1.1"; + version = "25.1.1-2"; src = let @@ -57,10 +57,10 @@ let }; in fetchurl { - url = "https://repo.anaconda.com/miniconda/Miniconda3-py312_${version}-0-Linux-${arch}.sh"; + url = "https://repo.anaconda.com/miniconda/Miniconda3-py312_${version}-Linux-${arch}.sh"; hash = selectSystem { - x86_64-linux = "sha256-gy3ielo1t5Y/DYNGarraPrE45RmFJV8ZDg3DUEJ6ndE="; - aarch64-linux = "sha256-rp0+qD35fnj9UcRS0Lx1AFoo1QTCLbbxAAgiKT+Ra1Q="; + x86_64-linux = "sha256-R2bYW199I1ziUOmY67WoqCEMvU8rD+pNIXez7Z6oeIQ="; + aarch64-linux = "sha256-bQW5+bfzJ7kHl6TPVtaMgVeLqy9jJXo+eotyyw8OS10="; }; }; From 920756a4ef5bb5e9f5d17599724b29f0ea6f4a9b Mon Sep 17 00:00:00 2001 From: Pablo Ovelleiro Corral Date: Tue, 18 Mar 2025 09:55:54 +0100 Subject: [PATCH 168/272] zk: 0.14.2 -> 0.15.0 --- pkgs/by-name/zk/zk/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/zk/zk/package.nix b/pkgs/by-name/zk/zk/package.nix index 78cfb7ae281a..fe1116ccf1ef 100644 --- a/pkgs/by-name/zk/zk/package.nix +++ b/pkgs/by-name/zk/zk/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "zk"; - version = "0.14.2"; + version = "0.15.0"; src = fetchFromGitHub { owner = "zk-org"; repo = "zk"; rev = "v${version}"; - sha256 = "sha256-h6qQcaAgxWeBzMjxGk7b8vrVu5NO/V6b/ZvZMWtZTpg="; + sha256 = "sha256-aFpn3luIp5tMp9jpBxVCmU+IU9eJg3/5UZFIklauFjI="; }; vendorHash = "sha256-2PlaIw7NaW4pAVIituSVWhssSBKjowLOLuBV/wz829I="; From 221c908ab82705df03afe8a29595f9986f18898b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 03:58:26 +0000 Subject: [PATCH 169/272] licensure: 0.7.2 -> 0.8.0 --- pkgs/by-name/li/licensure/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/li/licensure/package.nix b/pkgs/by-name/li/licensure/package.nix index 8f929f27f57a..a5a4ac228048 100644 --- a/pkgs/by-name/li/licensure/package.nix +++ b/pkgs/by-name/li/licensure/package.nix @@ -11,17 +11,17 @@ }: rustPlatform.buildRustPackage rec { pname = "licensure"; - version = "0.7.2"; + version = "0.8.0"; src = fetchFromGitHub { owner = "chasinglogic"; repo = "licensure"; rev = version; - hash = "sha256-ZizTcXmxAQsDXthNaXxrlsZr/tdAa8U3i70mwpvBmHw="; + hash = "sha256-3kZzYDKMLRdYzxa9+wVeTFJk186MJZfGfzRXgY9tI4Y="; }; useFetchCargoVendor = true; - cargoHash = "sha256-tQZ9/Ki7uaWM/zCKfiM9nL4X65K2JRmQmEWY/bnQPPA="; + cargoHash = "sha256-b3Vb8beULbLQuBORcE5nWuHkqDmalexJick9Ct5+iUM="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ From 5df84a0aa57a19932bc2b4c1b2d763a6dfda45f3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 04:01:47 +0000 Subject: [PATCH 170/272] ghostfolio: 2.143.0 -> 2.146.0 --- pkgs/by-name/gh/ghostfolio/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gh/ghostfolio/package.nix b/pkgs/by-name/gh/ghostfolio/package.nix index ed65c1e152cc..ac576ccbc115 100644 --- a/pkgs/by-name/gh/ghostfolio/package.nix +++ b/pkgs/by-name/gh/ghostfolio/package.nix @@ -11,13 +11,13 @@ buildNpmPackage rec { pname = "ghostfolio"; - version = "2.143.0"; + version = "2.146.0"; src = fetchFromGitHub { owner = "ghostfolio"; repo = "ghostfolio"; tag = version; - hash = "sha256-jOIt8JJghXaKsfwgR6aMfaXEHgIalc/gtwkGJ831bWI="; + hash = "sha256-8YZjstzpun+Vbc1ETBf5AwNAOFGyJFftSdyyGsyh6pY="; # populate values that require us to use git. By doing this in postFetch we # can delete .git afterwards and maintain better reproducibility of the src. leaveDotGit = true; @@ -27,7 +27,7 @@ buildNpmPackage rec { ''; }; - npmDepsHash = "sha256-K+SOl7wuxLhEOoM1A7QG3tB1Xiuz+hstiePIDjmzWVA="; + npmDepsHash = "sha256-6aOmDntqp3RPDkgwNwlRgVxoQygIBxMU3VIfYjvG3ho="; nativeBuildInputs = [ prisma From 7fbf088877c6e3a6ae13c53191a8f03084f6a593 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 04:11:21 +0000 Subject: [PATCH 171/272] step-cli: 0.28.5 -> 0.28.6 --- pkgs/by-name/st/step-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/st/step-cli/package.nix b/pkgs/by-name/st/step-cli/package.nix index 04d666fd2831..0d6be886a07a 100644 --- a/pkgs/by-name/st/step-cli/package.nix +++ b/pkgs/by-name/st/step-cli/package.nix @@ -6,7 +6,7 @@ installShellFiles, }: let - version = "0.28.5"; + version = "0.28.6"; in buildGoModule { pname = "step-cli"; @@ -16,7 +16,7 @@ buildGoModule { owner = "smallstep"; repo = "cli"; tag = "v${version}"; - hash = "sha256-cuD66Llk0789mYL0x17jKjSmAxCcCvwPEz3/BHXJ5NQ="; + hash = "sha256-9tw/d6n6tzhBhBqizDG1dGhj8se9GF2DtrfYwwhvsLs="; # this file change depending on git branch status (via .gitattributes) # https://github.com/NixOS/nixpkgs/issues/84312 postFetch = '' @@ -35,7 +35,7 @@ buildGoModule { rm command/certificate/remote_test.go ''; - vendorHash = "sha256-iOtW5uioDDHR7ZJFX3pBdrQlWV6LnfjjHinQppmX5Fo="; + vendorHash = "sha256-+pHc2uBgQwMkJ7BTgHGHDPgfBpLlN0Yxf+6Enhb7cys="; nativeBuildInputs = [ installShellFiles ]; From 882758d47bfe2f642593afb3f7720a1cccd9a823 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 04:29:54 +0000 Subject: [PATCH 172/272] imgpkg: 0.44.2 -> 0.45.0 --- pkgs/by-name/im/imgpkg/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/im/imgpkg/package.nix b/pkgs/by-name/im/imgpkg/package.nix index d366fca15d81..b6286b1fbc51 100644 --- a/pkgs/by-name/im/imgpkg/package.nix +++ b/pkgs/by-name/im/imgpkg/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "imgpkg"; - version = "0.44.2"; + version = "0.45.0"; src = fetchFromGitHub { owner = "carvel-dev"; repo = "imgpkg"; rev = "v${version}"; - hash = "sha256-UZhmuSUqm8EPCSc0CONgpISINgMJh3uNUx0v52eQNIc="; + hash = "sha256-DuLxNH0fcVPvZYG4AYtaT8kJysTLRNX2tB6UBhQoP9Q="; }; vendorHash = null; From a17ef1c137658ca1c8249533a3241768b182266e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 04:30:08 +0000 Subject: [PATCH 173/272] gvproxy: 0.8.4 -> 0.8.5 --- pkgs/by-name/gv/gvproxy/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/gv/gvproxy/package.nix b/pkgs/by-name/gv/gvproxy/package.nix index 6db7531253c9..154d385cbba3 100644 --- a/pkgs/by-name/gv/gvproxy/package.nix +++ b/pkgs/by-name/gv/gvproxy/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "gvproxy"; - version = "0.8.4"; + version = "0.8.5"; src = fetchFromGitHub { owner = "containers"; repo = "gvisor-tap-vsock"; rev = "v${version}"; - hash = "sha256-2Anh/jWnDCqGxsIz8/DMzQ5Jj9FpvxHgEk9MeqBPFms="; + hash = "sha256-rWZYwQ/wWYAbM0RRNcNboWzKUuNNPDigIFFbFdXDNuo="; }; vendorHash = null; From 3700455884baa3740ddebd238cd5439968ce86dc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 04:55:08 +0000 Subject: [PATCH 174/272] karmor: 1.3.3 -> 1.3.4 --- pkgs/by-name/ka/karmor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ka/karmor/package.nix b/pkgs/by-name/ka/karmor/package.nix index 432568dc32f2..20737002e2af 100644 --- a/pkgs/by-name/ka/karmor/package.nix +++ b/pkgs/by-name/ka/karmor/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "karmor"; - version = "1.3.3"; + version = "1.3.4"; src = fetchFromGitHub { owner = "kubearmor"; repo = "kubearmor-client"; rev = "v${version}"; - hash = "sha256-sn2Zpr/Z63MAf0d9FnT3GJW48DI/aynC1naAHsMYGR4="; + hash = "sha256-3WPelRhvK/9LY+TFDExcltszE1wVRr1MMY9Xjijj0so="; }; vendorHash = "sha256-HH3U1reZXG9w7uwnXbY33hsKlPCxbVb2yvw4KmBfOa0="; From a6e93aff2b64e367587577bbca4272bf6e451a67 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 04:55:16 +0000 Subject: [PATCH 175/272] jumppad: 0.17.1 -> 0.18.0 --- pkgs/by-name/ju/jumppad/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ju/jumppad/package.nix b/pkgs/by-name/ju/jumppad/package.nix index 72326c2c36e3..7fb20e5a272a 100644 --- a/pkgs/by-name/ju/jumppad/package.nix +++ b/pkgs/by-name/ju/jumppad/package.nix @@ -6,15 +6,15 @@ buildGoModule rec { pname = "jumppad"; - version = "0.17.1"; + version = "0.18.0"; src = fetchFromGitHub { owner = "jumppad-labs"; repo = "jumppad"; rev = version; - hash = "sha256-SoiF5y0Vc2T8qT75cII3HqNSEZhWAzKEk3xw4BGICpo="; + hash = "sha256-V+FDPNNNP7HMg0Somoj3EhGuhhq/Du8JcCBE/Ut2V1s="; }; - vendorHash = "sha256-mJKawveIoDu2v+GxIoljmFbCwle9d1SQiHzsoerP66I="; + vendorHash = "sha256-BuXbizA/OJiP11kSIO476tWPYPzGTKmzPHeyIqs8pWc="; subPackages = [ "." ]; From 8dc56ebc706d2f95beb2f22b39bd72c414d87b88 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 05:00:59 +0000 Subject: [PATCH 176/272] alterx: 0.0.3 -> 0.0.6 --- pkgs/by-name/al/alterx/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/al/alterx/package.nix b/pkgs/by-name/al/alterx/package.nix index 035db050cbf3..198b8fed43be 100644 --- a/pkgs/by-name/al/alterx/package.nix +++ b/pkgs/by-name/al/alterx/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "alterx"; - version = "0.0.3"; + version = "0.0.6"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "alterx"; tag = "v${version}"; - hash = "sha256-A01XROFB2NkArfFtRMv/r9Nu5QoKMTOVzVIUnFoVe78="; + hash = "sha256-IjCK0TVZOBegNdfpqOFoOTuj8KtmCuIqNPvcIa1vSo0="; }; - vendorHash = "sha256-efwU41kFR8QYa2cevvj4pYAXgCisJ4OHaRIhWVnETvc="; + vendorHash = "sha256-aTA5KGeYmJnbVRbEhT9LigQoJFLD17q9spzBV4BGhNw="; meta = with lib; { description = "Fast and customizable subdomain wordlist generator using DSL"; From b37ee2747b52bb687a00798c97e8369bb57d86b9 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Tue, 18 Mar 2025 06:48:22 -0300 Subject: [PATCH 177/272] below: minor packaging improvements - Removed with lib; statement from meta; - rev -> tag - sha256 -> hash Signed-off-by: Fernando Rodrigues --- pkgs/by-name/be/below/package.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/be/below/package.nix b/pkgs/by-name/be/below/package.nix index 9478efa68fd3..ac259159db07 100644 --- a/pkgs/by-name/be/below/package.nix +++ b/pkgs/by-name/be/below/package.nix @@ -16,14 +16,16 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "facebookincubator"; repo = "below"; - rev = "v${version}"; - sha256 = "sha256-87Fdx3Jqi3dNWM5DZl+UYs031qn2DoiiWd3IysT/glQ="; + tag = "v${version}"; + hash = "sha256-87Fdx3Jqi3dNWM5DZl+UYs031qn2DoiiWd3IysT/glQ="; }; useFetchCargoVendor = true; cargoHash = "sha256-iRDe3zg7tfEYGLCRY6bJ6OdoT8ej0MB/vteCIf5xqNA="; - prePatch = ''sed -i "s,ExecStart=.*/bin,ExecStart=$out/bin," etc/below.service''; + prePatch = '' + sed -i "s,ExecStart=.*/bin,ExecStart=$out/bin," etc/below.service + ''; postInstall = '' install -d $out/lib/systemd/system install -t $out/lib/systemd/system etc/below.service @@ -48,11 +50,11 @@ rustPlatform.buildRustPackage rec { # needs /sys/fs/cgroup doCheck = false; - meta = with lib; { - platforms = platforms.linux; - maintainers = with maintainers; [ globin ]; + meta = { + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ globin ]; description = "Time traveling resource monitor for modern Linux systems"; - license = licenses.asl20; + license = lib.licenses.asl20; homepage = "https://github.com/facebookincubator/below"; mainProgram = "below"; }; From 72b75a16da5207e7863712fc24ce782a52371554 Mon Sep 17 00:00:00 2001 From: Fernando Rodrigues Date: Tue, 18 Mar 2025 06:48:22 -0300 Subject: [PATCH 178/272] below: 0.8.1 -> 0.9.0 Fixes CVE-2025-27591: https://security.opensuse.org/2025/03/12/below-world-writable-log-dir.html Signed-off-by: Fernando Rodrigues --- pkgs/by-name/be/below/package.nix | 9 +- pkgs/by-name/be/below/update-Cargo.lock.patch | 3079 +++++++++++++++++ 2 files changed, 3085 insertions(+), 3 deletions(-) create mode 100644 pkgs/by-name/be/below/update-Cargo.lock.patch diff --git a/pkgs/by-name/be/below/package.nix b/pkgs/by-name/be/below/package.nix index ac259159db07..684dbda9eca7 100644 --- a/pkgs/by-name/be/below/package.nix +++ b/pkgs/by-name/be/below/package.nix @@ -11,17 +11,20 @@ rustPlatform.buildRustPackage rec { pname = "below"; - version = "0.8.1"; + version = "0.9.0"; src = fetchFromGitHub { owner = "facebookincubator"; repo = "below"; tag = "v${version}"; - hash = "sha256-87Fdx3Jqi3dNWM5DZl+UYs031qn2DoiiWd3IysT/glQ="; + hash = "sha256-tPweJFqhZMOL+M08bDjW6HPmtuhr9IXJNP0c938O7Cg="; }; + # Upstream forgot to commit an up-to-date lockfile. + cargoPatches = [ ./update-Cargo.lock.patch ]; + useFetchCargoVendor = true; - cargoHash = "sha256-iRDe3zg7tfEYGLCRY6bJ6OdoT8ej0MB/vteCIf5xqNA="; + cargoHash = "sha256-uNeWdsvJtkUz3E1NL10heDC7B55yKzDMMYzRhEE32EQ="; prePatch = '' sed -i "s,ExecStart=.*/bin,ExecStart=$out/bin," etc/below.service diff --git a/pkgs/by-name/be/below/update-Cargo.lock.patch b/pkgs/by-name/be/below/update-Cargo.lock.patch new file mode 100644 index 000000000000..74c7c1b3e659 --- /dev/null +++ b/pkgs/by-name/be/below/update-Cargo.lock.patch @@ -0,0 +1,3079 @@ +diff --git a/Cargo.lock b/Cargo.lock +index e1f0f1f4..851b1b36 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1,39 +1,40 @@ + # This file is automatically @generated by Cargo. + # It is not intended for manual editing. +-version = 3 ++version = 4 + + [[package]] + name = "addr2line" +-version = "0.21.0" ++version = "0.24.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" ++checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" + dependencies = [ + "gimli", + ] + + [[package]] +-name = "adler" +-version = "1.0.2" ++name = "adler2" ++version = "2.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" ++checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + + [[package]] + name = "ahash" +-version = "0.8.0" ++version = "0.8.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "57e6e951cfbb2db8de1828d49073a113a29fd7117b1596caa781a258c7e38d72" ++checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" + dependencies = [ + "cfg-if", +- "getrandom", ++ "getrandom 0.2.15", + "once_cell", + "version_check", ++ "zerocopy 0.7.35", + ] + + [[package]] + name = "aho-corasick" +-version = "1.0.5" ++version = "1.1.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" ++checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" + dependencies = [ + "memchr", + ] +@@ -55,104 +56,95 @@ dependencies = [ + + [[package]] + name = "anstream" +-version = "0.6.13" ++version = "0.6.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" ++checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" + dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", ++ "is_terminal_polyfill", + "utf8parse", + ] + + [[package]] + name = "anstyle" +-version = "1.0.1" ++version = "1.0.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" ++checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" + + [[package]] + name = "anstyle-parse" +-version = "0.2.1" ++version = "0.2.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" ++checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" + dependencies = [ + "utf8parse", + ] + + [[package]] + name = "anstyle-query" +-version = "1.0.0" ++version = "1.1.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" ++checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" + dependencies = [ +- "windows-sys 0.48.0", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "anstyle-wincon" +-version = "3.0.2" ++version = "3.0.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" ++checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" + dependencies = [ + "anstyle", +- "windows-sys 0.52.0", ++ "once_cell", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "anyhow" +-version = "1.0.80" ++version = "1.0.97" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" ++checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" + + [[package]] + name = "async-trait" +-version = "0.1.71" ++version = "0.1.88" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" ++checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" + dependencies = [ + "proc-macro2", + "quote", +- "syn 2.0.52", +-] +- +-[[package]] +-name = "atty" +-version = "0.2.14" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +-dependencies = [ +- "hermit-abi 0.1.19", +- "libc", +- "winapi", ++ "syn 2.0.100", + ] + + [[package]] + name = "autocfg" +-version = "1.1.0" ++version = "1.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" ++checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" + + [[package]] + name = "backtrace" +-version = "0.3.69" ++version = "0.3.74" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" ++checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" + dependencies = [ + "addr2line", +- "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", ++ "windows-targets 0.52.6", + ] + + [[package]] + name = "below" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "below-common", +@@ -182,27 +174,26 @@ dependencies = [ + "tar", + "tempfile", + "tokio", +- "uzers", + ] + + [[package]] + name = "below-btrfs" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "below-common", + "libc", +- "nix 0.25.0", ++ "nix", + "openat", + "rand", + "rand_distr", + "serde", + "slog", +- "thiserror", ++ "thiserror 2.0.12", + ] + + [[package]] + name = "below-common" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "chrono", +@@ -218,19 +209,19 @@ dependencies = [ + + [[package]] + name = "below-config" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "below-btrfs", + "cgroupfs", + "serde", + "tempfile", +- "toml 0.8.6", ++ "toml", + ] + + [[package]] + name = "below-dump" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "below-common", +@@ -246,21 +237,21 @@ dependencies = [ + "slog", + "tar", + "tempfile", +- "toml 0.8.6", ++ "toml", + ] + + [[package]] + name = "below-ethtool" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ +- "nix 0.25.0", ++ "nix", + "serde", +- "thiserror", ++ "thiserror 2.0.12", + ] + + [[package]] + name = "below-gpu-stats" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "below-common", + "serde", +@@ -268,7 +259,7 @@ dependencies = [ + + [[package]] + name = "below-model" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "async-trait", +@@ -281,7 +272,7 @@ dependencies = [ + "cgroupfs", + "enum-iterator", + "fb_procfs", +- "futures 0.3.30", ++ "futures 0.3.31", + "hostname", + "os_info", + "regex", +@@ -293,7 +284,7 @@ dependencies = [ + + [[package]] + name = "below-render" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "below-common", + "below-model", +@@ -301,19 +292,19 @@ dependencies = [ + + [[package]] + name = "below-store" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "below-common", + "below-model", +- "bitflags 2.4.0", ++ "bitflags 2.9.0", + "bytes", + "humantime", + "itertools", + "lazy_static", + "maplit", + "memmap2", +- "nix 0.25.0", ++ "nix", + "paste", + "serde", + "serde_cbor", +@@ -327,20 +318,19 @@ dependencies = [ + + [[package]] + name = "below-tc" +-version = "0.0.1" ++version = "0.9.0" + dependencies = [ + "netlink-packet-core", + "netlink-packet-route", +- "netlink-packet-utils", + "netlink-sys", +- "nix 0.27.1", ++ "nix", + "serde", +- "thiserror", ++ "thiserror 2.0.12", + ] + + [[package]] + name = "below-view" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "anyhow", + "below-common", +@@ -348,10 +338,11 @@ dependencies = [ + "below-render", + "below-store", + "chrono", +- "crossterm 0.27.0", ++ "crossterm 0.28.1", + "cursive", + "cursive_buffered_backend", + "enum-iterator", ++ "fb_procfs", + "humantime", + "itertools", + "libc", +@@ -359,12 +350,12 @@ dependencies = [ + "serde", + "slog", + "tempfile", +- "toml 0.8.6", ++ "toml", + ] + + [[package]] + name = "below_derive" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "proc-macro2", + "quote", +@@ -379,18 +370,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + + [[package]] + name = "bitflags" +-version = "2.4.0" ++version = "2.9.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" ++checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" + dependencies = [ + "serde", + ] + + [[package]] + name = "bumpalo" +-version = "3.11.1" ++version = "3.17.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba" ++checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" + + [[package]] + name = "byteorder" +@@ -400,27 +391,27 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + + [[package]] + name = "bytes" +-version = "1.6.0" ++version = "1.10.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" ++checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" + dependencies = [ + "serde", + ] + + [[package]] + name = "camino" +-version = "1.1.1" ++version = "1.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" ++checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" + dependencies = [ + "serde", + ] + + [[package]] + name = "cargo-platform" +-version = "0.1.2" ++version = "0.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" ++checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" + dependencies = [ + "serde", + ] +@@ -436,17 +427,18 @@ dependencies = [ + "semver", + "serde", + "serde_json", +- "thiserror", ++ "thiserror 1.0.69", + ] + + [[package]] + name = "cc" +-version = "1.0.90" ++version = "1.2.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" ++checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" + dependencies = [ + "jobserver", + "libc", ++ "shlex", + ] + + [[package]] +@@ -455,36 +447,43 @@ version = "1.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + ++[[package]] ++name = "cfg_aliases" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" ++ + [[package]] + name = "cgroupfs" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ +- "nix 0.25.0", ++ "below-common", ++ "nix", + "openat", + "paste", + "serde", + "tempfile", +- "thiserror", ++ "thiserror 2.0.12", + ] + + [[package]] + name = "chrono" +-version = "0.4.29" ++version = "0.4.40" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d87d9d13be47a5b7c3907137f1290b0459a7f80efb26be8c52afb11963bccb02" ++checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" + dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "serde", +- "windows-targets 0.48.0", ++ "windows-link", + ] + + [[package]] + name = "clap" +-version = "4.5.4" ++version = "4.5.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" ++checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" + dependencies = [ + "clap_builder", + "clap_derive", +@@ -492,124 +491,104 @@ dependencies = [ + + [[package]] + name = "clap_builder" +-version = "4.5.2" ++version = "4.5.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" ++checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" + dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +- "terminal_size 0.3.0", ++ "terminal_size", + "unicase", +- "unicode-width", ++ "unicode-width 0.2.0", + ] + + [[package]] + name = "clap_complete" +-version = "4.5.1" ++version = "4.5.46" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c" ++checksum = "f5c5508ea23c5366f77e53f5a0070e5a84e51687ec3ef9e0464c86dc8d13ce98" + dependencies = [ + "clap", + ] + + [[package]] + name = "clap_derive" +-version = "4.5.4" ++version = "4.5.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" ++checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" + dependencies = [ +- "heck 0.5.0", ++ "heck", + "proc-macro2", + "quote", +- "syn 2.0.52", ++ "syn 2.0.100", + ] + + [[package]] + name = "clap_lex" +-version = "0.7.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +- +-[[package]] +-name = "codespan-reporting" +-version = "0.11.1" ++version = "0.7.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +-dependencies = [ +- "termcolor", +- "unicode-width", +-] ++checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" + + [[package]] + name = "colorchoice" +-version = "1.0.0" ++version = "1.0.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" ++checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" + + [[package]] + name = "console" +-version = "0.15.2" ++version = "0.15.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c050367d967ced717c04b65d8c619d863ef9292ce0c5760028655a2fb298718c" ++checksum = "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8" + dependencies = [ + "encode_unicode", +- "lazy_static", + "libc", +- "terminal_size 0.1.17", +- "unicode-width", +- "winapi", ++ "once_cell", ++ "unicode-width 0.2.0", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "core-foundation-sys" +-version = "0.8.3" ++version = "0.8.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" ++checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + + [[package]] + name = "crossbeam-channel" +-version = "0.5.6" ++version = "0.5.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" ++checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471" + dependencies = [ +- "cfg-if", + "crossbeam-utils", + ] + + [[package]] + name = "crossbeam-deque" +-version = "0.8.2" ++version = "0.8.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" ++checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" + dependencies = [ +- "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", + ] + + [[package]] + name = "crossbeam-epoch" +-version = "0.9.11" ++version = "0.9.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348" ++checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" + dependencies = [ +- "autocfg", +- "cfg-if", + "crossbeam-utils", +- "memoffset 0.6.5", +- "scopeguard", + ] + + [[package]] + name = "crossbeam-utils" +-version = "0.8.12" ++version = "0.8.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" +-dependencies = [ +- "cfg-if", +-] ++checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + + [[package]] + name = "crossterm" +@@ -620,7 +599,7 @@ dependencies = [ + "bitflags 1.3.2", + "crossterm_winapi", + "libc", +- "mio", ++ "mio 0.8.11", + "parking_lot", + "signal-hook", + "signal-hook-mio", +@@ -629,16 +608,16 @@ dependencies = [ + + [[package]] + name = "crossterm" +-version = "0.27.0" ++version = "0.28.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" ++checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" + dependencies = [ +- "bitflags 2.4.0", ++ "bitflags 2.9.0", + "crossterm_winapi", + "futures-core", +- "libc", +- "mio", ++ "mio 1.0.3", + "parking_lot", ++ "rustix 0.38.44", + "signal-hook", + "signal-hook-mio", + "winapi", +@@ -669,28 +648,28 @@ dependencies = [ + "log", + "signal-hook", + "unicode-segmentation", +- "unicode-width", ++ "unicode-width 0.1.14", + ] + + [[package]] + name = "cursive_buffered_backend" +-version = "0.6.1" ++version = "0.6.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e902dfdc09ca6729606f45a5ce6ce4ef9637fc257e8b11ca7806fc9aabd03cf7" ++checksum = "cf6287f9e06f44558a3264976e70c51187482a0271d48abfd88f0d3af18d3ee6" + dependencies = [ + "cursive_core", + "enumset", + "log", + "smallvec", + "unicode-segmentation", +- "unicode-width", ++ "unicode-width 0.2.0", + ] + + [[package]] + name = "cursive_core" +-version = "0.3.5" ++version = "0.3.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e8c04587ebe2dc513de481bfaadd99edef636269b3b722ad11db6a12307aecbe" ++checksum = "4db3b58161228d0dcb45c7968c5e74c3f03ad39e8983e58ad7d57061aa2cd94d" + dependencies = [ + "ahash", + "crossbeam-channel", +@@ -702,59 +681,15 @@ dependencies = [ + "owning_ref", + "time", + "unicode-segmentation", +- "unicode-width", ++ "unicode-width 0.1.14", + "xi-unicode", + ] + +-[[package]] +-name = "cxx" +-version = "1.0.80" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6b7d4e43b25d3c994662706a1d4fcfc32aaa6afd287502c111b237093bb23f3a" +-dependencies = [ +- "cc", +- "cxxbridge-flags", +- "cxxbridge-macro", +- "link-cplusplus", +-] +- +-[[package]] +-name = "cxx-build" +-version = "1.0.80" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "84f8829ddc213e2c1368e51a2564c552b65a8cb6a28f31e576270ac81d5e5827" +-dependencies = [ +- "cc", +- "codespan-reporting", +- "once_cell", +- "proc-macro2", +- "quote", +- "scratch", +- "syn 1.0.109", +-] +- +-[[package]] +-name = "cxxbridge-flags" +-version = "1.0.80" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e72537424b474af1460806647c41d4b6d35d09ef7fe031c5c2fa5766047cc56a" +- +-[[package]] +-name = "cxxbridge-macro" +-version = "1.0.80" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "309e4fb93eed90e1e14bea0da16b209f81813ba9fc7830c20ed151dd7bc0a4d7" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn 1.0.109", +-] +- + [[package]] + name = "darling" +-version = "0.14.2" ++version = "0.20.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" ++checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" + dependencies = [ + "darling_core", + "darling_macro", +@@ -762,26 +697,35 @@ dependencies = [ + + [[package]] + name = "darling_core" +-version = "0.14.2" ++version = "0.20.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a784d2ccaf7c98501746bf0be29b2022ba41fd62a2e622af997a03e9f972859f" ++checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" + dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.100", + ] + + [[package]] + name = "darling_macro" +-version = "0.14.2" ++version = "0.20.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" ++checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" + dependencies = [ + "darling_core", + "quote", +- "syn 1.0.109", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "deranged" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" ++dependencies = [ ++ "powerfmt", + ] + + [[package]] +@@ -807,145 +751,136 @@ dependencies = [ + + [[package]] + name = "either" +-version = "1.8.0" ++version = "1.15.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" ++checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" + + [[package]] + name = "encode_unicode" +-version = "0.3.6" ++version = "1.0.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" ++checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" + + [[package]] + name = "enum-iterator" +-version = "1.4.1" ++version = "1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" ++checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" + dependencies = [ + "enum-iterator-derive", + ] + + [[package]] + name = "enum-iterator-derive" +-version = "1.2.1" ++version = "1.4.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" ++checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" + dependencies = [ + "proc-macro2", + "quote", +- "syn 2.0.52", ++ "syn 2.0.100", + ] + + [[package]] + name = "enum-map" +-version = "2.4.1" ++version = "2.7.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f5a56d54c8dd9b3ad34752ed197a4eb2a6601bc010808eb097a04a58ae4c43e1" ++checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" + dependencies = [ + "enum-map-derive", + ] + + [[package]] + name = "enum-map-derive" +-version = "0.10.0" ++version = "0.17.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a9045e2676cd5af83c3b167d917b0a5c90a4d8e266e2683d6631b235c457fc27" ++checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" + dependencies = [ + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.100", + ] + + [[package]] + name = "enumset" +-version = "1.0.12" ++version = "1.1.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "19be8061a06ab6f3a6cf21106c873578bf01bd42ad15e0311a9c76161cb1c753" ++checksum = "d07a4b049558765cef5f0c1a273c3fc57084d768b44d2f98127aef4cceb17293" + dependencies = [ + "enumset_derive", + ] + + [[package]] + name = "enumset_derive" +-version = "0.6.1" ++version = "0.10.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "03e7b551eba279bf0fa88b83a46330168c1560a52a94f5126f892f0b364ab3e0" ++checksum = "59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242" + dependencies = [ + "darling", + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.100", + ] + + [[package]] + name = "equivalent" +-version = "1.0.0" ++version = "1.0.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" ++checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + + [[package]] + name = "erased-serde" +-version = "0.3.23" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "54558e0ba96fbe24280072642eceb9d7d442e32c7ec0ea9e7ecd7b4ea2cf4e11" ++checksum = "6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c" + dependencies = [ + "serde", + ] + + [[package]] + name = "errno" +-version = "0.3.1" ++version = "0.3.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" ++checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" + dependencies = [ +- "errno-dragonfly", +- "libc", +- "windows-sys 0.48.0", +-] +- +-[[package]] +-name = "errno-dragonfly" +-version = "0.1.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +-dependencies = [ +- "cc", + "libc", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "fastrand" +-version = "2.0.1" ++version = "2.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" ++checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + + [[package]] + name = "fb_procfs" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ ++ "below-common", + "lazy_static", + "libc", +- "nix 0.25.0", ++ "nix", + "openat", ++ "parking_lot", + "serde", + "slog", + "slog-term", + "tempfile", +- "thiserror", ++ "thiserror 2.0.12", + "threadpool", + ] + + [[package]] + name = "filetime" +-version = "0.2.18" ++version = "0.2.25" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" ++checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" + dependencies = [ + "cfg-if", + "libc", +- "redox_syscall 0.2.16", +- "windows-sys 0.42.0", ++ "libredox", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -962,9 +897,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + + [[package]] + name = "futures" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" ++checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" + dependencies = [ + "futures-channel", + "futures-core", +@@ -977,9 +912,9 @@ dependencies = [ + + [[package]] + name = "futures-channel" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" ++checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" + dependencies = [ + "futures-core", + "futures-sink", +@@ -987,15 +922,15 @@ dependencies = [ + + [[package]] + name = "futures-core" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" ++checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" + + [[package]] + name = "futures-executor" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" ++checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" + dependencies = [ + "futures-core", + "futures-task", +@@ -1004,38 +939,38 @@ dependencies = [ + + [[package]] + name = "futures-io" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" ++checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + + [[package]] + name = "futures-macro" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" ++checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" + dependencies = [ + "proc-macro2", + "quote", +- "syn 2.0.52", ++ "syn 2.0.100", + ] + + [[package]] + name = "futures-sink" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" ++checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" + + [[package]] + name = "futures-task" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" ++checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + + [[package]] + name = "futures-util" +-version = "0.3.30" ++version = "0.3.31" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" ++checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" + dependencies = [ + "futures 0.1.31", + "futures-channel", +@@ -1052,38 +987,44 @@ dependencies = [ + + [[package]] + name = "getrandom" +-version = "0.2.8" ++version = "0.2.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" ++checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" + dependencies = [ + "cfg-if", + "libc", +- "wasi", ++ "wasi 0.11.0+wasi-snapshot-preview1", + ] + + [[package]] +-name = "gimli" +-version = "0.28.1" ++name = "getrandom" ++version = "0.3.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" ++checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" ++dependencies = [ ++ "cfg-if", ++ "libc", ++ "r-efi", ++ "wasi 0.14.2+wasi-0.2.4", ++] + + [[package]] +-name = "half" +-version = "1.8.2" ++name = "gimli" ++version = "0.31.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" ++checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" + + [[package]] +-name = "hashbrown" +-version = "0.14.0" ++name = "half" ++version = "1.8.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" ++checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" + + [[package]] +-name = "heck" +-version = "0.4.0" ++name = "hashbrown" ++version = "0.15.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" ++checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + + [[package]] + name = "heck" +@@ -1093,18 +1034,15 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + + [[package]] + name = "hermit-abi" +-version = "0.1.19" ++version = "0.3.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +-dependencies = [ +- "libc", +-] ++checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + + [[package]] + name = "hermit-abi" +-version = "0.3.9" ++version = "0.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" ++checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" + + [[package]] + name = "hostname" +@@ -1119,32 +1057,31 @@ dependencies = [ + + [[package]] + name = "humantime" +-version = "2.1.0" ++version = "2.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" ++checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" + + [[package]] + name = "iana-time-zone" +-version = "0.1.53" ++version = "0.1.61" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" ++checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" + dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", +- "winapi", ++ "windows-core", + ] + + [[package]] + name = "iana-time-zone-haiku" +-version = "0.1.1" ++version = "0.1.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" ++checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" + dependencies = [ +- "cxx", +- "cxx-build", ++ "cc", + ] + + [[package]] +@@ -1155,9 +1092,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + + [[package]] + name = "indexmap" +-version = "2.0.0" ++version = "2.8.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" ++checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" + dependencies = [ + "equivalent", + "hashbrown", +@@ -1165,84 +1102,90 @@ dependencies = [ + + [[package]] + name = "indicatif" +-version = "0.17.6" ++version = "0.17.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" ++checksum = "183b3088984b400f4cfac3620d5e076c84da5364016b4f49473de574b2586235" + dependencies = [ + "console", +- "instant", ++ "futures-core", + "number_prefix", + "portable-atomic", + "rayon", + "tokio", + "unicode-segmentation", +- "unicode-width", ++ "unicode-width 0.2.0", ++ "web-time", + ] + + [[package]] +-name = "instant" +-version = "0.1.12" ++name = "is-terminal" ++version = "0.4.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" ++checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" + dependencies = [ +- "cfg-if", ++ "hermit-abi 0.5.0", ++ "libc", ++ "windows-sys 0.59.0", + ] + ++[[package]] ++name = "is_terminal_polyfill" ++version = "1.70.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" ++ + [[package]] + name = "itertools" +-version = "0.11.0" ++version = "0.14.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" ++checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" + dependencies = [ + "either", + ] + + [[package]] + name = "itoa" +-version = "1.0.4" ++version = "1.0.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" ++checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" + + [[package]] + name = "jobserver" +-version = "0.1.25" ++version = "0.1.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" ++checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" + dependencies = [ + "libc", + ] + + [[package]] + name = "js-sys" +-version = "0.3.60" ++version = "0.3.77" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" ++checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" + dependencies = [ ++ "once_cell", + "wasm-bindgen", + ] + + [[package]] + name = "lazy_static" +-version = "1.4.0" ++version = "1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" ++checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + + [[package]] + name = "libbpf-cargo" +-version = "0.23.0" ++version = "0.25.0-beta.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d230f1634d0ef9f5708bcf644c3644c357ee324649c3001d50ef4250fb3af9df" ++checksum = "d78971d366f266fd02f310b68e8cbf08ebaa35d7dd458ba98360448d8bb25467" + dependencies = [ + "anyhow", + "cargo_metadata", + "clap", + "libbpf-rs", +- "libbpf-sys", + "memmap2", +- "num_enum", + "regex", +- "scroll", +- "scroll_derive", + "semver", + "serde", + "serde_json", +@@ -1251,63 +1194,67 @@ dependencies = [ + + [[package]] + name = "libbpf-rs" +-version = "0.23.0" ++version = "0.25.0-beta.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e289c054443e63d3f09d4ee53044c4311166f3df31b7835a29995a6c3b03c18d" ++checksum = "ad0b2c8f481a850c965da7642f3a844c6d32d7f8709b5afb74c5f6bff1e37582" + dependencies = [ +- "bitflags 2.4.0", ++ "bitflags 2.9.0", + "libbpf-sys", + "libc", +- "num_enum", +- "strum_macros", +- "thiserror", + "vsprintf", + ] + + [[package]] + name = "libbpf-sys" +-version = "1.4.0+v1.4.0" ++version = "1.5.0+v1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a4ee5f6d35341ad5d492fd92466c45ff11d6e8104ffa8208f62450875c93e258" ++checksum = "2d8306b516a70a129cb6afed17c1e51e162d35aadfcc6339364addcebe32de90" + dependencies = [ + "cc", +- "nix 0.27.1", +- "num_cpus", ++ "nix", + "pkg-config", + ] + + [[package]] + name = "libc" +-version = "0.2.153" ++version = "0.2.171" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" ++checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" + + [[package]] + name = "libm" +-version = "0.2.5" ++version = "0.2.11" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "292a948cd991e376cf75541fe5b97a1081d713c618b4f1b9500f8844e49eb565" ++checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" + + [[package]] +-name = "link-cplusplus" +-version = "1.0.7" ++name = "libredox" ++version = "0.1.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" ++checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" + dependencies = [ +- "cc", ++ "bitflags 2.9.0", ++ "libc", ++ "redox_syscall", + ] + + [[package]] + name = "linux-raw-sys" +-version = "0.4.10" ++version = "0.4.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" ++checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" ++ ++[[package]] ++name = "linux-raw-sys" ++version = "0.9.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" + + [[package]] + name = "lock_api" +-version = "0.4.9" ++version = "0.4.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" ++checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" + dependencies = [ + "autocfg", + "scopeguard", +@@ -1315,9 +1262,9 @@ dependencies = [ + + [[package]] + name = "log" +-version = "0.4.21" ++version = "0.4.26" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" ++checksum = "30bde2b3dc3671ae49d8e2e9f044c7c005836e7a023ee57cffa25ab82764bb9e" + + [[package]] + name = "maplit" +@@ -1333,9 +1280,9 @@ checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" + + [[package]] + name = "memchr" +-version = "2.6.3" ++version = "2.7.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" ++checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + + [[package]] + name = "memmap2" +@@ -1346,15 +1293,6 @@ dependencies = [ + "libc", + ] + +-[[package]] +-name = "memoffset" +-version = "0.6.5" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +-dependencies = [ +- "autocfg", +-] +- + [[package]] + name = "memoffset" + version = "0.9.1" +@@ -1366,11 +1304,11 @@ dependencies = [ + + [[package]] + name = "miniz_oxide" +-version = "0.7.2" ++version = "0.8.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" ++checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" + dependencies = [ +- "adler", ++ "adler2", + ] + + [[package]] +@@ -1381,10 +1319,22 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" + dependencies = [ + "libc", + "log", +- "wasi", ++ "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", + ] + ++[[package]] ++name = "mio" ++version = "1.0.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" ++dependencies = [ ++ "libc", ++ "log", ++ "wasi 0.11.0+wasi-snapshot-preview1", ++ "windows-sys 0.52.0", ++] ++ + [[package]] + name = "netlink-packet-core" + version = "0.7.0" +@@ -1419,14 +1369,14 @@ dependencies = [ + "anyhow", + "byteorder", + "paste", +- "thiserror", ++ "thiserror 1.0.69", + ] + + [[package]] + name = "netlink-sys" +-version = "0.8.5" ++version = "0.8.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" ++checksum = "16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23" + dependencies = [ + "bytes", + "libc", +@@ -1435,35 +1385,22 @@ dependencies = [ + + [[package]] + name = "nix" +-version = "0.25.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abb" +-dependencies = [ +- "autocfg", +- "bitflags 1.3.2", +- "cfg-if", +- "libc", +- "memoffset 0.6.5", +- "pin-utils", +-] +- +-[[package]] +-name = "nix" +-version = "0.27.1" ++version = "0.29.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" ++checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" + dependencies = [ +- "bitflags 2.4.0", ++ "bitflags 2.9.0", + "cfg-if", ++ "cfg_aliases", + "libc", +- "memoffset 0.9.1", ++ "memoffset", + ] + + [[package]] + name = "num" +-version = "0.4.0" ++version = "0.4.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606" ++checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" + dependencies = [ + "num-complex", + "num-integer", +@@ -1474,28 +1411,33 @@ dependencies = [ + + [[package]] + name = "num-complex" +-version = "0.4.2" ++version = "0.4.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7ae39348c8bc5fbd7f40c727a9925f03517afd2ab27d46702108b6a7e5414c19" ++checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" + dependencies = [ + "num-traits", + ] + ++[[package]] ++name = "num-conv" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" ++ + [[package]] + name = "num-integer" +-version = "0.1.45" ++version = "0.1.46" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" ++checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" + dependencies = [ +- "autocfg", + "num-traits", + ] + + [[package]] + name = "num-iter" +-version = "0.1.43" ++version = "0.1.45" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" ++checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" + dependencies = [ + "autocfg", + "num-integer", +@@ -1504,20 +1446,19 @@ dependencies = [ + + [[package]] + name = "num-rational" +-version = "0.4.1" ++version = "0.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" ++checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" + dependencies = [ +- "autocfg", + "num-integer", + "num-traits", + ] + + [[package]] + name = "num-traits" +-version = "0.2.15" ++version = "0.2.19" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" ++checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" + dependencies = [ + "autocfg", + "libm", +@@ -1533,32 +1474,11 @@ dependencies = [ + "libc", + ] + +-[[package]] +-name = "num_enum" +-version = "0.5.7" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +-dependencies = [ +- "num_enum_derive", +-] +- +-[[package]] +-name = "num_enum_derive" +-version = "0.5.7" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +-dependencies = [ +- "proc-macro-crate", +- "proc-macro2", +- "quote", +- "syn 1.0.109", +-] +- + [[package]] + name = "num_threads" +-version = "0.1.6" ++version = "0.1.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" ++checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" + dependencies = [ + "libc", + ] +@@ -1571,18 +1491,18 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + + [[package]] + name = "object" +-version = "0.32.2" ++version = "0.36.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" ++checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" + dependencies = [ + "memchr", + ] + + [[package]] + name = "once_cell" +-version = "1.15.0" ++version = "1.21.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1" ++checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" + + [[package]] + name = "openat" +@@ -1595,13 +1515,13 @@ dependencies = [ + + [[package]] + name = "os_info" +-version = "3.5.1" ++version = "3.10.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" ++checksum = "2a604e53c24761286860eba4e2c8b23a0161526476b1de520139d69cdb85a6b5" + dependencies = [ + "log", + "serde", +- "winapi", ++ "windows-sys 0.52.0", + ] + + [[package]] +@@ -1615,9 +1535,9 @@ dependencies = [ + + [[package]] + name = "parking_lot" +-version = "0.12.1" ++version = "0.12.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" ++checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" + dependencies = [ + "lock_api", + "parking_lot_core", +@@ -1625,28 +1545,28 @@ dependencies = [ + + [[package]] + name = "parking_lot_core" +-version = "0.9.4" ++version = "0.9.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0" ++checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" + dependencies = [ + "cfg-if", + "libc", +- "redox_syscall 0.2.16", ++ "redox_syscall", + "smallvec", +- "windows-sys 0.42.0", ++ "windows-targets 0.52.6", + ] + + [[package]] + name = "paste" +-version = "1.0.14" ++version = "1.0.15" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" ++checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + + [[package]] + name = "pin-project-lite" +-version = "0.2.13" ++version = "0.2.16" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" ++checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" + + [[package]] + name = "pin-utils" +@@ -1656,9 +1576,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + + [[package]] + name = "pkg-config" +-version = "0.3.30" ++version = "0.3.32" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" ++checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + + [[package]] + name = "plain" +@@ -1668,9 +1588,9 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + + [[package]] + name = "portable-atomic" +-version = "1.3.2" ++version = "1.11.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dc59d1bcc64fc5d021d67521f818db868368028108d37f0e98d74e33f68297b5" ++checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e" + + [[package]] + name = "portpicker" +@@ -1682,40 +1602,44 @@ dependencies = [ + ] + + [[package]] +-name = "ppv-lite86" +-version = "0.2.16" ++name = "powerfmt" ++version = "0.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" ++checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + + [[package]] +-name = "proc-macro-crate" +-version = "1.2.1" ++name = "ppv-lite86" ++version = "0.2.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" ++checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" + dependencies = [ +- "once_cell", +- "thiserror", +- "toml 0.5.8", ++ "zerocopy 0.8.23", + ] + + [[package]] + name = "proc-macro2" +-version = "1.0.78" ++version = "1.0.94" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" ++checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" + dependencies = [ + "unicode-ident", + ] + + [[package]] + name = "quote" +-version = "1.0.35" ++version = "1.0.40" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" ++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" + dependencies = [ + "proc-macro2", + ] + ++[[package]] ++name = "r-efi" ++version = "5.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" ++ + [[package]] + name = "rand" + version = "0.8.5" +@@ -1743,7 +1667,7 @@ version = "0.6.4" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" + dependencies = [ +- "getrandom", ++ "getrandom 0.2.15", + ] + + [[package]] +@@ -1758,62 +1682,49 @@ dependencies = [ + + [[package]] + name = "rayon" +-version = "1.5.3" ++version = "1.10.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d" ++checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" + dependencies = [ +- "autocfg", +- "crossbeam-deque", + "either", + "rayon-core", + ] + + [[package]] + name = "rayon-core" +-version = "1.9.3" ++version = "1.12.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f" ++checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" + dependencies = [ +- "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", +- "num_cpus", +-] +- +-[[package]] +-name = "redox_syscall" +-version = "0.2.16" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +-dependencies = [ +- "bitflags 1.3.2", + ] + + [[package]] + name = "redox_syscall" +-version = "0.4.1" ++version = "0.5.10" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" ++checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" + dependencies = [ +- "bitflags 1.3.2", ++ "bitflags 2.9.0", + ] + + [[package]] + name = "redox_users" +-version = "0.4.3" ++version = "0.4.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" ++checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" + dependencies = [ +- "getrandom", +- "redox_syscall 0.2.16", +- "thiserror", ++ "getrandom 0.2.15", ++ "libredox", ++ "thiserror 1.0.69", + ] + + [[package]] + name = "regex" +-version = "1.9.5" ++version = "1.11.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" ++checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" + dependencies = [ + "aho-corasick", + "memchr", +@@ -1823,9 +1734,9 @@ dependencies = [ + + [[package]] + name = "regex-automata" +-version = "0.3.8" ++version = "0.4.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" ++checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" + dependencies = [ + "aho-corasick", + "memchr", +@@ -1834,53 +1745,66 @@ dependencies = [ + + [[package]] + name = "regex-syntax" +-version = "0.7.5" ++version = "0.8.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" ++checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" + + [[package]] + name = "resctrlfs" +-version = "0.8.1" ++version = "0.9.0" + dependencies = [ + "maplit", +- "nix 0.25.0", ++ "nix", + "openat", + "paste", + "serde", + "tempfile", +- "thiserror", ++ "thiserror 2.0.12", + ] + + [[package]] + name = "rustc-demangle" +-version = "0.1.23" ++version = "0.1.24" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" ++checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + + [[package]] + name = "rustix" +-version = "0.38.21" ++version = "0.38.44" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" ++checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" + dependencies = [ +- "bitflags 2.4.0", ++ "bitflags 2.9.0", + "errno", + "libc", +- "linux-raw-sys", +- "windows-sys 0.48.0", ++ "linux-raw-sys 0.4.15", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "rustix" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f7178faa4b75a30e269c71e61c353ce2748cf3d76f0c44c393f4e60abf49b825" ++dependencies = [ ++ "bitflags 2.9.0", ++ "errno", ++ "libc", ++ "linux-raw-sys 0.9.3", ++ "windows-sys 0.59.0", + ] + + [[package]] + name = "rustversion" +-version = "1.0.9" ++version = "1.0.20" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" ++checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" + + [[package]] + name = "ryu" +-version = "1.0.11" ++version = "1.0.20" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" ++checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + + [[package]] + name = "same-file" +@@ -1893,47 +1817,24 @@ dependencies = [ + + [[package]] + name = "scopeguard" +-version = "1.1.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +- +-[[package]] +-name = "scratch" +-version = "1.0.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +- +-[[package]] +-name = "scroll" +-version = "0.11.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +- +-[[package]] +-name = "scroll_derive" +-version = "0.11.0" ++version = "1.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" +-dependencies = [ +- "proc-macro2", +- "quote", +- "syn 1.0.109", +-] ++checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + + [[package]] + name = "semver" +-version = "1.0.14" ++version = "1.0.26" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" ++checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" + dependencies = [ + "serde", + ] + + [[package]] + name = "serde" +-version = "1.0.188" ++version = "1.0.219" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" ++checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" + dependencies = [ + "serde_derive", + ] +@@ -1950,35 +1851,42 @@ dependencies = [ + + [[package]] + name = "serde_derive" +-version = "1.0.188" ++version = "1.0.219" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" ++checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" + dependencies = [ + "proc-macro2", + "quote", +- "syn 2.0.52", ++ "syn 2.0.100", + ] + + [[package]] + name = "serde_json" +-version = "1.0.100" ++version = "1.0.140" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" ++checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" + dependencies = [ + "itoa", ++ "memchr", + "ryu", + "serde", + ] + + [[package]] + name = "serde_spanned" +-version = "0.6.4" ++version = "0.6.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" ++checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" + dependencies = [ + "serde", + ] + ++[[package]] ++name = "shlex" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" ++ + [[package]] + name = "signal-hook" + version = "0.3.17" +@@ -1991,29 +1899,30 @@ dependencies = [ + + [[package]] + name = "signal-hook-mio" +-version = "0.2.3" ++version = "0.2.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" ++checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" + dependencies = [ + "libc", +- "mio", ++ "mio 0.8.11", ++ "mio 1.0.3", + "signal-hook", + ] + + [[package]] + name = "signal-hook-registry" +-version = "1.4.0" ++version = "1.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" ++checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" + dependencies = [ + "libc", + ] + + [[package]] + name = "slab" +-version = "0.4.7" ++version = "0.4.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" ++checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" + dependencies = [ + "autocfg", + ] +@@ -2029,11 +1938,11 @@ dependencies = [ + + [[package]] + name = "slog-term" +-version = "2.9.0" ++version = "2.9.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "87d29185c55b7b258b4f120eab00f48557d4d9bc814f41713f449d35b0f8977c" ++checksum = "b6e022d0b998abfe5c3782c1f03551a596269450ccd677ea51c56f8b214610e8" + dependencies = [ +- "atty", ++ "is-terminal", + "slog", + "term", + "thread_local", +@@ -2042,15 +1951,15 @@ dependencies = [ + + [[package]] + name = "smallvec" +-version = "1.10.0" ++version = "1.14.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" ++checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" + + [[package]] + name = "socket2" +-version = "0.5.6" ++version = "0.5.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" ++checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" + dependencies = [ + "libc", + "windows-sys 0.52.0", +@@ -2070,22 +1979,9 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + + [[package]] + name = "strsim" +-version = "0.11.0" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +- +-[[package]] +-name = "strum_macros" +-version = "0.24.3" ++version = "0.11.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" +-dependencies = [ +- "heck 0.4.0", +- "proc-macro2", +- "quote", +- "rustversion", +- "syn 1.0.109", +-] ++checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + + [[package]] + name = "syn" +@@ -2100,9 +1996,9 @@ dependencies = [ + + [[package]] + name = "syn" +-version = "2.0.52" ++version = "2.0.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" ++checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" + dependencies = [ + "proc-macro2", + "quote", +@@ -2111,9 +2007,9 @@ dependencies = [ + + [[package]] + name = "tar" +-version = "0.4.40" ++version = "0.4.44" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" ++checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" + dependencies = [ + "filetime", + "libc", +@@ -2122,15 +2018,15 @@ dependencies = [ + + [[package]] + name = "tempfile" +-version = "3.8.1" ++version = "3.19.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" ++checksum = "488960f40a3fd53d72c2a29a58722561dee8afdd175bd88e3db4677d7b2ba600" + dependencies = [ +- "cfg-if", + "fastrand", +- "redox_syscall 0.4.1", +- "rustix", +- "windows-sys 0.48.0", ++ "getrandom 0.3.2", ++ "once_cell", ++ "rustix 1.0.2", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -2145,60 +2041,62 @@ dependencies = [ + ] + + [[package]] +-name = "termcolor" +-version = "1.1.3" ++name = "terminal_size" ++version = "0.4.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" ++checksum = "45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed" + dependencies = [ +- "winapi-util", ++ "rustix 1.0.2", ++ "windows-sys 0.59.0", + ] + + [[package]] +-name = "terminal_size" +-version = "0.1.17" ++name = "thiserror" ++version = "1.0.69" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df" ++checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" + dependencies = [ +- "libc", +- "winapi", ++ "thiserror-impl 1.0.69", + ] + + [[package]] +-name = "terminal_size" +-version = "0.3.0" ++name = "thiserror" ++version = "2.0.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" ++checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" + dependencies = [ +- "rustix", +- "windows-sys 0.48.0", ++ "thiserror-impl 2.0.12", + ] + + [[package]] +-name = "thiserror" +-version = "1.0.57" ++name = "thiserror-impl" ++version = "1.0.69" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" ++checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" + dependencies = [ +- "thiserror-impl", ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", + ] + + [[package]] + name = "thiserror-impl" +-version = "1.0.57" ++version = "2.0.12" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" ++checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" + dependencies = [ + "proc-macro2", + "quote", +- "syn 2.0.52", ++ "syn 2.0.100", + ] + + [[package]] + name = "thread_local" +-version = "1.1.4" ++version = "1.1.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" ++checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" + dependencies = [ ++ "cfg-if", + "once_cell", + ] + +@@ -2213,13 +2111,16 @@ dependencies = [ + + [[package]] + name = "time" +-version = "0.3.16" ++version = "0.3.40" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0fab5c8b9980850e06d92ddbe3ab839c062c801f3927c0fb8abd6fc8e918fbca" ++checksum = "9d9c75b47bdff86fa3334a3db91356b8d7d86a9b839dab7d0bdc5c3d3a077618" + dependencies = [ ++ "deranged", + "itoa", + "libc", ++ "num-conv", + "num_threads", ++ "powerfmt", + "serde", + "time-core", + "time-macros", +@@ -2227,64 +2128,55 @@ dependencies = [ + + [[package]] + name = "time-core" +-version = "0.1.0" ++version = "0.1.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" ++checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" + + [[package]] + name = "time-macros" +-version = "0.2.5" ++version = "0.2.21" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "65bb801831d812c562ae7d2bfb531f26e66e4e1f6b17307ba4149c5064710e5b" ++checksum = "29aa485584182073ed57fd5004aa09c371f021325014694e432313345865fd04" + dependencies = [ ++ "num-conv", + "time-core", + ] + + [[package]] + name = "tokio" +-version = "1.37.0" ++version = "1.44.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" ++checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" + dependencies = [ + "backtrace", + "bytes", + "libc", +- "mio", +- "num_cpus", ++ "mio 1.0.3", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "tracing", +- "windows-sys 0.48.0", ++ "windows-sys 0.52.0", + ] + + [[package]] + name = "tokio-macros" +-version = "2.2.0" ++version = "2.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" ++checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" + dependencies = [ + "proc-macro2", + "quote", +- "syn 2.0.52", +-] +- +-[[package]] +-name = "toml" +-version = "0.5.8" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +-dependencies = [ +- "serde", ++ "syn 2.0.100", + ] + + [[package]] + name = "toml" +-version = "0.8.6" ++version = "0.8.20" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8ff9e3abce27ee2c9a37f9ad37238c1bdd4e789c84ba37df76aa4d528f5072cc" ++checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" + dependencies = [ + "serde", + "serde_spanned", +@@ -2294,18 +2186,18 @@ dependencies = [ + + [[package]] + name = "toml_datetime" +-version = "0.6.5" ++version = "0.6.8" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" ++checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + dependencies = [ + "serde", + ] + + [[package]] + name = "toml_edit" +-version = "0.20.7" ++version = "0.22.24" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" ++checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" + dependencies = [ + "indexmap", + "serde", +@@ -2316,9 +2208,9 @@ dependencies = [ + + [[package]] + name = "tracing" +-version = "0.1.40" ++version = "0.1.41" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" ++checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" + dependencies = [ + "pin-project-lite", + "tracing-core", +@@ -2326,61 +2218,54 @@ dependencies = [ + + [[package]] + name = "tracing-core" +-version = "0.1.32" ++version = "0.1.33" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" ++checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" + dependencies = [ + "once_cell", + ] + + [[package]] + name = "unicase" +-version = "2.6.0" ++version = "2.8.1" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +-dependencies = [ +- "version_check", +-] ++checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + + [[package]] + name = "unicode-ident" +-version = "1.0.5" ++version = "1.0.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" ++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + + [[package]] + name = "unicode-segmentation" +-version = "1.10.0" ++version = "1.12.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" ++checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + + [[package]] + name = "unicode-width" +-version = "0.1.10" ++version = "0.1.14" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" ++checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + + [[package]] +-name = "utf8parse" +-version = "0.2.1" ++name = "unicode-width" ++version = "0.2.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" ++checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd" + + [[package]] +-name = "uzers" +-version = "0.11.3" ++name = "utf8parse" ++version = "0.2.2" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "76d283dc7e8c901e79e32d077866eaf599156cbf427fffa8289aecc52c5c3f63" +-dependencies = [ +- "libc", +- "log", +-] ++checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + + [[package]] + name = "version_check" +-version = "0.9.4" ++version = "0.9.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" ++checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + + [[package]] + name = "vsprintf" +@@ -2394,12 +2279,11 @@ dependencies = [ + + [[package]] + name = "walkdir" +-version = "2.3.2" ++version = "2.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" ++checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" + dependencies = [ + "same-file", +- "winapi", + "winapi-util", + ] + +@@ -2409,36 +2293,46 @@ version = "0.11.0+wasi-snapshot-preview1" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + ++[[package]] ++name = "wasi" ++version = "0.14.2+wasi-0.2.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" ++dependencies = [ ++ "wit-bindgen-rt", ++] ++ + [[package]] + name = "wasm-bindgen" +-version = "0.2.83" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" ++checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" + dependencies = [ + "cfg-if", ++ "once_cell", ++ "rustversion", + "wasm-bindgen-macro", + ] + + [[package]] + name = "wasm-bindgen-backend" +-version = "0.2.83" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" ++checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" + dependencies = [ + "bumpalo", + "log", +- "once_cell", + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.100", + "wasm-bindgen-shared", + ] + + [[package]] + name = "wasm-bindgen-macro" +-version = "0.2.83" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" ++checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" + dependencies = [ + "quote", + "wasm-bindgen-macro-support", +@@ -2446,22 +2340,35 @@ dependencies = [ + + [[package]] + name = "wasm-bindgen-macro-support" +-version = "0.2.83" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" ++checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" + dependencies = [ + "proc-macro2", + "quote", +- "syn 1.0.109", ++ "syn 2.0.100", + "wasm-bindgen-backend", + "wasm-bindgen-shared", + ] + + [[package]] + name = "wasm-bindgen-shared" +-version = "0.2.83" ++version = "0.2.100" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" ++checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" ++dependencies = [ ++ "unicode-ident", ++] ++ ++[[package]] ++name = "web-time" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" ++dependencies = [ ++ "js-sys", ++ "wasm-bindgen", ++] + + [[package]] + name = "winapi" +@@ -2481,11 +2388,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + + [[package]] + name = "winapi-util" +-version = "0.1.5" ++version = "0.1.9" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" ++checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" + dependencies = [ +- "winapi", ++ "windows-sys 0.59.0", + ] + + [[package]] +@@ -2495,27 +2402,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + + [[package]] +-name = "windows-sys" +-version = "0.42.0" ++name = "windows-core" ++version = "0.52.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" ++checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" + dependencies = [ +- "windows_aarch64_gnullvm 0.42.2", +- "windows_aarch64_msvc 0.42.2", +- "windows_i686_gnu 0.42.2", +- "windows_i686_msvc 0.42.2", +- "windows_x86_64_gnu 0.42.2", +- "windows_x86_64_gnullvm 0.42.2", +- "windows_x86_64_msvc 0.42.2", ++ "windows-targets 0.52.6", + ] + ++[[package]] ++name = "windows-link" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3" ++ + [[package]] + name = "windows-sys" + version = "0.48.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" + dependencies = [ +- "windows-targets 0.48.0", ++ "windows-targets 0.48.5", + ] + + [[package]] +@@ -2524,181 +2431,165 @@ version = "0.52.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" + dependencies = [ +- "windows-targets 0.52.4", ++ "windows-targets 0.52.6", + ] + + [[package]] +-name = "windows-targets" +-version = "0.48.0" ++name = "windows-sys" ++version = "0.59.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" ++checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" + dependencies = [ +- "windows_aarch64_gnullvm 0.48.0", +- "windows_aarch64_msvc 0.48.0", +- "windows_i686_gnu 0.48.0", +- "windows_i686_msvc 0.48.0", +- "windows_x86_64_gnu 0.48.0", +- "windows_x86_64_gnullvm 0.48.0", +- "windows_x86_64_msvc 0.48.0", ++ "windows-targets 0.52.6", + ] + + [[package]] + name = "windows-targets" +-version = "0.52.4" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" ++checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" + dependencies = [ +- "windows_aarch64_gnullvm 0.52.4", +- "windows_aarch64_msvc 0.52.4", +- "windows_i686_gnu 0.52.4", +- "windows_i686_msvc 0.52.4", +- "windows_x86_64_gnu 0.52.4", +- "windows_x86_64_gnullvm 0.52.4", +- "windows_x86_64_msvc 0.52.4", ++ "windows_aarch64_gnullvm 0.48.5", ++ "windows_aarch64_msvc 0.48.5", ++ "windows_i686_gnu 0.48.5", ++ "windows_i686_msvc 0.48.5", ++ "windows_x86_64_gnu 0.48.5", ++ "windows_x86_64_gnullvm 0.48.5", ++ "windows_x86_64_msvc 0.48.5", + ] + + [[package]] +-name = "windows_aarch64_gnullvm" +-version = "0.42.2" ++name = "windows-targets" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" ++checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" ++dependencies = [ ++ "windows_aarch64_gnullvm 0.52.6", ++ "windows_aarch64_msvc 0.52.6", ++ "windows_i686_gnu 0.52.6", ++ "windows_i686_gnullvm", ++ "windows_i686_msvc 0.52.6", ++ "windows_x86_64_gnu 0.52.6", ++ "windows_x86_64_gnullvm 0.52.6", ++ "windows_x86_64_msvc 0.52.6", ++] + + [[package]] + name = "windows_aarch64_gnullvm" +-version = "0.48.0" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" ++checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + + [[package]] + name = "windows_aarch64_gnullvm" +-version = "0.52.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +- +-[[package]] +-name = "windows_aarch64_msvc" +-version = "0.42.2" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" ++checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + + [[package]] + name = "windows_aarch64_msvc" +-version = "0.48.0" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" ++checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + + [[package]] + name = "windows_aarch64_msvc" +-version = "0.52.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +- +-[[package]] +-name = "windows_i686_gnu" +-version = "0.42.2" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" ++checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + + [[package]] + name = "windows_i686_gnu" +-version = "0.48.0" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" ++checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + + [[package]] + name = "windows_i686_gnu" +-version = "0.52.4" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" ++checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + + [[package]] +-name = "windows_i686_msvc" +-version = "0.42.2" ++name = "windows_i686_gnullvm" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" ++checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + + [[package]] + name = "windows_i686_msvc" +-version = "0.48.0" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" ++checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + + [[package]] + name = "windows_i686_msvc" +-version = "0.52.4" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +- +-[[package]] +-name = "windows_x86_64_gnu" +-version = "0.42.2" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" ++checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + + [[package]] + name = "windows_x86_64_gnu" +-version = "0.48.0" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" ++checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + + [[package]] + name = "windows_x86_64_gnu" +-version = "0.52.4" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" ++checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + + [[package]] + name = "windows_x86_64_gnullvm" +-version = "0.42.2" +-source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +- +-[[package]] +-name = "windows_x86_64_gnullvm" +-version = "0.48.0" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" ++checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + + [[package]] + name = "windows_x86_64_gnullvm" +-version = "0.52.4" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" ++checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + + [[package]] + name = "windows_x86_64_msvc" +-version = "0.42.2" ++version = "0.48.5" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" ++checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + + [[package]] + name = "windows_x86_64_msvc" +-version = "0.48.0" ++version = "0.52.6" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" ++checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + + [[package]] +-name = "windows_x86_64_msvc" +-version = "0.52.4" ++name = "winnow" ++version = "0.7.4" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" ++checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" ++dependencies = [ ++ "memchr", ++] + + [[package]] +-name = "winnow" +-version = "0.5.18" ++name = "wit-bindgen-rt" ++version = "0.39.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32" ++checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" + dependencies = [ +- "memchr", ++ "bitflags 2.9.0", + ] + + [[package]] + name = "xattr" +-version = "1.0.1" ++version = "1.5.0" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" ++checksum = "0d65cbf2f12c15564212d48f4e3dfb87923d25d611f2aed18f4cb23f0413d89e" + dependencies = [ + "libc", ++ "rustix 1.0.2", + ] + + [[package]] +@@ -2707,29 +2598,69 @@ version = "0.3.0" + source = "registry+https://github.com/rust-lang/crates.io-index" + checksum = "a67300977d3dc3f8034dae89778f502b6ba20b269527b3223ba59c0cf393bb8a" + ++[[package]] ++name = "zerocopy" ++version = "0.7.35" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" ++dependencies = [ ++ "zerocopy-derive 0.7.35", ++] ++ ++[[package]] ++name = "zerocopy" ++version = "0.8.23" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6" ++dependencies = [ ++ "zerocopy-derive 0.8.23", ++] ++ ++[[package]] ++name = "zerocopy-derive" ++version = "0.7.35" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "zerocopy-derive" ++version = "0.8.23" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ + [[package]] + name = "zstd" +-version = "0.13.0" ++version = "0.13.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" ++checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" + dependencies = [ + "zstd-safe", + ] + + [[package]] + name = "zstd-safe" +-version = "7.0.0" ++version = "7.2.3" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "43747c7422e2924c11144d5229878b98180ef8b06cca4ab5af37afc8a8d8ea3e" ++checksum = "f3051792fbdc2e1e143244dc28c60f73d8470e93f3f9cbd0ead44da5ed802722" + dependencies = [ + "zstd-sys", + ] + + [[package]] + name = "zstd-sys" +-version = "2.0.9+zstd.1.5.5" ++version = "2.0.14+zstd.1.5.7" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" ++checksum = "8fb060d4926e4ac3a3ad15d864e99ceb5f343c6b34f5bd6d81ae6ed417311be5" + dependencies = [ + "cc", + "pkg-config", From 3aadb410fbd2f5af891a462f0fabe9f5073fd3d9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 05:28:25 +0000 Subject: [PATCH 179/272] updatecli: 0.94.1 -> 0.95.1 --- pkgs/by-name/up/updatecli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/up/updatecli/package.nix b/pkgs/by-name/up/updatecli/package.nix index 7ac532b693c9..ac5ae13f39f9 100644 --- a/pkgs/by-name/up/updatecli/package.nix +++ b/pkgs/by-name/up/updatecli/package.nix @@ -11,16 +11,16 @@ buildGoModule rec { pname = "updatecli"; - version = "0.94.1"; + version = "0.95.1"; src = fetchFromGitHub { owner = "updatecli"; repo = "updatecli"; rev = "v${version}"; - hash = "sha256-zS9QxU9tciHT2t/Kn1g+1SOlC109kHB1lgzyK6+cDxI="; + hash = "sha256-ShiknNLbBAyNcXK3k+yhnqilkAovuwFaY3iWa5Plsbo="; }; - vendorHash = "sha256-RnuA5bUZg5BgSCebxupRW+J1TyIoi4CGz247M1bdj4k="; + vendorHash = "sha256-iuE8rphRnedYg0G2kG1WGXL1rJ/k54Oc4fp2ExP2Rro="; # tests require network access doCheck = false; From c1934a44da229453a9b36abe3b80136bb5df430e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 05:28:51 +0000 Subject: [PATCH 180/272] ddns-go: 6.9.0 -> 6.9.1 --- pkgs/by-name/dd/ddns-go/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dd/ddns-go/package.nix b/pkgs/by-name/dd/ddns-go/package.nix index 229d80ceb3c0..378c3ddfe77a 100644 --- a/pkgs/by-name/dd/ddns-go/package.nix +++ b/pkgs/by-name/dd/ddns-go/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "ddns-go"; - version = "6.9.0"; + version = "6.9.1"; src = fetchFromGitHub { owner = "jeessy2"; repo = pname; rev = "v${version}"; - hash = "sha256-eHJVd7PHUrswF1j4MrsUmle0vB8/CtH43p5ILZGljrs="; + hash = "sha256-QGvXUYeT01+P843gBX+IJWTyPg0cPI9jZWh3tAcmEqE="; }; vendorHash = "sha256-5XrwVIaQ2dMizx3Pj0dmLkpYwypUVnfxLNxmNsVhVzY="; From 5e8defe22b9fd0982d8b46cad9ca2a5ae99fba89 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 06:04:38 +0000 Subject: [PATCH 181/272] samrewritten: 202008-unstable-2025-01-09 -> 202008-unstable-2025-03-11 --- pkgs/by-name/sa/samrewritten/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sa/samrewritten/package.nix b/pkgs/by-name/sa/samrewritten/package.nix index 978f6a973137..ebec8ce6973c 100644 --- a/pkgs/by-name/sa/samrewritten/package.nix +++ b/pkgs/by-name/sa/samrewritten/package.nix @@ -12,14 +12,14 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "samrewritten"; - version = "202008-unstable-2025-01-09"; + version = "202008-unstable-2025-03-11"; src = fetchFromGitHub { owner = "PaulCombal"; repo = "SamRewritten"; # The latest release is too old, use latest commit instead - rev = "b18a009c20eb90e2edffb6ee6d5290c86c860e03"; - hash = "sha256-qwasSxNc4hJDadGTUOxzumJ4lZcHQ4Aa8W8jIJAvTt4="; + rev = "cac0291f3e4465135f5cf7d5b99fdb005fb23ade"; + hash = "sha256-+f/j2q1lJ3yp3/BBgnK9kS4P3ULQ5onQPAcUV12LYnI="; }; makeFlags = [ "PREFIX=$(out)" ]; From 138c94cdb534ed7876bc0866444958ae5911bc51 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 06:36:55 +0000 Subject: [PATCH 182/272] copywrite: 0.21.0 -> 0.22.0 --- pkgs/by-name/co/copywrite/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/copywrite/package.nix b/pkgs/by-name/co/copywrite/package.nix index 90eb96f4a8ff..c692d52735ac 100644 --- a/pkgs/by-name/co/copywrite/package.nix +++ b/pkgs/by-name/co/copywrite/package.nix @@ -9,18 +9,18 @@ }: let - commitHash = "9d021bf61a094a5eac6ae3084ceed2dda4700a73"; # matches tag release + commitHash = "d5bc935e4801a02fdbd953f8f0ae7989eaef50cf"; # matches tag release shortCommitHash = builtins.substring 0 7 commitHash; in buildGoModule rec { pname = "copywrite"; - version = "0.21.0"; + version = "0.22.0"; src = fetchFromGitHub { owner = "hashicorp"; repo = "copywrite"; tag = "v${version}"; - hash = "sha256-TGis7rreRen+vk3tUDehRkyas4xrBBxKlA70+VqoGWY="; + hash = "sha256-gPVlHgFlLxoAj4pkg3OxD4CGQaLdAL312/Zn/pJ+7fg="; }; vendorHash = "sha256-Qxp6BwN/Y6Xb1BwFGT/T8WYsXGPgN27mzoTE0i6cS1Q="; From d4f44c2bba2805efba31c93c43bc9c6d0d1acd76 Mon Sep 17 00:00:00 2001 From: Yethal <26117918+Yethal@users.noreply.github.com> Date: Wed, 19 Mar 2025 07:44:17 +0100 Subject: [PATCH 183/272] nushell: 0.102.0 -> 0.103.0 --- pkgs/shells/nushell/default.nix | 6 +++--- pkgs/shells/nushell/plugins/formats.nix | 2 +- pkgs/shells/nushell/plugins/gstat.nix | 2 +- pkgs/shells/nushell/plugins/polars.nix | 2 +- pkgs/shells/nushell/plugins/query.nix | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix index f0f6a57d640b..b4a39b23c1ff 100644 --- a/pkgs/shells/nushell/default.nix +++ b/pkgs/shells/nushell/default.nix @@ -22,7 +22,7 @@ }: let - version = "0.102.0"; + version = "0.103.0"; in rustPlatform.buildRustPackage { @@ -33,11 +33,11 @@ rustPlatform.buildRustPackage { owner = "nushell"; repo = "nushell"; tag = version; - hash = "sha256-ISiixFQ2m++WKX66SnvF1VZpgYJjgchRWSlo/Cp/Ybs="; + hash = "sha256-PqhZFzFkvOtznJV3h25X02ZgLLvlheMm9R0tibcBrbQ="; }; useFetchCargoVendor = true; - cargoHash = "sha256-3cmNlCTawMUpr6kSyT/YZzC717FoXkF0uTeE/D8BSFM="; + cargoHash = "sha256-8q/z0SmhTKsTlixze8Deej4rFsO4QyDce2OvIvE4AcY="; nativeBuildInputs = [ pkg-config ] diff --git a/pkgs/shells/nushell/plugins/formats.nix b/pkgs/shells/nushell/plugins/formats.nix index f42180d27437..7581ed0cf2f0 100644 --- a/pkgs/shells/nushell/plugins/formats.nix +++ b/pkgs/shells/nushell/plugins/formats.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { pname = "nushell_plugin_formats"; inherit (nushell) version src; useFetchCargoVendor = true; - cargoHash = "sha256-3cmNlCTawMUpr6kSyT/YZzC717FoXkF0uTeE/D8BSFM="; + cargoHash = "sha256-8q/z0SmhTKsTlixze8Deej4rFsO4QyDce2OvIvE4AcY="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ diff --git a/pkgs/shells/nushell/plugins/gstat.nix b/pkgs/shells/nushell/plugins/gstat.nix index b7b08e512c9a..458f57e1beb8 100644 --- a/pkgs/shells/nushell/plugins/gstat.nix +++ b/pkgs/shells/nushell/plugins/gstat.nix @@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec { pname = "nushell_plugin_gstat"; inherit (nushell) version src; useFetchCargoVendor = true; - cargoHash = "sha256-3cmNlCTawMUpr6kSyT/YZzC717FoXkF0uTeE/D8BSFM="; + cargoHash = "sha256-8q/z0SmhTKsTlixze8Deej4rFsO4QyDce2OvIvE4AcY="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ Security ]; diff --git a/pkgs/shells/nushell/plugins/polars.nix b/pkgs/shells/nushell/plugins/polars.nix index cbe03c0e66ba..31e8ec22b9b1 100644 --- a/pkgs/shells/nushell/plugins/polars.nix +++ b/pkgs/shells/nushell/plugins/polars.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { inherit (nushell) version src; useFetchCargoVendor = true; - cargoHash = "sha256-3cmNlCTawMUpr6kSyT/YZzC717FoXkF0uTeE/D8BSFM="; + cargoHash = "sha256-8q/z0SmhTKsTlixze8Deej4rFsO4QyDce2OvIvE4AcY="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ]; buildInputs = diff --git a/pkgs/shells/nushell/plugins/query.nix b/pkgs/shells/nushell/plugins/query.nix index 68e3ca819412..880bbca3a64b 100644 --- a/pkgs/shells/nushell/plugins/query.nix +++ b/pkgs/shells/nushell/plugins/query.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { pname = "nushell_plugin_query"; inherit (nushell) version src; useFetchCargoVendor = true; - cargoHash = "sha256-3cmNlCTawMUpr6kSyT/YZzC717FoXkF0uTeE/D8BSFM="; + cargoHash = "sha256-8q/z0SmhTKsTlixze8Deej4rFsO4QyDce2OvIvE4AcY="; nativeBuildInputs = [ pkg-config ] ++ lib.optionals stdenv.cc.isClang [ rustPlatform.bindgenHook ]; buildInputs = From 60d98a51638fef1419a0df7a5e2728925dc32d28 Mon Sep 17 00:00:00 2001 From: Morgan Jones Date: Sun, 16 Mar 2025 21:36:26 -0700 Subject: [PATCH 184/272] z3_4_14: init at 4.14.1 Don't change the default version of z3 just yet: https://github.com/NixOS/nixpkgs/pull/390569#issuecomment-2728272563 --- pkgs/applications/science/logic/z3/default.nix | 4 ++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 5 insertions(+) diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix index 20be36ebda6c..2152f68fe270 100644 --- a/pkgs/applications/science/logic/z3/default.nix +++ b/pkgs/applications/science/logic/z3/default.nix @@ -153,6 +153,10 @@ let fixupPatches = dir: map (patch: replaceVars patch { inherit dir; }); in { + z3_4_14 = common { + version = "4.14.1"; + sha256 = "sha256-pTsDzf6Frk4mYAgF81wlR5Kb1x56joFggO5Fa3G2s70="; + }; z3_4_13 = common { version = "4.13.4"; sha256 = "sha256-8hWXCr6IuNVKkOegEmWooo5jkdmln9nU7wI8T882BSE="; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16fd58b44885..0db22a46d17f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17065,6 +17065,7 @@ with pkgs; }; inherit (callPackages ../applications/science/logic/z3 { python = python3; }) + z3_4_14 z3_4_13 z3_4_12 z3_4_11 From 0d0e0994e5c280011913a35616c04005db64cc4c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 07:17:10 +0000 Subject: [PATCH 185/272] railway: 3.22.0 -> 3.23.0 --- pkgs/by-name/ra/railway/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ra/railway/package.nix b/pkgs/by-name/ra/railway/package.nix index cd14943a88cf..ebc208a9d4fa 100644 --- a/pkgs/by-name/ra/railway/package.nix +++ b/pkgs/by-name/ra/railway/package.nix @@ -12,17 +12,17 @@ let in rustPlatform.buildRustPackage rec { pname = "railway"; - version = "3.22.0"; + version = "3.23.0"; src = fetchFromGitHub { owner = "railwayapp"; repo = "cli"; rev = "v${version}"; - hash = "sha256-WzdLMKL0Bg8z1qlhg4sbzRuGreqgyydqLEkwl8lbngY="; + hash = "sha256-WxL5mETs7PVGhJcg1wVobYo/ETYFg3/1Fs/wJCJgKXg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-TVuA8Xo7v+NSGMnttLu1iCwFpi7ue7s/z3i1H4ofaXs="; + cargoHash = "sha256-cMi3raSQgCSu6ZbiTgU2ABCy+NWJjY5IcWPJMMcmqyI="; nativeBuildInputs = [ pkg-config ]; From 344cd371e11f61bcf278c51e7eef016b59995b5c Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 07:56:20 +0000 Subject: [PATCH 186/272] pmtiles: 1.25.3 -> 1.26.0 --- pkgs/by-name/pm/pmtiles/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/pm/pmtiles/package.nix b/pkgs/by-name/pm/pmtiles/package.nix index 4c17080a1d0b..3dd33ffb972b 100644 --- a/pkgs/by-name/pm/pmtiles/package.nix +++ b/pkgs/by-name/pm/pmtiles/package.nix @@ -5,16 +5,16 @@ }: buildGoModule rec { pname = "pmtiles"; - version = "1.25.3"; + version = "1.26.0"; src = fetchFromGitHub { owner = "protomaps"; repo = "go-pmtiles"; tag = "v${version}"; - hash = "sha256-usntKGxErwywMy0tVzl0neycrgFQhgLTTdv2u5QwHUQ="; + hash = "sha256-J2gR1KJh8mMp9VA3GwXyvg1yM5doMw+X/5zOik0tDm8="; }; - vendorHash = "sha256-NQ74rLYhzacOrw6Tl6WoERfqbx2aF9X18rh0oOjCotE="; + vendorHash = "sha256-4E7qtP0w/c1LLJ/pNBJFosl1K3ycq4HLfjO0CmHaT3k="; ldflags = [ "-s" From b7c2674b3c5bb0ab7585ee1149574d795176b2ad Mon Sep 17 00:00:00 2001 From: GueLaKais Date: Fri, 14 Mar 2025 11:04:37 +0100 Subject: [PATCH 187/272] maintainers: add guelakais --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 573558b933be..5f3b6bfb689f 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9103,6 +9103,12 @@ githubId = 39066502; name = "Guekka"; }; + guelakais = { + email = "koroyeldiores@gmail.com"; + github = "Guelakais"; + githubId = 76840985; + name = "GueLaKais"; + }; guibert = { email = "david.guibert@gmail.com"; github = "dguibert"; From 14b42e61424bcd9a288ff4df2a0e894570f7393b Mon Sep 17 00:00:00 2001 From: GueLaKais Date: Fri, 14 Mar 2025 11:04:48 +0100 Subject: [PATCH 188/272] python3Packages.nglview: init at 3.1.4 --- .../python-modules/nglview/default.nix | 98 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 100 insertions(+) create mode 100644 pkgs/development/python-modules/nglview/default.nix diff --git a/pkgs/development/python-modules/nglview/default.nix b/pkgs/development/python-modules/nglview/default.nix new file mode 100644 index 000000000000..d68a906e304e --- /dev/null +++ b/pkgs/development/python-modules/nglview/default.nix @@ -0,0 +1,98 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + nodejs, + notebook, + ipywidgets, + ipykernel, + numpy, + runCommand, + jupyter-packaging, + jupyter-core, + notebook-shim, + setuptools-scm, + writableTmpDirAsHomeHook, + pytestCheckHook, + mock, + pillow, + ase, +}: +let + nodeModules = runCommand "nglview-node-modules" { } '' + mkdir -p $out/node_modules/@jupyter-widgets/base + cat > $out/node_modules/@jupyter-widgets/base/package.json < Date: Wed, 19 Mar 2025 09:10:43 +0100 Subject: [PATCH 189/272] vimPlugins.arshlib-nvim: init at 2024-05-18 --- 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 e567266349b1..f05df01809ff 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -850,6 +850,19 @@ final: prev: meta.hydraPlatforms = [ ]; }; + arshlib-nvim = buildVimPlugin { + pname = "arshlib.nvim"; + version = "2024-05-18"; + src = fetchFromGitHub { + owner = "arsham"; + repo = "arshlib.nvim"; + rev = "111fd439268adda206a24b133096893869a50764"; + sha256 = "1jmac14w37lybanr8jg4jpi3rkbsjhmz65x5fr7mgd7kagsn3r1n"; + }; + meta.homepage = "https://github.com/arsham/arshlib.nvim/"; + meta.hydraPlatforms = [ ]; + }; + astrocore = buildVimPlugin { pname = "astrocore"; version = "2025-02-18"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 4222d63f1e85..5ab9c71590a0 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -192,6 +192,13 @@ in dependencies = [ self.middleclass ]; }; + arshlib-nvim = super.arshlib-nvim.overrideAttrs { + dependencies = with self; [ + nui-nvim + plenary-nvim + ]; + }; + astrocore = super.astrocore.overrideAttrs { 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 b5ac5a364d9e..28424bbbc3d9 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -64,6 +64,7 @@ https://github.com/ckarnell/antonys-macro-repeater/,, https://github.com/solarnz/arcanist.vim/,, https://github.com/vim-scripts/argtextobj.vim/,, https://github.com/otavioschwanck/arrow.nvim/,, +https://github.com/arsham/arshlib.nvim/,HEAD, https://github.com/AstroNvim/astrocore/,HEAD, https://github.com/AstroNvim/astrolsp/,HEAD, https://github.com/AstroNvim/astrotheme/,, From dbda729619056853e785bce17181ba6c6af94ae1 Mon Sep 17 00:00:00 2001 From: "\"Gaetan Lepage\"" <"gaetan@glepage.com"> Date: Wed, 19 Mar 2025 09:07:20 +0100 Subject: [PATCH 190/272] vimPlugins.indent-tools-nvim: init at 2023-10-28 --- 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 f05df01809ff..76b1ecbdd148 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -6138,6 +6138,19 @@ final: prev: meta.hydraPlatforms = [ ]; }; + indent-tools-nvim = buildVimPlugin { + pname = "indent-tools.nvim"; + version = "2023-10-28"; + src = fetchFromGitHub { + owner = "arsham"; + repo = "indent-tools.nvim"; + rev = "31b839d65aa04b568fabe5e100a63cc44ef3f5d5"; + sha256 = "0vw3j9plwi6ari5p5hmds257xw0szlj2ddf75mjfj6nfzd93ni0p"; + }; + meta.homepage = "https://github.com/arsham/indent-tools.nvim/"; + meta.hydraPlatforms = [ ]; + }; + indentLine = buildVimPlugin { pname = "indentLine"; version = "2023-07-14"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 5ab9c71590a0..ffa18c0da167 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -1471,6 +1471,14 @@ in nvimSkipModule = "ibl.config.types"; }; + indent-tools-nvim = super.indent-tools-nvim.overrideAttrs { + dependencies = with self; [ + arshlib-nvim + nvim-treesitter + nvim-treesitter-textobjects + ]; + }; + instant-nvim = super.instant-nvim.overrideAttrs { nvimSkipModule = [ # Requires global variable config diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 28424bbbc3d9..cb5f07e43aa3 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -470,6 +470,7 @@ https://github.com/haya14busa/incsearch-easymotion.vim/,, https://github.com/haya14busa/incsearch.vim/,, https://github.com/lukas-reineke/indent-blankline.nvim/,, https://github.com/Darazaki/indent-o-matic/,, +https://github.com/arsham/indent-tools.nvim/,HEAD, https://github.com/Yggdroot/indentLine/,, https://github.com/ciaranm/inkpot/,, https://github.com/jbyuki/instant.nvim/,HEAD, From 59a2fb6fbe6df699aeb24d1ad3523b0fc030a91d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 00:46:35 +0000 Subject: [PATCH 191/272] snowflake: 2.10.1 -> 2.11.0 --- pkgs/by-name/sn/snowflake/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sn/snowflake/package.nix b/pkgs/by-name/sn/snowflake/package.nix index 9179ba4b499c..c59e0377f6ca 100644 --- a/pkgs/by-name/sn/snowflake/package.nix +++ b/pkgs/by-name/sn/snowflake/package.nix @@ -6,7 +6,7 @@ buildGoModule rec { pname = "snowflake"; - version = "2.10.1"; + version = "2.11.0"; src = fetchFromGitLab { domain = "gitlab.torproject.org"; @@ -14,10 +14,10 @@ buildGoModule rec { owner = "anti-censorship/pluggable-transports"; repo = "snowflake"; rev = "v${version}"; - sha256 = "sha256-cpvLBC4mGz4iSP+d3qyKBtCkXNvC8YJ04nIbZuR/15M="; + sha256 = "sha256-VfKiY5XCUnhsWoSfMeYQ5rxxXmAtWzD94o4EvhDCwDM="; }; - vendorHash = "sha256-wCgG6CzxBAvhMICcmDm9a+JdtWs+rf3VU1XAICsc170="; + vendorHash = "sha256-vopRE4B4WhncUdBfmBTzRbZzCU20vsHoNCYcPG4BGc0="; meta = with lib; { description = "System to defeat internet censorship"; From 7f06175244d388a34b633d09d8b3ba6b2b3cd5ef Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 08:42:32 +0000 Subject: [PATCH 192/272] rucola: 0.4.1 -> 0.5.0 --- pkgs/by-name/ru/rucola/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rucola/package.nix b/pkgs/by-name/ru/rucola/package.nix index 502eebfdc485..974be5e86620 100644 --- a/pkgs/by-name/ru/rucola/package.nix +++ b/pkgs/by-name/ru/rucola/package.nix @@ -9,17 +9,17 @@ rustPlatform.buildRustPackage rec { pname = "rucola"; - version = "0.4.1"; + version = "0.5.0"; src = fetchFromGitHub { owner = "Linus-Mussmaecher"; repo = "rucola"; rev = "v${version}"; - hash = "sha256-FeQPf9sCEqypvB8VrGa1nnXmxlqo6K4fpLkJakbysvI="; + hash = "sha256-vBY6tkzLgZuSU5AqH3uzDwjPl/ayWY0S8uRvlgE/Wmw="; }; useFetchCargoVendor = true; - cargoHash = "sha256-Cciop3vwRbK3JCUx+SBdIv5Ix/15p6/SmHR8ZVb6LSM="; + cargoHash = "sha256-a1f+WSXMNaZCKc7bScknW9WW+Qi1CZIuNLdJseem11I="; nativeBuildInputs = [ pkg-config From b3c987c4f424d2e8c7c2b29c04a104e7376b66e6 Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Wed, 19 Mar 2025 09:47:00 +0100 Subject: [PATCH 193/272] vlc: drop dependency on SDL The dependency on SDL and SDL_image was added in https://github.com/NixOS/nixpkgs/commit/f909b550dd9643bd863713acc3892f39fefc4d38, over 14 years ago for version 1.1.5. It is no longer required and just increases closure size. --- pkgs/by-name/vl/vlc/package.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/by-name/vl/vlc/package.nix b/pkgs/by-name/vl/vlc/package.nix index 81f10c5a228f..38bb14b8b89c 100644 --- a/pkgs/by-name/vl/vlc/package.nix +++ b/pkgs/by-name/vl/vlc/package.nix @@ -1,7 +1,5 @@ { lib, - SDL, - SDL_image, a52dec, alsa-lib, autoreconfHook, @@ -132,8 +130,6 @@ stdenv.mkDerivation (finalAttrs: { # needing them buildInputs = [ - SDL - SDL_image a52dec alsa-lib avahi From 333b660b7a2c8dad11f83138012fc49f41e33f81 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 09:02:59 +0000 Subject: [PATCH 194/272] ticker: 4.8.0 -> 4.8.1 --- pkgs/by-name/ti/ticker/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ti/ticker/package.nix b/pkgs/by-name/ti/ticker/package.nix index df6bfe064f3a..0b81f7e8e443 100644 --- a/pkgs/by-name/ti/ticker/package.nix +++ b/pkgs/by-name/ti/ticker/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "ticker"; - version = "4.8.0"; + version = "4.8.1"; src = fetchFromGitHub { owner = "achannarasappa"; repo = pname; tag = "v${version}"; - hash = "sha256-L7vqZVfj7Ns8xCFU0ruhosReM4RMhIbIHXrMbQ8YI6I="; + hash = "sha256-2qg7/gzogvK8eIj9NzFELoeXrtJGC5pS4LvR2msOuHY="; }; vendorHash = "sha256-o3hVRHyrJpmYgephoZ2JlVLGSqZtRQAp48OzoIMY3do="; From 19683d2d616bd615ffd3e28514e432db21b024cf Mon Sep 17 00:00:00 2001 From: Neyts Zupan Date: Tue, 18 Mar 2025 22:28:28 +0000 Subject: [PATCH 195/272] paretosecurity: 0.0.86 -> 0.0.87 --- nixos/tests/paretosecurity.nix | 4 ++-- pkgs/by-name/pa/paretosecurity/package.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/tests/paretosecurity.nix b/nixos/tests/paretosecurity.nix index 239ec1eff86d..9e4c11c5f5c9 100644 --- a/nixos/tests/paretosecurity.nix +++ b/nixos/tests/paretosecurity.nix @@ -9,8 +9,8 @@ services.paretosecurity.enable = true; }; - # very basic test for now, need to add output asserts testScript = '' - machine.wait_until_succeeds("paretosecurity check") + (status, out) = machine.execute("paretosecurity check") + assert status == 1, "paretosecurity did not return 1 on failing checks" ''; } diff --git a/pkgs/by-name/pa/paretosecurity/package.nix b/pkgs/by-name/pa/paretosecurity/package.nix index 95aa97478311..34d5ad430a38 100644 --- a/pkgs/by-name/pa/paretosecurity/package.nix +++ b/pkgs/by-name/pa/paretosecurity/package.nix @@ -9,19 +9,19 @@ buildGoModule rec { pname = "paretosecurity"; - version = "0.0.86"; + version = "0.0.87"; src = fetchFromGitHub { owner = "ParetoSecurity"; repo = "agent"; rev = version; - hash = "sha256-ASWECYUfG+lmkvAwQf05mCUwwFlUrx3vI0pYbGHdbuI="; + hash = "sha256-SgMALLuGq4HGj5eo7JdvtcWOEGuUoLyC3pgamB1WBzI="; }; # tests do network access, fix pending doCheck = false; - vendorHash = "sha256-eqwrCbDKmXOCo0+X8w6Me2aaCQ3WQljgOtzqI01FzbU="; + vendorHash = "sha256-HReQu23sHLaxc5N8h2vYv64ruJPmY4HM9whAEKV+3Eo="; proxyVendor = true; subPackages = [ From deb045e05755918cdf77f6ecb9da96cba9e7dbef Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Mon, 17 Mar 2025 16:22:39 +0100 Subject: [PATCH 196/272] initrd: implement panic-on-fail interpreterless --- nixos/modules/system/boot/systemd/initrd.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index 472c72fb3889..e731814bd5d4 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -703,10 +703,11 @@ in "|stage1panic" ]; }; - script = '' - echo c > /proc/sysrq-trigger - ''; - serviceConfig.Type = "oneshot"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${pkgs.coreutils}/bin/echo c"; + StandardOutput = "file:/proc/sysrq-trigger"; + }; }; }; }; From ecf91e819dd12855d02de7954833f52336b90da4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 09:33:53 +0000 Subject: [PATCH 197/272] spider: 2.33.11 -> 2.34.2 --- pkgs/by-name/sp/spider/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sp/spider/package.nix b/pkgs/by-name/sp/spider/package.nix index f75896e4493d..ff94172eeae9 100644 --- a/pkgs/by-name/sp/spider/package.nix +++ b/pkgs/by-name/sp/spider/package.nix @@ -14,17 +14,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "spider"; - version = "2.33.11"; + version = "2.34.2"; src = fetchFromGitHub { owner = "spider-rs"; repo = "spider"; tag = "v${finalAttrs.version}"; - hash = "sha256-wrtkBqq1wJWg+0K4+PILPdMQe1AFOhJ1dJHvwq2irQo="; + hash = "sha256-3KEOzrIFizVBZRI1pD1PeNVj1IiV3ImucW77qHJhDM8="; }; useFetchCargoVendor = true; - cargoHash = "sha256-QxfnpiGHYYk8v0rR/eE6KHW1KdZQGuJPz1jGwtl27rs="; + cargoHash = "sha256-Hn9rQ9yv7vekmtGWorETK1b5rdfW0M/88Q6IvH51oE0="; nativeBuildInputs = [ pkg-config From 58085b540c76608783d19448eb1a061c64e814c9 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Mon, 24 Feb 2025 00:22:24 -0700 Subject: [PATCH 198/272] valgrind: don't use FreeBSD kernel version, use libc version --- pkgs/development/tools/analysis/valgrind/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix index c2ceec732117..642d4d25ae37 100644 --- a/pkgs/development/tools/analysis/valgrind/default.nix +++ b/pkgs/development/tools/analysis/valgrind/default.nix @@ -49,8 +49,7 @@ stdenv.mkDerivation rec { separateDebugInfo = stdenv.hostPlatform.isLinux; preConfigure = lib.optionalString stdenv.hostPlatform.isFreeBSD '' - substituteInPlace configure --replace '`uname -r`' \ - ${toString stdenv.hostPlatform.parsed.kernel.version}.0- + substituteInPlace configure --replace-fail '`uname -r`' ${stdenv.cc.libc.version}- '' + lib.optionalString stdenv.hostPlatform.isDarwin ( let OSRELEASE = '' $(awk -F '"' '/#define OSRELEASE/{ print $2 }' \ From a819c8aa5ddabdc9e2895da463ee850e50a328c7 Mon Sep 17 00:00:00 2001 From: Grimmauld Date: Wed, 19 Mar 2025 10:48:53 +0100 Subject: [PATCH 199/272] pythonPackages.wxpython: drop SDL dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this dependency was unused: ``` $ nix why-depends .#python313Packages.wxpython .#SDL --precise --all these 5 paths will be fetched (4.96 MiB download, 21.60 MiB unpacked): /nix/store/vhz0cn55wadyknv3bz4in7drm0mmpny3-SDL_compat-1.2.68 /nix/store/jfia42fgcpz2gmb5l1mqps5qaaan3lcn-libadwaita-1.6.4 /nix/store/555981fqc4rkjdfapzsw092bqyrbi5s3-sdl2-compat-2.32.52 /nix/store/kq5gmdxv139qk1j50grxlqvrsrlx9aq5-sdl3-3.2.6-lib /nix/store/d9vlzcqg021zzyw6vwc7dfin8lbm86a1-zenity-4.0.5 'git+file:///home/grimmauld/nixpkgs#python313Packages.wxpython' does not depend on 'git+file:///home/grimmauld/nixpkgs#SDL' ``` ``` $ nix why-depends .#python313Packages.wxpython .#SDL --derivation --all /nix/store/79x3l16rh508qmbprz7xslqvd568gd8z-python3.13-wxpython-4.2.2.drv └───/nix/store/s0kxrg633g9j5yvqiw1d2dgw76hg5r53-SDL_compat-1.2.68.drv ``` --- pkgs/development/python-modules/wxpython/4.2.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/development/python-modules/wxpython/4.2.nix b/pkgs/development/python-modules/wxpython/4.2.nix index b8c537ce0d71..26c40ea937b3 100644 --- a/pkgs/development/python-modules/wxpython/4.2.nix +++ b/pkgs/development/python-modules/wxpython/4.2.nix @@ -29,7 +29,6 @@ libglvnd, libgbm, pango, - SDL, webkitgtk_4_0, wxGTK, xorgproto, @@ -71,7 +70,6 @@ buildPythonPackage rec { attrdict pkg-config setuptools - SDL sip which wxGTK @@ -80,7 +78,6 @@ buildPythonPackage rec { buildInputs = [ wxGTK - SDL ] ++ lib.optionals stdenv.hostPlatform.isLinux [ gst_all_1.gst-plugins-base @@ -108,7 +105,6 @@ buildPythonPackage rec { export DOXYGEN=${doxygen}/bin/doxygen export PATH="${wxGTK}/bin:$PATH" - export SDL_CONFIG="${lib.getExe' (lib.getDev SDL) "sdl-config"}" export WAF=$PWD/bin/waf ${python.pythonOnBuildForHost.interpreter} build.py -v --use_syswx dox etg sip --nodoc build_py From ccdfb91b4824eb17384ad4323abf33e462909aaa Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Mon, 17 Mar 2025 19:39:28 +0100 Subject: [PATCH 200/272] podman: use serviceConfig.ExecStart instead of script --- nixos/modules/virtualisation/podman/default.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index bfaefb0eecf6..51a9dee6efa6 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, utils, pkgs, ... }: let cfg = config.virtualisation.podman; json = pkgs.formats.json { }; @@ -202,11 +202,15 @@ in restartIfChanged = false; unitConfig.X-StopOnRemoval = false; - serviceConfig.Type = "oneshot"; - - script = '' - ${cfg.package}/bin/podman system prune -f ${toString cfg.autoPrune.flags} - ''; + serviceConfig = { + Type = "oneshot"; + ExecStart = utils.escapeSystemdExecArgs ([ + (lib.getExe cfg.package) + "system" + "prune" + "-f" + ] ++ cfg.autoPrune.flags); + }; startAt = lib.optional cfg.autoPrune.enable cfg.autoPrune.dates; after = [ "podman.service" ]; From ef2bde5a13a0964b80d8cf0def8e7d478869dad5 Mon Sep 17 00:00:00 2001 From: Benedikt Ritter Date: Mon, 17 Mar 2025 15:03:53 +0100 Subject: [PATCH 201/272] docker: use serviceConfig.ExecStart instead of script --- nixos/modules/virtualisation/docker.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix index 00a99b6fcd7d..511c377ca984 100644 --- a/nixos/modules/virtualisation/docker.nix +++ b/nixos/modules/virtualisation/docker.nix @@ -1,6 +1,6 @@ # Systemd services for docker. -{ config, lib, pkgs, ... }: +{ config, lib, utils, pkgs, ... }: with lib; @@ -271,11 +271,15 @@ in restartIfChanged = false; unitConfig.X-StopOnRemoval = false; - serviceConfig.Type = "oneshot"; - - script = '' - ${cfg.package}/bin/docker system prune -f ${toString cfg.autoPrune.flags} - ''; + serviceConfig = { + Type = "oneshot"; + ExecStart = utils.escapeSystemdExecArgs ([ + (lib.getExe cfg.package) + "system" + "prune" + "-f" + ] ++ cfg.autoPrune.flags); + }; startAt = optional cfg.autoPrune.enable cfg.autoPrune.dates; after = [ "docker.service" ]; From ecb95bc697b31a4f2cc1852a7c5ec2fa2c04fc58 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Tue, 18 Mar 2025 15:30:23 +0200 Subject: [PATCH 202/272] musescore: 4.4.4 -> 4.5 Diff: https://github.com/musescore/MuseScore/compare/v4.4.4...v4.5 --- pkgs/applications/audio/musescore/default.nix | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix index b737e70d2a12..fa51200dc9c9 100644 --- a/pkgs/applications/audio/musescore/default.nix +++ b/pkgs/applications/audio/musescore/default.nix @@ -35,13 +35,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "musescore"; - version = "4.4.4"; + version = "4.5"; src = fetchFromGitHub { owner = "musescore"; repo = "MuseScore"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-/1kAgzmSbnuCqd6YxbaYW2+gE0Gvy373y5VfUK4OVzI="; + sha256 = "sha256-7sD9AAuuDT0+VycKLL19DYdmuSLmt0Uy2NmoKQ1+c3A="; }; cmakeFlags = [ @@ -127,17 +127,12 @@ stdenv.mkDerivation (finalAttrs: { qtwayland ]; - postInstall = - '' - # Remove unneeded bundled libraries and headers - rm -r $out/{include,lib} - '' - + lib.optionalString stdenv.hostPlatform.isDarwin '' - mkdir -p "$out/Applications" - mv "$out/mscore.app" "$out/Applications/mscore.app" - mkdir -p $out/bin - ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore - ''; + postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p "$out/Applications" + mv "$out/mscore.app" "$out/Applications/mscore.app" + mkdir -p $out/bin + ln -s $out/Applications/mscore.app/Contents/MacOS/mscore $out/bin/mscore + ''; # muse-sounds-manager installs Muse Sounds sampler libMuseSamplerCoreLib.so. # It requires that argv0 of the calling process ends with "/mscore" or "/MuseScore-4". From 2271c42fb8f5746538c1c2d05c39b74675b7a989 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Wed, 19 Mar 2025 20:32:34 +1000 Subject: [PATCH 203/272] home-assistant-custom-lovelace-modules.advanced-camera-card: 7.3.5 -> 7.3.6 (#391173) https://github.com/dermotduffy/advanced-camera-card/releases/tag/v7.3.6 --- .../custom-lovelace-modules/advanced-camera-card/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix index f12d302f12cd..2e2656ceb947 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/advanced-camera-card/package.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "advanced-camera-card"; - version = "7.3.5"; + version = "7.3.6"; src = fetchzip { url = "https://github.com/dermotduffy/advanced-camera-card/releases/download/v${version}/advanced-camera-card.zip"; - hash = "sha256-DpQHSHZ+jmaUjepbUYiGJJ3d7xu2mj15Tts6DAXY4Ng="; + hash = "sha256-+sDIs1r3668FrpnJ3qcQlrfDvtapODj5LVOb6yStSA8="; }; # TODO: build from source once yarn berry support lands in nixpkgs From 520fe037c8f5783a4b449abe51820cb3bac51cd0 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 10:37:31 +0000 Subject: [PATCH 204/272] plasma-panel-colorizer: 2.3.0 -> 2.4.1 --- pkgs/by-name/pl/plasma-panel-colorizer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix index 98278cbe8e60..8e5de5a58e6d 100644 --- a/pkgs/by-name/pl/plasma-panel-colorizer/package.nix +++ b/pkgs/by-name/pl/plasma-panel-colorizer/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "plasma-panel-colorizer"; - version = "2.3.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "luisbocanegra"; repo = "plasma-panel-colorizer"; tag = "v${finalAttrs.version}"; - hash = "sha256-Q7qSky/wY5l72EVhTGnwQ8lI3Uu3TnZpgqXaClCxWZQ="; + hash = "sha256-YDYVjAbizmo1+E1DVeyISKM4Jb/HkKY/On9RanJBuvI="; }; nativeBuildInputs = [ From de2de64012b2e6f40ccbf2b2d0537707a1566177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Wed, 19 Mar 2025 11:49:11 +0100 Subject: [PATCH 205/272] python312Packages.primp: 0.12.0->0.14.0 --- pkgs/development/python-modules/primp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/primp/default.nix b/pkgs/development/python-modules/primp/default.nix index 8c8e94229551..502bb77dbbbb 100644 --- a/pkgs/development/python-modules/primp/default.nix +++ b/pkgs/development/python-modules/primp/default.nix @@ -63,20 +63,20 @@ let in buildPythonPackage rec { pname = "primp"; - version = "0.12.0"; + version = "0.14.0"; pyproject = true; src = fetchFromGitHub { owner = "deedy5"; repo = "primp"; tag = "v${version}"; - hash = "sha256-yzcrUER+NiDfSjJ3my45IS+2GmeusvJgyX5nFSaqFUk="; + hash = "sha256-LrSygeioJlccOH1oyagw02ankkZK+H6Mzrgy8tB83mo="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit src; name = "${pname}-${version}"; - hash = "sha256-gCNnP0B0D6AJ1L/E6sQKASx8BbSJU5jTNia+tL2USvU="; + hash = "sha256-iPf25DMGNHrWYByNTylB6bPpLfzs0ADwgkjfhVxiiXA="; }; nativeBuildInputs = [ From e100ca9133b61b5bc2f87956d97f743ecd482356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment?= Date: Wed, 19 Mar 2025 11:50:49 +0100 Subject: [PATCH 206/272] python312Packages.duckduckgo-search: 7.2.1->7.5.2 --- pkgs/development/python-modules/duckduckgo-search/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/duckduckgo-search/default.nix b/pkgs/development/python-modules/duckduckgo-search/default.nix index 480998365f72..29fa27406139 100644 --- a/pkgs/development/python-modules/duckduckgo-search/default.nix +++ b/pkgs/development/python-modules/duckduckgo-search/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "duckduckgo-search"; - version = "7.2.1"; + version = "7.5.2"; pyproject = true; disabled = pythonOlder "3.8"; @@ -22,7 +22,7 @@ buildPythonPackage rec { owner = "deedy5"; repo = "duckduckgo_search"; tag = "v${version}"; - hash = "sha256-6hYSABD66yfvkL8bmy84ElIWp49SMQ1R1/B2mDwWIS0="; + hash = "sha256-X2sLUXkxk3zEmA6urmlZ3tU5J0LpwT9dQDVy773U9kM="; }; build-system = [ setuptools ]; From 76455a35b3ef8cc0a5dff71dbcb91c00c20e92d1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 11:29:03 +0000 Subject: [PATCH 207/272] ab-av1: 0.9.1 -> 0.9.3 --- pkgs/by-name/ab/ab-av1/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ab/ab-av1/package.nix b/pkgs/by-name/ab/ab-av1/package.nix index 210c7537ccc9..c2a305cc0663 100644 --- a/pkgs/by-name/ab/ab-av1/package.nix +++ b/pkgs/by-name/ab/ab-av1/package.nix @@ -2,17 +2,17 @@ rustPlatform.buildRustPackage rec { pname = "ab-av1"; - version = "0.9.1"; + version = "0.9.3"; src = fetchFromGitHub { owner = "alexheretic"; repo = "ab-av1"; rev = "v${version}"; - hash = "sha256-I9XApll0/mvfhL/BLWoVwL0ffqa5r3dOBWYTHizJ0hc="; + hash = "sha256-rj02Opkwi4M249Ya4uBl4u1l8Mx+FBcRcxDgD6ng9kg="; }; useFetchCargoVendor = true; - cargoHash = "sha256-y+5rW3LruV1WeJXizbhHs01jkWrYsMXZkn1NG0Xz3bg="; + cargoHash = "sha256-Vi38eNn+SnhQx7Gp1T2RPIBeu3bUAZ74dr0mMG5Mha0="; nativeBuildInputs = [ installShellFiles ]; From 2f5bd7c8c274e6736eda5bca501f23bedab75b63 Mon Sep 17 00:00:00 2001 From: Anton Mosich Date: Wed, 19 Mar 2025 12:46:58 +0100 Subject: [PATCH 208/272] druid: fix broken symlink There was a dangling symlink left, which was caused by 19396e31aa52154f8c3e653319f0ef5dc8c40742 renaming the .jar file. This was turned into an error by #370750, causing the build to fail. --- pkgs/by-name/dr/druid/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/dr/druid/package.nix b/pkgs/by-name/dr/druid/package.nix index 76101c55a26b..b64655fae3e8 100644 --- a/pkgs/by-name/dr/druid/package.nix +++ b/pkgs/by-name/dr/druid/package.nix @@ -57,7 +57,7 @@ stdenv.mkDerivation (finalAttrs: { runHook preInstall mkdir $out mv * $out - ${optionalString mysqlSupport "ln -s ${mysql_jdbc}/share/java/mysql-connector-java.jar $out/extensions/mysql-metadata-storage"} + ${optionalString mysqlSupport "ln -s ${mysql_jdbc}/share/java/mysql-connector-j.jar $out/extensions/mysql-metadata-storage"} ${finalAttrs.loadExtensions} ${finalAttrs.loadJars} runHook postInstall From cfc2d23f7e3f270cbe50838b5376c4c31f80c4d2 Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Wed, 19 Mar 2025 12:50:18 +0100 Subject: [PATCH 209/272] weblate: 5.10.3 -> 5.10.4 Changelog: https://github.com/WeblateOrg/weblate/releases/tag/weblate-5.10.4 --- pkgs/by-name/we/weblate/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/we/weblate/package.nix b/pkgs/by-name/we/weblate/package.nix index f9f80bada2ed..6eceade528b3 100644 --- a/pkgs/by-name/we/weblate/package.nix +++ b/pkgs/by-name/we/weblate/package.nix @@ -27,7 +27,7 @@ let in python.pkgs.buildPythonApplication rec { pname = "weblate"; - version = "5.10.3"; + version = "5.10.4"; pyproject = true; @@ -40,7 +40,7 @@ python.pkgs.buildPythonApplication rec { owner = "WeblateOrg"; repo = "weblate"; tag = "weblate-${version}"; - hash = "sha256-x+DSt0uhElbNeDvO9CqdAJO8r7+Kkt/Hbh6dMPlAdfk="; + hash = "sha256-ReODTMaKMkvbaR8JETSeOrXxQIsL1Vy1pjKYWo5mw+A="; }; patches = [ From 227f30491e2251def35800d54b8a582c987d7392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutensk=C3=BD?= Date: Tue, 18 Mar 2025 21:32:05 +0100 Subject: [PATCH 210/272] python3Packages.tensorrt: fix build for versions with missing build number --- .../python-modules/tensorrt/default.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/tensorrt/default.nix b/pkgs/development/python-modules/tensorrt/default.nix index b69986fdc7e7..2dcdb54035a3 100644 --- a/pkgs/development/python-modules/tensorrt/default.nix +++ b/pkgs/development/python-modules/tensorrt/default.nix @@ -10,10 +10,22 @@ let pyVersion = "${lib.versions.major python.version}${lib.versions.minor python.version}"; + buildVersion = lib.optionalString (cudaPackages ? tensorrt) cudaPackages.tensorrt.version; + wheelVersion = lib.optionalString (cudaPackages ? tensorrt) ( + if + (builtins.elem buildVersion [ + "8.6.1.6" + "10.3.0.26" + ]) + then + builtins.concatStringsSep "." (lib.take 3 (builtins.splitVersion buildVersion)) + else + buildVersion + ); in buildPythonPackage rec { pname = "tensorrt"; - version = lib.optionalString (cudaPackages ? tensorrt) cudaPackages.tensorrt.version; + version = wheelVersion; src = cudaPackages.tensorrt.src; @@ -30,7 +42,7 @@ buildPythonPackage rec { preUnpack = '' mkdir -p dist tar --strip-components=2 -xf "$src" --directory=dist \ - "TensorRT-${version}/python/tensorrt-${version}-cp${pyVersion}-none-linux_x86_64.whl" + "TensorRT-${buildVersion}/python/tensorrt-${wheelVersion}-cp${pyVersion}-none-linux_x86_64.whl" ''; sourceRoot = "."; From 4fb37a77de44c358de664affda2fc9d26d3e1b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutensk=C3=BD?= Date: Wed, 19 Mar 2025 12:03:02 +0100 Subject: [PATCH 211/272] cudaPackages.tensorrt: 10.8.0.43 -> 10.9.0.34 --- .../cuda-modules/tensorrt/releases.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/development/cuda-modules/tensorrt/releases.nix b/pkgs/development/cuda-modules/tensorrt/releases.nix index 13c7c1a10c32..ea807a8a92ca 100644 --- a/pkgs/development/cuda-modules/tensorrt/releases.nix +++ b/pkgs/development/cuda-modules/tensorrt/releases.nix @@ -127,6 +127,22 @@ filename = "TensorRT-10.8.0.43.Linux.x86_64-gnu.cuda-12.8.tar.gz"; hash = "sha256-V31tivU4FTQUuYZ8ZmtPZYUvwusefA6jogbl+vvH1J4="; } + { + version = "10.9.0.34"; + minCudaVersion = "11.0"; + maxCudaVersion = "11.8"; + cudnnVersion = "8.9"; + filename = "TensorRT-10.9.0.34.Linux.x86_64-gnu.cuda-11.8.tar.gz"; + hash = "sha256-nQtdgeOIxRA8RsL3ZvQHeBxA4dbJvyWEoFvmSxPaBLA="; + } + { + version = "10.9.0.34"; + minCudaVersion = "12.0"; + maxCudaVersion = "12.8"; + cudnnVersion = "9.7"; + filename = "TensorRT-10.9.0.34.Linux.x86_64-gnu.cuda-12.8.tar.gz"; + hash = "sha256-M74OYeO/F3u7yrtIkr8BPwyKxx0r5z8oA4SKOCyxQnI="; + } ]; }; } From ca06613ea7e4a5d7cf6ea5328727ece93e4780b5 Mon Sep 17 00:00:00 2001 From: Anton Mosich Date: Wed, 19 Mar 2025 12:56:50 +0100 Subject: [PATCH 212/272] druid: 31.0.0 -> 32.0.0 See https://github.com/apache/druid/releases/tag/druid-32.0.0 and https://github.com/apache/druid/releases/tag/druid-31.0.1 for the changes. --- pkgs/by-name/dr/druid/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/dr/druid/package.nix b/pkgs/by-name/dr/druid/package.nix index b64655fae3e8..4265d4fe4637 100644 --- a/pkgs/by-name/dr/druid/package.nix +++ b/pkgs/by-name/dr/druid/package.nix @@ -20,11 +20,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "apache-druid"; - version = "31.0.0"; + version = "32.0.0"; src = fetchurl { url = "mirror://apache/druid/${finalAttrs.version}/apache-druid-${finalAttrs.version}-bin.tar.gz"; - hash = "sha256-xppAoKNS/qB8WVMwBPxxHbOy5uDGl3IxrCWV1T+YQkE="; + hash = "sha256-JeHmraWOQNjaVYyhYQesBrwLHAqnqsEG6it6quj3K3I="; }; dontBuild = true; From afd525ff831b16cd70fe6d5707bc59edea52cfe4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 12:29:07 +0000 Subject: [PATCH 213/272] rattler-build: 0.38.0 -> 0.39.0 --- pkgs/by-name/ra/rattler-build/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ra/rattler-build/package.nix b/pkgs/by-name/ra/rattler-build/package.nix index 30b319e6683e..d546f0cae5ea 100644 --- a/pkgs/by-name/ra/rattler-build/package.nix +++ b/pkgs/by-name/ra/rattler-build/package.nix @@ -14,17 +14,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rattler-build"; - version = "0.38.0"; + version = "0.39.0"; src = fetchFromGitHub { owner = "prefix-dev"; repo = "rattler-build"; tag = "v${finalAttrs.version}"; - hash = "sha256-l8pMUgSU0L1GhB3FiwDVcSEJCpnfE46bCsyNsZSG0mQ="; + hash = "sha256-8U48Jow/6mOBTxRgMUtW6CaTkhwaAu8Hkad3WjRdkEM="; }; useFetchCargoVendor = true; - cargoHash = "sha256-TgUPeoOua9oqPPDb+SAlYztd1ZBEFvsSrCYCQGXKhgU="; + cargoHash = "sha256-U9ebUV9Hkfu5clAffncMXBo/ujnVf80Qt6dOkzphWx4="; doCheck = false; # test requires network access From ca8f618ddcd0bb03e0fdd86214f5013279088b8d Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Tue, 18 Mar 2025 22:33:17 -0400 Subject: [PATCH 214/272] fish: fix aarch64-linux test failures Parallel locale changes cause flaky tests on fast harder. --- ...c8bd4295262a3118f478e6b3a7c7536fa282.patch | 74 +++++++++++++++++++ pkgs/by-name/fi/fish/package.nix | 12 +-- 2 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 pkgs/by-name/fi/fish/1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch diff --git a/pkgs/by-name/fi/fish/1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch b/pkgs/by-name/fi/fish/1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch new file mode 100644 index 000000000000..873b112d864e --- /dev/null +++ b/pkgs/by-name/fi/fish/1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch @@ -0,0 +1,74 @@ +From 1d78c8bd4295262a3118f478e6b3a7c7536fa282 Mon Sep 17 00:00:00 2001 +From: Johannes Altmanninger +Date: Wed, 19 Mar 2025 09:39:04 +0100 +Subject: [PATCH] Fix concurrent setlocale() in string escape tests + +In our C++ implementation, these tests were run serially. As pointed out in +https://github.com/fish-shell/fish-shell/issues/11254#issuecomment-2735623229 +we run them in parallel now, which means that one test could be changing +the global locale used by another. + +In theory this could be fine because all tests are setting setting the +global locale to the same thing but the existence of a lock suggests that +setlocale() is not guaranteed to be atomic, so it's possible that another +thread uses a temporarily-invalid locale. + +Fixes #11254 +--- + src/tests/string_escape.rs | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/src/tests/string_escape.rs b/src/tests/string_escape.rs +index ba8ee7534ebf..4428d679cd35 100644 +--- a/src/tests/string_escape.rs ++++ b/src/tests/string_escape.rs +@@ -1,3 +1,5 @@ ++use std::sync::MutexGuard; ++ + use crate::common::{ + escape_string, str2wcstring, unescape_string, wcs2string, EscapeFlags, EscapeStringStyle, + UnescapeStringStyle, ENCODE_DIRECT_BASE, ENCODE_DIRECT_END, +@@ -10,21 +12,21 @@ use rand::{Rng, RngCore}; + + /// wcs2string is locale-dependent, so ensure we have a multibyte locale + /// before using it in a test. +-fn setlocale() { +- let _guard = LOCALE_LOCK.lock().unwrap(); ++fn setlocale() -> MutexGuard<'static, ()> { ++ let guard = LOCALE_LOCK.lock().unwrap(); + + #[rustfmt::skip] + const UTF8_LOCALES: &[&str] = &[ + "C.UTF-8", "en_US.UTF-8", "en_GB.UTF-8", "de_DE.UTF-8", "C.utf8", "UTF-8", + ]; + if crate::libc::MB_CUR_MAX() > 1 { +- return; ++ return guard; + } + for locale in UTF8_LOCALES { + let locale = std::ffi::CString::new(locale.to_owned()).unwrap(); + unsafe { libc::setlocale(libc::LC_CTYPE, locale.as_ptr()) }; + if crate::libc::MB_CUR_MAX() > 1 { +- return; ++ return guard; + } + } + panic!("No UTF-8 locale found"); +@@ -100,7 +102,7 @@ fn test_escape_var() { + } + + fn escape_test(escape_style: EscapeStringStyle, unescape_style: UnescapeStringStyle) { +- setlocale(); ++ let _locale_guard = setlocale(); + let seed: u128 = 92348567983274852905629743984572; + let mut rng = get_seeded_rng(seed); + +@@ -174,7 +176,7 @@ fn str2hex(input: &[u8]) -> String { + /// string comes back through double conversion. + #[test] + fn test_convert() { +- setlocale(); ++ let _locale_guard = setlocale(); + let seed = get_rng_seed(); + let mut rng = get_seeded_rng(seed); + let mut origin = Vec::new(); diff --git a/pkgs/by-name/fi/fish/package.nix b/pkgs/by-name/fi/fish/package.nix index c26c23de32ff..d0255f5dd6f1 100644 --- a/pkgs/by-name/fi/fish/package.nix +++ b/pkgs/by-name/fi/fish/package.nix @@ -188,6 +188,10 @@ stdenv.mkDerivation (finalAttrs: { # * # * ./nix-darwin-path.patch + + # remove 4.0.2 + # https://github.com/fish-shell/fish-shell/issues/11254 + ./1d78c8bd4295262a3118f478e6b3a7c7536fa282.patch ]; # Fix FHS paths in tests @@ -317,16 +321,12 @@ stdenv.mkDerivation (finalAttrs: { darwin.system_cmds ]; + # we target the top-level make target which runs all the cmake/ctest + # tests, including test_cargo-test checkTarget = "fish_run_tests"; preCheck = '' export TERMINFO="${ncurses}/share/terminfo" ''; - checkFlags = lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - # thread 'tests::string_escape::test_escape_random_url' panicked at src/tests/string_escape.rs:122:9: - # assertion `left == right` failed: Escaped and then unescaped string ... but got back a different string ... - # https://github.com/fish-shell/fish-shell/issues/11254 - "--skip=tests::string_escape::test_escape_random_url" - ]; nativeInstallCheckInputs = [ versionCheckHook From 629ed6c53701b816219d732bf2d191c4599be4da Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 12:44:36 +0000 Subject: [PATCH 215/272] zsh-autocomplete: 24.09.04 -> 25.03.19 --- pkgs/by-name/zs/zsh-autocomplete/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/zs/zsh-autocomplete/package.nix b/pkgs/by-name/zs/zsh-autocomplete/package.nix index 286b7174b715..4d14345098b8 100644 --- a/pkgs/by-name/zs/zsh-autocomplete/package.nix +++ b/pkgs/by-name/zs/zsh-autocomplete/package.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation rec { pname = "zsh-autocomplete"; - version = "24.09.04"; + version = "25.03.19"; src = fetchFromGitHub { owner = "marlonrichert"; repo = "zsh-autocomplete"; rev = version; - sha256 = "sha256-o8IQszQ4/PLX1FlUvJpowR2Tev59N8lI20VymZ+Hp4w="; + sha256 = "sha256-eb5a5WMQi8arZRZDt4aX1IV+ik6Iee3OxNMCiMnjIx4="; }; strictDeps = true; From 8ca7560e0c9e9f9dfd49425e8702b9f317814910 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 12:45:50 +0000 Subject: [PATCH 216/272] hcl2json: 0.6.5 -> 0.6.6 --- pkgs/by-name/hc/hcl2json/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/hc/hcl2json/package.nix b/pkgs/by-name/hc/hcl2json/package.nix index 6b4b79bdc465..ac35066d23e1 100644 --- a/pkgs/by-name/hc/hcl2json/package.nix +++ b/pkgs/by-name/hc/hcl2json/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "hcl2json"; - version = "0.6.5"; + version = "0.6.6"; src = fetchFromGitHub { owner = "tmccombs"; repo = pname; rev = "v${version}"; - sha256 = "sha256-LU74vm36NuA1ApJWtEf/ub3los6yVR8yiQTfM0Wnvyo="; + sha256 = "sha256-zd8+ZDuC+qBienADiTVhW8o+BH8spBTCDHIK2PwK3YY="; }; - vendorHash = "sha256-nm+KvpcOUTR9Nm0eQtqCWxMiFTvL5xKLhsPaJlsVpkQ="; + vendorHash = "sha256-GMy6jGXAjykg+61RbPbQ9ZI0odhPls6uLhtw2sKLUmY="; subPackages = [ "." ]; From 59d8035105aae8ace64e0840ca4ca42e27b0b87b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 12:47:26 +0000 Subject: [PATCH 217/272] dbvisualizer: 24.3.3 -> 25.1 --- pkgs/by-name/db/dbvisualizer/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/db/dbvisualizer/package.nix b/pkgs/by-name/db/dbvisualizer/package.nix index 3722b2454239..a5101267901f 100644 --- a/pkgs/by-name/db/dbvisualizer/package.nix +++ b/pkgs/by-name/db/dbvisualizer/package.nix @@ -13,7 +13,7 @@ let in stdenv.mkDerivation (finalAttrs: { inherit pname; - version = "24.3.3"; + version = "25.1"; src = let @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { in fetchurl { url = "https://www.dbvis.com/product_download/dbvis-${finalAttrs.version}/media/dbvis_linux_${underscoreVersion}.tar.gz"; - hash = "sha256-RDmakZJ7mjTzx4QaKwT6H25dDvQANbLhd2+f8EYbmDA="; + hash = "sha256-Se2d5S8nXKmNJ1UoYNGJyvHC20THShjzGh2T98NhFv4="; }; strictDeps = true; From ccf54780b9952277bd15603058a8bc3390e4e63d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 12:50:12 +0000 Subject: [PATCH 218/272] mill: 0.12.8 -> 0.12.9 --- pkgs/by-name/mi/mill/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mi/mill/package.nix b/pkgs/by-name/mi/mill/package.nix index 3b19b4f8ccd2..10dfb82e2190 100644 --- a/pkgs/by-name/mi/mill/package.nix +++ b/pkgs/by-name/mi/mill/package.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "mill"; - version = "0.12.8"; + version = "0.12.9"; src = fetchurl { url = "https://repo1.maven.org/maven2/com/lihaoyi/mill-dist/${finalAttrs.version}/mill-dist-${finalAttrs.version}-assembly.jar"; - hash = "sha256-l+DaOvk7Tajla9IirLfEIij6thZcKI4Zk7wYLnnsiU8="; + hash = "sha256-Ntqzivy8dfsRlBclPNsWOZ4h1Xk7D3UJV7GLVGIEcAU="; }; nativeBuildInputs = [ makeWrapper ]; From f375a86fc17993d15a44280c85e0e17bd0005377 Mon Sep 17 00:00:00 2001 From: thefeiter Date: Wed, 19 Mar 2025 13:59:23 +0100 Subject: [PATCH 219/272] nixos/mautrix-telegram: switch to using static user for automated registration of appservice Like for matrix-whatsapp use a static user so that the registration file can be automatically shared with synapse. This also includes the registerToSynapse config option. --- .../services/matrix/mautrix-telegram.nix | 56 ++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/matrix/mautrix-telegram.nix b/nixos/modules/services/matrix/mautrix-telegram.nix index a489c9c72485..f3adbc26ab58 100644 --- a/nixos/modules/services/matrix/mautrix-telegram.nix +++ b/nixos/modules/services/matrix/mautrix-telegram.nix @@ -9,7 +9,8 @@ let registrationFile = "${dataDir}/telegram-registration.yaml"; cfg = config.services.mautrix-telegram; settingsFormat = pkgs.formats.json { }; - settingsFile = settingsFormat.generate "mautrix-telegram-config.json" cfg.settings; + settingsFileUnsubstituted = settingsFormat.generate "mautrix-telegram-config.json" cfg.settings; + settingsFile = "${dataDir}/config.json"; in { @@ -132,10 +133,37 @@ in List of Systemd services to require and wait for when starting the application service. ''; }; + + registerToSynapse = lib.mkOption { + type = lib.types.bool; + default = config.services.matrix-synapse.enable; + defaultText = lib.literalExpression "config.services.matrix-synapse.enable"; + description = '' + Whether to add the bridge's app service registration file to + `services.matrix-synapse.settings.app_service_config_files`. + ''; + }; }; }; config = lib.mkIf cfg.enable { + + users.users.mautrix-telegram = { + isSystemUser = true; + group = "mautrix-telegram"; + home = dataDir; + description = "Mautrix-Telegram bridge user"; + }; + + users.groups.mautrix-telegram = { }; + + services.matrix-synapse = lib.mkIf cfg.registerToSynapse { + settings.app_service_config_files = [ registrationFile ]; + }; + systemd.services.matrix-synapse = lib.mkIf cfg.registerToSynapse { + serviceConfig.SupplementaryGroups = [ "mautrix-telegram" ]; + }; + systemd.services.mautrix-telegram = { description = "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge."; @@ -161,6 +189,16 @@ in preStart = '' + # substitute the settings file by environment variables + # in this case read from EnvironmentFile + test -f '${settingsFile}' && rm -f '${settingsFile}' + old_umask=$(umask) + umask 0177 + ${pkgs.envsubst}/bin/envsubst \ + -o '${settingsFile}' \ + -i '${settingsFileUnsubstituted}' + umask $old_umask + # generate the appservice's registration file if absent if [ ! -f '${registrationFile}' ]; then ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ @@ -168,6 +206,19 @@ in --config='${settingsFile}' \ --registration='${registrationFile}' fi + + old_umask=$(umask) + umask 0177 + # 1. Overwrite registration tokens in config + # is set, set it as the login shared secret value for the configured + # homeserver domain. + ${pkgs.yq}/bin/yq -s '.[0].appservice.as_token = .[1].as_token + | .[0].appservice.hs_token = .[1].hs_token + | .[0]' \ + '${settingsFile}' '${registrationFile}' > '${settingsFile}.tmp' + mv '${settingsFile}.tmp' '${settingsFile}' + + umask $old_umask '' + lib.optionalString (pkgs.mautrix-telegram ? alembic) '' # run automatic database init and migration scripts @@ -175,6 +226,8 @@ in ''; serviceConfig = { + User = "mautrix-telegram"; + Group = "mautrix-telegram"; Type = "simple"; Restart = "always"; @@ -184,7 +237,6 @@ in ProtectKernelModules = true; ProtectControlGroups = true; - DynamicUser = true; PrivateTmp = true; WorkingDirectory = pkgs.mautrix-telegram; # necessary for the database migration scripts to be found StateDirectory = baseNameOf dataDir; From 422c7912b2cdcdd79ad796b3d42e50deca9aba33 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 13:15:35 +0000 Subject: [PATCH 220/272] owntracks-recorder: 0.9.9 -> 1.0.0 --- pkgs/by-name/ow/owntracks-recorder/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ow/owntracks-recorder/package.nix b/pkgs/by-name/ow/owntracks-recorder/package.nix index 7f11113a5a2c..ae5133cb46df 100644 --- a/pkgs/by-name/ow/owntracks-recorder/package.nix +++ b/pkgs/by-name/ow/owntracks-recorder/package.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "owntracks-recorder"; - version = "0.9.9"; + version = "1.0.0"; src = fetchFromGitHub { owner = "owntracks"; repo = "recorder"; rev = finalAttrs.version; - hash = "sha256-6oCWzTiQgpp75xojd2ZFsrg+Kd5/gex1BPQVOWHfMuk="; + hash = "sha256-E4hdsUAg8NHjmUrlr8cskezib4qMv+wF32cThe2/kBc="; }; nativeBuildInputs = [ From 03097b07f3dc007d2f308bf86cab61d0932dabb3 Mon Sep 17 00:00:00 2001 From: emilylange Date: Wed, 19 Mar 2025 14:25:17 +0100 Subject: [PATCH 221/272] forgejo-lts: 7.0.13 -> 7.0.14 https://codeberg.org/forgejo/forgejo/releases/tag/v7.0.14 https://codeberg.org/forgejo/forgejo/src/commit/2cd9872b105f31a7084fe6326e9fa6f55a24c2b7/release-notes-published/7.0.14.md diff: https://codeberg.org/forgejo/forgejo/compare/v7.0.13...v7.0.14 --- pkgs/by-name/fo/forgejo/lts.nix | 6 +++--- pkgs/top-level/all-packages.nix | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/fo/forgejo/lts.nix b/pkgs/by-name/fo/forgejo/lts.nix index f3fcd44fbb28..5b42631ffce4 100644 --- a/pkgs/by-name/fo/forgejo/lts.nix +++ b/pkgs/by-name/fo/forgejo/lts.nix @@ -1,8 +1,8 @@ import ./generic.nix { - version = "7.0.13"; - hash = "sha256-mqpqxr5HE0CoDZkTIdZQEcWFywVw4HVwvPfrdXKp8tk="; + version = "7.0.14"; + hash = "sha256-DtGJStiXuJl0m4K6+DNxsBBaj9dB4bEmMqpGS3WGPD4="; npmDepsHash = "sha256-R78/L6HS8pUNccrctBJ2E8ndS/RBHd+mTvl0JPoxr8Q="; - vendorHash = "sha256-FyFmuJQqe+MUjhXEoB5VlSmTLSsCVbigz4H3jaQhKrE="; + vendorHash = "sha256-18tJJ3dBVR9d7PFBRFtOVVtZAcdKucmbOTXHdk7U89s="; lts = true; nixUpdateExtraArgs = [ "--override-filename" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bdbdb7969cb8..8dd4371f86da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1189,9 +1189,7 @@ with pkgs; datalad-gooey = with python3Packages; toPythonApplication datalad-gooey; - forgejo-lts = callPackage ../by-name/fo/forgejo/lts.nix { - buildGoModule = buildGo123Module; - }; + forgejo-lts = callPackage ../by-name/fo/forgejo/lts.nix { }; gfold = callPackage ../applications/version-management/gfold { }; From a0fdba4084f26057cf314ee533535d3f735c9836 Mon Sep 17 00:00:00 2001 From: Emilio Ziniades Date: Fri, 14 Mar 2025 21:09:50 +0200 Subject: [PATCH 222/272] cook-cli: 0.7.1 -> 0.10.0 --- pkgs/by-name/co/cook-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cook-cli/package.nix b/pkgs/by-name/co/cook-cli/package.nix index 6d83b52f11fa..a45cbf962503 100644 --- a/pkgs/by-name/co/cook-cli/package.nix +++ b/pkgs/by-name/co/cook-cli/package.nix @@ -10,17 +10,17 @@ }: rustPlatform.buildRustPackage rec { pname = "cook-cli"; - version = "0.7.1"; + version = "0.10.0"; src = fetchFromGitHub { owner = "cooklang"; repo = "cookcli"; rev = "v${version}"; - hash = "sha256-3gLVsk6GCxOG24Md7E9fk28Vnc4kVDdwyZUD/GtSwFE="; + hash = "sha256-1m2+etJG+33fPTxBF8qT/U9WiZGcSn9r0WlK5PDL6/Q="; }; useFetchCargoVendor = true; - cargoHash = "sha256-EoTCKpH8G3SsXkhQVsr9aX4Cupm+fzPtXHpoM1knqss="; + cargoHash = "sha256-3tWVCP80a6odmi9C0klLbfO5UmdFczyUY8KQSaMIyw4="; nativeBuildInputs = [ pkg-config From 759aed67039d380ae3b15a79f0ba133ba847ed4e Mon Sep 17 00:00:00 2001 From: phanirithvij Date: Wed, 19 Mar 2025 17:33:52 +0530 Subject: [PATCH 223/272] mani: refactor and add self as maintainer Signed-off-by: phanirithvij --- pkgs/by-name/ma/mani/package.nix | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/pkgs/by-name/ma/mani/package.nix b/pkgs/by-name/ma/mani/package.nix index 395328e94834..b3f663dff5c7 100644 --- a/pkgs/by-name/ma/mani/package.nix +++ b/pkgs/by-name/ma/mani/package.nix @@ -1,20 +1,20 @@ { + lib, + gitMinimal, buildGoModule, fetchFromGitHub, - lib, installShellFiles, - git, makeWrapper, }: -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "mani"; version = "0.30.0"; src = fetchFromGitHub { owner = "alajmo"; repo = "mani"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; sha256 = "sha256-LxW9LPK4cXIXhBWPhOYWLeV5PIf+o710SWX8JVpZhPI="; }; @@ -27,8 +27,7 @@ buildGoModule rec { ldflags = [ "-s" - "-w" - "-X github.com/alajmo/mani/cmd.version=${version}" + "-X github.com/alajmo/mani/cmd.version=${finalAttrs.version}" ]; postInstall = '' @@ -38,7 +37,7 @@ buildGoModule rec { --zsh <($out/bin/mani completion zsh) wrapProgram $out/bin/mani \ - --prefix PATH : ${lib.makeBinPath [ git ]} + --prefix PATH : ${lib.makeBinPath [ gitMinimal ]} ''; # Skip tests @@ -46,17 +45,12 @@ buildGoModule rec { # know how to wrap the dependencies for these integration tests so skip for now. doCheck = false; - meta = with lib; { + meta = { + changelog = "https://github.com/alajmo/mani/releases/tag/v${finalAttrs.version}"; description = "CLI tool to help you manage multiple repositories"; + homepage = "https://manicli.com"; + license = lib.licenses.mit; mainProgram = "mani"; - longDescription = '' - mani is a CLI tool that helps you manage multiple repositories. It's useful - when you are working with microservices, multi-project systems, many - libraries or just a bunch of repositories and want a central place for - pulling all repositories and running commands over them. - ''; - homepage = "https://manicli.com/"; - changelog = "https://github.com/alajmo/mani/releases/tag/v${version}"; - license = licenses.mit; + maintainers = with lib.maintainers; [ phanirithvij ]; }; -} +}) From f7c51dd390a24f318947e64d7b003be740187db9 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 20 Mar 2025 00:16:49 +1000 Subject: [PATCH 224/272] sbt-extras: 2024-11-06 -> 2025-03-08 (#390852) --- pkgs/by-name/sb/sbt-extras/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/sb/sbt-extras/package.nix b/pkgs/by-name/sb/sbt-extras/package.nix index a3e052c16e93..454582b04789 100644 --- a/pkgs/by-name/sb/sbt-extras/package.nix +++ b/pkgs/by-name/sb/sbt-extras/package.nix @@ -18,14 +18,14 @@ stdenv.mkDerivation rec { pname = "sbt-extras"; - rev = "e16dab993203b611b9592ddae7b8822a68ae16ec"; - version = "2024-11-06"; + rev = "0282f6f856be680c91184d8a4b2b8698da84fae3"; + version = "2025-03-08"; src = fetchFromGitHub { owner = "paulp"; repo = "sbt-extras"; inherit rev; - sha256 = "Z9bN+gmWiomWnp94pMXf5+Bksl6OejIPbYUGfVrDxJQ="; + sha256 = "nZnrs+oODq+8KZ73JrWDptC0KLLHAGY1SdtRi4zEQ58="; }; dontBuild = true; From a256986143c55840ef99021ed584c151cfed1b6f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 14:45:55 +0000 Subject: [PATCH 225/272] diffoci: 0.1.5 -> 0.1.6 --- pkgs/by-name/di/diffoci/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/di/diffoci/package.nix b/pkgs/by-name/di/diffoci/package.nix index 26ef0709ec25..7f3a5aa322e6 100644 --- a/pkgs/by-name/di/diffoci/package.nix +++ b/pkgs/by-name/di/diffoci/package.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "diffoci"; - version = "0.1.5"; + version = "0.1.6"; src = fetchFromGitHub { owner = "reproducible-containers"; repo = "diffoci"; rev = "v${version}"; - hash = "sha256-ZVWnfg5uWYuqsNd4X6t1gWBGMfdcirSp7QZZDhqAfaI="; + hash = "sha256-rCSLHlHUWS0wEnN8R2v1h+kQ7K62VQPfZmySHGSFZlQ="; }; - vendorHash = "sha256-qb4HvK4UbJbtP/ypeptV/MMbhOu5UZDaGartq/RGpDM="; + vendorHash = "sha256-udVigglpCgdYzJe9vdGZiQepZeOplQjqKB4Za8a+u6k="; ldflags = [ "-s" From 06adae40983d14bbd20dccec6d8d0f34ad0c6af5 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Sun, 16 Mar 2025 20:06:27 -0700 Subject: [PATCH 226/272] llvmPackages_git: 2025-03-09 -> 2025-03-16 --- pkgs/development/compilers/llvm/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index c3d31450830e..27eda9772f5d 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -33,9 +33,9 @@ let "19.1.7".officialRelease.sha256 = "sha256-cZAB5vZjeTsXt9QHbP5xluWNQnAHByHtHnAhVDV0E6I="; "20.1.0-rc3".officialRelease.sha256 = "sha256-mLSBoyq24FD+khynC6sC5IkDFqizgAn07lR9+ZRXlV0="; "21.0.0-git".gitRelease = { - rev = "58fc4b13cb5ff7e877c52c11f71328ed12e6a89c"; - rev-version = "21.0.0-unstable-2025-03-09"; - sha256 = "sha256-ioZubgLW+GpnA3DPe01YDxELnIJhXDGskCUAKZlDvUo="; + rev = "4fde8c341f9166e6ec6dff6e7704be175e382f5b"; + rev-version = "21.0.0-unstable-2025-03-16"; + sha256 = "sha256-LOQdDYbWvPfUxaR7G3UFQlGzmwaUxHuLDOXgixKB18g="; }; } // llvmVersions; From 7c76d3b20bce2e75a95e3e8d403a0779d9a3f053 Mon Sep 17 00:00:00 2001 From: Astro Date: Sat, 1 Mar 2025 17:40:27 +0100 Subject: [PATCH 227/272] openvmm: 0-unstable-2024-10-19 -> 0-unstable-2025-03-13 --- pkgs/by-name/op/openvmm/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/op/openvmm/package.nix b/pkgs/by-name/op/openvmm/package.nix index 2f63584b0f1c..3cc2e402a036 100644 --- a/pkgs/by-name/op/openvmm/package.nix +++ b/pkgs/by-name/op/openvmm/package.nix @@ -9,13 +9,13 @@ rustPlatform.buildRustPackage { pname = "openvmm"; - version = "0-unstable-2024-10-19"; + version = "0-unstable-2025-03-13"; src = fetchFromGitHub { owner = "microsoft"; repo = "openvmm"; - rev = "2e5acb8ab89b75d6ff59d537e9f21445d830386d"; - hash = "sha256-Fi5hDFV2SfpqJjXSc7YwlNDnoL5TTgiqmFMt+ls2Uu4="; + rev = "047fde8a2b3eec17a46203fbc54ce7f3aa9b4dfd"; + hash = "sha256-w6MxJVm5/ABU04MZUCSjzHVZLXQIsOVCIJZkHOfxQC0="; }; separateDebugInfo = true; @@ -33,7 +33,7 @@ rustPlatform.buildRustPackage { openssl ]; - cargoHash = "sha256-6ciIbLc/L54Rhhf/IOnv63vUlqoXPi087taw6MY80HA="; + cargoHash = "sha256-u0E09yFssd71wUS1BD766ztDImauu90T/jIWOb2v0mE="; useFetchCargoVendor = true; meta = with lib; { From 49509ee6874d5b9ff361690f4719c3e1249f3506 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 14:56:34 +0000 Subject: [PATCH 228/272] crocoddyl: 2.2.0 -> 3.0.0 --- pkgs/by-name/cr/crocoddyl/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/cr/crocoddyl/package.nix b/pkgs/by-name/cr/crocoddyl/package.nix index 773898277627..f4cab7ae2ba3 100644 --- a/pkgs/by-name/cr/crocoddyl/package.nix +++ b/pkgs/by-name/cr/crocoddyl/package.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "crocoddyl"; - version = "2.2.0"; + version = "3.0.0"; src = fetchFromGitHub { owner = "loco-3d"; repo = "crocoddyl"; rev = "v${finalAttrs.version}"; - hash = "sha256-j3TL5TpIdTkTO32Fuu+LyiieiXoOMvShi/LbBL5YYzA="; + hash = "sha256-oWcclzzuswiR1SaQJd6GnMltJ2vgt7AgJPT0FJzD1Gs="; }; outputs = [ From 62be2042b93e7eefbe56263dd3d5567884c60b6e Mon Sep 17 00:00:00 2001 From: Luna Nova Date: Mon, 3 Mar 2025 09:00:43 -0800 Subject: [PATCH 229/272] maintainers/team-list: add GZGavinZhao & LunNova to rocm team, remove Madouura https://github.com/NixOS/nixpkgs/issues/385288 --- maintainers/team-list.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 060b633c5d59..09528063e791 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -1017,8 +1017,9 @@ with lib.maintainers; rocm = { members = [ - Madouura Flakebi + GZGavinZhao + LunNova mschwaig ]; githubTeams = [ "rocm-maintainers" ]; From ed0e5aaf84cdd910bb0164ddcc045506be122f18 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 15:10:06 +0000 Subject: [PATCH 230/272] broot: 1.44.7 -> 1.45.0 --- pkgs/by-name/br/broot/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/br/broot/package.nix b/pkgs/by-name/br/broot/package.nix index 04e735ba0feb..225a17ac89bf 100644 --- a/pkgs/by-name/br/broot/package.nix +++ b/pkgs/by-name/br/broot/package.nix @@ -15,17 +15,17 @@ rustPlatform.buildRustPackage rec { pname = "broot"; - version = "1.44.7"; + version = "1.45.0"; src = fetchFromGitHub { owner = "Canop"; repo = "broot"; rev = "v${version}"; - hash = "sha256-GaOPC1lIu48qFo99AQ99f49e8qH/TEQubpluptLc0jY="; + hash = "sha256-Hif+ynwOxiZBAiNdbaU5SpI9s0yNxtH0qXXMfGO21H0="; }; useFetchCargoVendor = true; - cargoHash = "sha256-J7zc1aTH62nL96cSb9CiIk8uJdR7nk9EnERiAfMvqNM="; + cargoHash = "sha256-Cw0Bh8S04oUlbbn3O3+uBoHEgh82XIcGQSGqkZFOc78="; nativeBuildInputs = [ installShellFiles From 561f1f7a6ea59a905598c8d1706787690825ec70 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Wed, 19 Mar 2025 08:13:43 -0700 Subject: [PATCH 231/272] systemd: expose withTpm2Units Exposes if a special trio of options are enabled in the systemd build, for convenience when accessing in NixOS modules. --- pkgs/os-specific/linux/systemd/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index db21f9fb7d54..8abead4eeddc 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -892,6 +892,10 @@ stdenv.mkDerivation (finalAttrs: { kbd ; + # Many TPM2-related units are only installed if this trio of features are + # enabled. See https://github.com/systemd/systemd/blob/876ee10e0eb4bbb0920bdab7817a9f06cc34910f/units/meson.build#L521 + withTpm2Units = withTpm2Tss && withBootloader && withOpenSSL; + tests = let # Some entries in the `nixosTests.systemd-*` set of attributes are collections of tests, From dad880d6bf01319b3b0dabb05e89c2a46b7365f3 Mon Sep 17 00:00:00 2001 From: Jared Baur Date: Wed, 19 Mar 2025 08:14:48 -0700 Subject: [PATCH 232/272] nixos/systemd: conditionally leave out some upstream units Some upstream systemd units are conditionally installed into the systemd output, so we must make sure the feature that enables their installation is enabled on our side prior to trying to use them. --- nixos/modules/system/boot/systemd.nix | 6 ++++-- nixos/modules/system/boot/systemd/tpm2.nix | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 3096517c0b08..3b4bdaae071e 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -104,7 +104,7 @@ let "sleep.target" "hybrid-sleep.target" "systemd-hibernate.service" - "systemd-hibernate-clear.service" + ] ++ (lib.optional cfg.package.withEfi "systemd-hibernate-clear.service") ++ [ "systemd-hybrid-sleep.service" "systemd-suspend.service" "systemd-suspend-then-hibernate.service" @@ -130,11 +130,13 @@ let "systemd-ask-password-wall.service" # Varlink APIs + ] ++ lib.optionals cfg.package.withBootloader [ "systemd-bootctl@.service" "systemd-bootctl.socket" + ] ++ [ "systemd-creds@.service" "systemd-creds.socket" - ] ++ lib.optional cfg.package.withTpm2Tss [ + ] ++ lib.optional cfg.package.withTpm2Units [ "systemd-pcrlock@.service" "systemd-pcrlock.socket" ] ++ [ diff --git a/nixos/modules/system/boot/systemd/tpm2.nix b/nixos/modules/system/boot/systemd/tpm2.nix index 6b6c9fb23f24..8bf3b8413574 100644 --- a/nixos/modules/system/boot/systemd/tpm2.nix +++ b/nixos/modules/system/boot/systemd/tpm2.nix @@ -27,13 +27,13 @@ options = { systemd.tpm2.enable = lib.mkEnableOption "systemd TPM2 support" // { - default = config.systemd.package.withTpm2Tss; - defaultText = "systemd.package.withTpm2Tss"; + default = config.systemd.package.withTpm2Units; + defaultText = "systemd.package.withTpm2Units"; }; boot.initrd.systemd.tpm2.enable = lib.mkEnableOption "systemd initrd TPM2 support" // { - default = config.boot.initrd.systemd.package.withTpm2Tss; - defaultText = "boot.initrd.systemd.package.withTpm2Tss"; + default = config.boot.initrd.systemd.package.withTpm2Units; + defaultText = "boot.initrd.systemd.package.withTpm2Units"; }; }; From 2f038e83933bf2abafd1a1c084337ce054afe10e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 15:24:49 +0000 Subject: [PATCH 233/272] civo: 1.1.97 -> 1.1.98 --- pkgs/by-name/ci/civo/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ci/civo/package.nix b/pkgs/by-name/ci/civo/package.nix index 66b9dc84160d..ed9da0b7ac82 100644 --- a/pkgs/by-name/ci/civo/package.nix +++ b/pkgs/by-name/ci/civo/package.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "civo"; - version = "1.1.97"; + version = "1.1.98"; src = fetchFromGitHub { owner = "civo"; repo = "cli"; rev = "v${version}"; - hash = "sha256-0BIvKzG+ePN4VyXPj4VfCoZiq/pDZb9/7k/kTIa4Fqs="; + hash = "sha256-gxqVWnhlLYizoij6L9/ThM9T7K7++nGZwgFP3OzBqOY="; }; - vendorHash = "sha256-V1R5MQ3y8mcm8ffc2INKk6BTYUROEvr8lHBs6MvbpkQ="; + vendorHash = "sha256-LN6rzZXw7YoHMyPCujPiyjs8tG+nN2fxwQnEenohw1c="; nativeBuildInputs = [ installShellFiles ]; From f19b9ebccbeafd17cff3efd8951afb34e481c2df Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 17 Mar 2025 02:09:22 +0000 Subject: [PATCH 234/272] crosvm: 0-unstable-2025-02-18 -> 0-unstable-2025-03-14 --- pkgs/applications/virtualization/crosvm/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/virtualization/crosvm/default.nix b/pkgs/applications/virtualization/crosvm/default.nix index 7e95a2df2d8c..0971bcf3b788 100644 --- a/pkgs/applications/virtualization/crosvm/default.nix +++ b/pkgs/applications/virtualization/crosvm/default.nix @@ -21,19 +21,19 @@ rustPlatform.buildRustPackage { pname = "crosvm"; - version = "0-unstable-2025-02-18"; + version = "0-unstable-2025-03-14"; src = fetchgit { url = "https://chromium.googlesource.com/chromiumos/platform/crosvm"; - rev = "10d2f33440475cb1a96eba1dc27c59c8b57b68bd"; - hash = "sha256-FUTscDaqRgsabLcYq/fny3qXtBiwRRf8RVQBmDUyYrY="; + rev = "af765802907dafe1ae1d1f39704c5020a882d362"; + hash = "sha256-p15gljpEaSloorT37J8Akn5DaqkjVD/QInik4FaF1HE="; fetchSubmodules = true; }; separateDebugInfo = true; useFetchCargoVendor = true; - cargoHash = "sha256-hkDfqNoDn0TSvnQ2eVYEeB+f+JAnPI7BVcQBd9sjYzk="; + cargoHash = "sha256-3+gV/4l+N4U2zZWU+UtA1gcmdwnXavbhBPQOB3hhGDk="; nativeBuildInputs = [ pkg-config From 6eeb76d07a2d647355f3b1f9ffc981e485be01b1 Mon Sep 17 00:00:00 2001 From: Corbin Wunderlich Date: Sun, 16 Mar 2025 14:40:47 -0400 Subject: [PATCH 235/272] xpra: 6.2.3 -> 6.2.5 --- pkgs/tools/X11/xpra/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index bd43082ba12b..7228edb54d65 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -82,7 +82,7 @@ let in buildPythonApplication rec { pname = "xpra"; - version = "6.2.3"; + version = "6.2.5"; stdenv = if withNvenc then cudaPackages.backendStdenv else args.stdenv; @@ -90,7 +90,7 @@ buildPythonApplication rec { owner = "Xpra-org"; repo = "xpra"; rev = "v${version}"; - hash = "sha256-5f6yHz3uc5qsU1F6D8r0KPo8tbrFP4pfxXTvIJYqKuI="; + hash = "sha256-XY8NZhWCRLjpgq0dOClzftvMR7g/X64b+OYyjOGC/lM="; }; patches = [ From 9f97e8ca1df316c57c7498e6a1cd09544e94d208 Mon Sep 17 00:00:00 2001 From: Corbin Wunderlich Date: Sun, 16 Mar 2025 14:41:03 -0400 Subject: [PATCH 236/272] xpra: add a few missing dependencies --- pkgs/tools/X11/xpra/default.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 7228edb54d65..fc0c33deaa32 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -35,6 +35,10 @@ which, x264, x265, + libavif, + libspng, + openh264, + libyuv, xauth, xdg-utils, xorg, @@ -132,6 +136,8 @@ buildPythonApplication rec { ] ++ (with gst_all_1; [ gst-libav + gst-vaapi + gst-plugins-ugly gst-plugins-bad gst-plugins-base gst-plugins-good @@ -154,6 +160,10 @@ buildPythonApplication rec { pango x264 x265 + libavif + libspng + openh264 + libyuv xxHash ] ++ lib.optional withNvenc [ @@ -182,10 +192,14 @@ buildPythonApplication rec { pygobject3 pyinotify pyopengl + pyopengl-accelerate python-uinput pyxdg rencode invoke + aioquic + uvloop + pyopenssl ] ++ lib.optionals withNvenc [ pycuda From 697d082d8e0b6da3839003f0982479b271491420 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 15:54:17 +0000 Subject: [PATCH 237/272] youtrack: 2025.1.62967 -> 2025.1.66652 --- pkgs/by-name/yo/youtrack/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/yo/youtrack/package.nix b/pkgs/by-name/yo/youtrack/package.nix index 14bc8906b607..9f07c1468050 100644 --- a/pkgs/by-name/yo/youtrack/package.nix +++ b/pkgs/by-name/yo/youtrack/package.nix @@ -10,11 +10,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "youtrack"; - version = "2025.1.62967"; + version = "2025.1.66652"; src = fetchzip { url = "https://download.jetbrains.com/charisma/youtrack-${finalAttrs.version}.zip"; - hash = "sha256-6uKlbyVtYF4UZVi2bgX2iZSfqJJEEZ86FJ55TXnbQ1o="; + hash = "sha256-2w/7NR2GPqP6tLvzU9xIO3OXzwqa06BzHWBnmMDFvbQ="; }; nativeBuildInputs = [ makeBinaryWrapper ]; From 57de201c4396a54092f01dffe47de0e6f7d2db03 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 15:52:06 +0000 Subject: [PATCH 238/272] warp-terminal: 0.2025.03.05.08.02.stable_02 -> 0.2025.03.12.08.02.stable_03 --- pkgs/by-name/wa/warp-terminal/versions.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/wa/warp-terminal/versions.json b/pkgs/by-name/wa/warp-terminal/versions.json index 997ce79f0399..ded654d8a88c 100644 --- a/pkgs/by-name/wa/warp-terminal/versions.json +++ b/pkgs/by-name/wa/warp-terminal/versions.json @@ -1,14 +1,14 @@ { "darwin": { - "hash": "sha256-Reni9yNh4Z2aXrl3Z1jJrkLk6BkEfiFIayr58/K5H0k=", - "version": "0.2025.03.05.08.02.stable_02" + "hash": "sha256-2pvls8XZq870YFnNwgRTOzDiLZLJZHuEjENF4BKoSq0=", + "version": "0.2025.03.12.08.02.stable_03" }, "linux_x86_64": { - "hash": "sha256-8z2FZVi4xLTDMSTgNE/Yxy/wZRRxRdjRrI/5dXcUdRA=", - "version": "0.2025.03.05.08.02.stable_02" + "hash": "sha256-ZeRrzl6ZLgi+ybiof7mPuIhqPKT9uVRWBXEYCGwfhxE=", + "version": "0.2025.03.12.08.02.stable_03" }, "linux_aarch64": { - "hash": "sha256-7rwfxhrE4cROHfU3Z/VIoMbqn3EZJcEeTTPzmCbXdbw=", - "version": "0.2025.03.05.08.02.stable_02" + "hash": "sha256-vDoQOec1lKhG2cd9L6ekWubnn9Ion7GeyyccDCm4HuU=", + "version": "0.2025.03.12.08.02.stable_03" } } From 7eaf5d7cdf2b30d763fe0954ea4a79eb32ae4be4 Mon Sep 17 00:00:00 2001 From: Daylin Morgan Date: Wed, 19 Mar 2025 10:19:25 -0500 Subject: [PATCH 239/272] add a newline with each switch --- pkgs/by-name/ni/nim_builder/nim_builder.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/nim_builder/nim_builder.nim b/pkgs/by-name/ni/nim_builder/nim_builder.nim index ec1d3ccb45b9..6339645bb4ad 100644 --- a/pkgs/by-name/ni/nim_builder/nim_builder.nim +++ b/pkgs/by-name/ni/nim_builder/nim_builder.nim @@ -89,7 +89,7 @@ proc configurePhase*() = else: fmWrite var cfg = newFileStream(configFilePath, mode) proc switch(key, val: string) = - cfg.writeLine("switch(", key.escape, ",", val.escape, ")") + cfg.writeLine("\nswitch(", key.escape, ",", val.escape, ")") switch("backend", nf.getNimbleValue("backend", "c")) switch("nimcache", getEnv("NIX_BUILD_TOP", ".") / "nimcache") if getEnvBool("nimRelease", true): From 6509831a8861818b9b304bc2f16fe2e8aa5c012c Mon Sep 17 00:00:00 2001 From: rorosen <76747196+rorosen@users.noreply.github.com> Date: Wed, 19 Mar 2025 17:47:10 +0100 Subject: [PATCH 240/272] rke2_1_31: 1.31.5+rke2r1 -> 1.31.6+rke2r1 (#386837) https://github.com/rancher/rke2/releases/tag/v1.31.6%2Brke2r1 --- .../networking/cluster/rke2/1_31/versions.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/cluster/rke2/1_31/versions.nix b/pkgs/applications/networking/cluster/rke2/1_31/versions.nix index 9fcc4fd66b7f..3de4683cd6a3 100644 --- a/pkgs/applications/networking/cluster/rke2/1_31/versions.nix +++ b/pkgs/applications/networking/cluster/rke2/1_31/versions.nix @@ -1,11 +1,11 @@ { - rke2Version = "1.31.5+rke2r1"; - rke2Commit = "08e198bbe3f0b8d4c9b0af4d92085c06bb94aa89"; - rke2TarballHash = "sha256-GG1GOs/kLWDCvc/+l0ymRpJzEthIyGpampCjvfnEPB8="; - rke2VendorHash = "sha256-xWqMidOWiLgJXp6AEITkyOieLw4yi1JMmi80YS4RNy0="; - k8sImageTag = "v1.31.5-rke2r1-build20250115"; - etcdVersion = "v3.5.16-k3s1-build20241106"; + rke2Version = "1.31.6+rke2r1"; + rke2Commit = "f75cdf813703af4bc224b91bfb3c48d10aeb9fd0"; + rke2TarballHash = "sha256-6HMF3EngR2S8LTpMq4b3B1ZUiBUJO8D3fhwaNMuAuPc="; + rke2VendorHash = "sha256-ug1dO4t/QfPpg3mobCIJWb8/MERUoP9tEMlKRKZigXo="; + k8sImageTag = "v1.31.6-rke2r1-build20250213"; + etcdVersion = "v3.5.18-k3s1-build20250210"; pauseVersion = "3.6"; ccmVersion = "v1.31.2-0.20241016053446-0955fa330f90-build20241016"; - dockerizedVersion = "v1.31.5-rke2r1"; + dockerizedVersion = "v1.31.6-rke2r1"; } From 3210c8b7fa5310fe829a4064a1f4bb4d03047614 Mon Sep 17 00:00:00 2001 From: NTBBloodbath Date: Mon, 10 Mar 2025 13:04:11 -0400 Subject: [PATCH 241/272] penpot-desktop: 0.10.0 -> 0.11.0 --- .../penpot-desktop/electron-package-lock.diff | 39 ------------------- pkgs/by-name/pe/penpot-desktop/package.nix | 24 +++++------- 2 files changed, 9 insertions(+), 54 deletions(-) delete mode 100644 pkgs/by-name/pe/penpot-desktop/electron-package-lock.diff diff --git a/pkgs/by-name/pe/penpot-desktop/electron-package-lock.diff b/pkgs/by-name/pe/penpot-desktop/electron-package-lock.diff deleted file mode 100644 index 9e2fee2657fb..000000000000 --- a/pkgs/by-name/pe/penpot-desktop/electron-package-lock.diff +++ /dev/null @@ -1,39 +0,0 @@ -diff --git i/package-lock.json w/package-lock.json -index 039e3c0..135e0a0 100644 ---- i/package-lock.json -+++ w/package-lock.json -@@ -18,7 +18,7 @@ - "@commitlint/cli": "^19.6.1", - "@commitlint/config-conventional": "^19.6.0", - "@eslint/js": "^9.19.0", -- "electron": "^34.0.1", -+ "electron": "^33.3.1", - "electron-builder": "^25.1.8", - "eslint": "^9.19.0", - "globals": "^15.14.0", -@@ -3495,9 +3495,9 @@ - } - }, - "node_modules/electron": { -- "version": "34.0.1", -- "resolved": "https://registry.npmjs.org/electron/-/electron-34.0.1.tgz", -- "integrity": "sha512-aArw5tAM80i3CKwEREnyZSM1SkARf5Jd1yBMTIdOL4pB1M+p/oDeyWSFI9Dl+vujyfJKiK4SS5+j19wna1onMw==", -+ "version": "33.3.1", -+ "resolved": "https://registry.npmjs.org/electron/-/electron-33.3.1.tgz", -+ "integrity": "sha512-Z7l2bVgpdKxHQMI4i0CirBX2n+iCYKOx5mbzNM3BpOyFELwlobEXKmzCmEnwP+3EcNeIhUQyIEBFQxN06QgdIw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", -diff --git i/package.json w/package.json -index 9525e62..deb065e 100644 ---- i/package.json -+++ w/package.json -@@ -43,7 +43,7 @@ - "@commitlint/cli": "^19.6.1", - "@commitlint/config-conventional": "^19.6.0", - "@eslint/js": "^9.19.0", -- "electron": "^34.0.1", -+ "electron": "^33.1.1", - "electron-builder": "^25.1.8", - "eslint": "^9.19.0", - "globals": "^15.14.0", diff --git a/pkgs/by-name/pe/penpot-desktop/package.nix b/pkgs/by-name/pe/penpot-desktop/package.nix index 302e63e0a1da..91efa18e6afb 100644 --- a/pkgs/by-name/pe/penpot-desktop/package.nix +++ b/pkgs/by-name/pe/penpot-desktop/package.nix @@ -2,7 +2,7 @@ lib, buildNpmPackage, copyDesktopItems, - electron_33, + electron, fetchFromGitHub, jq, makeDesktopItem, @@ -15,29 +15,24 @@ let description = "Unofficial desktop application for the open-source design tool, Penpot"; icon = "penpot"; nodejs = nodejs_22; - electron = electron_33; in buildNpmPackage rec { pname = "penpot-desktop"; - version = "0.10.0"; + version = "0.11.0"; src = fetchFromGitHub { owner = "author-more"; repo = "penpot-desktop"; tag = "v${version}"; - hash = "sha256-KlTE61k5rl13GPpOznpugSn1hmn55Cd/Z9vhwDjWhPo="; + hash = "sha256-33LAhR0L7pAnS27dz5DuqgfUllyAFA9JVZRmrHoajE4="; }; - patches = [ - ./electron-package-lock.diff # this downgrades electron version from 34 to 33 to match the latest available version in nixpkgs - ]; - makeCacheWritable = true; npmFlags = [ "--engine-strict" "--legacy-peer-deps" ]; - npmDepsHash = "sha256-DWZ1ih4i0vyYlShBWkJTCq0IKgT4CgEmvURnGoQiSy0="; + npmDepsHash = "sha256-BR51Oi9Ffxy7d0fBkSQ6Iz/PVi+ghIaLqzm3Loq6aDo="; # Do not run the default build script as it leads to errors caused by the electron-builder configuration dontNpmBuild = true; @@ -81,11 +76,9 @@ buildNpmPackage rec { --inherit-argv0 pushd build - for icon in icon.*; do - dir=$out/share/icons/hicolor/"''${icon%.*}"/apps - mkdir -p "$dir" - cp "$icon" "$dir"/${icon}.png - done + dir=$out/share/icons/hicolor/512x512/apps + mkdir -p "$dir" + cp icon.png "$dir"/${icon}.png popd runHook postInstall @@ -105,10 +98,11 @@ buildNpmPackage rec { meta = { changelog = "https://github.com/author-more/penpot-desktop/releases/tag/v${version}"; inherit description; - homepage = "https://github.com/author-more/penpot.desktop"; + homepage = "https://github.com/author-more/penpot-desktop"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ ntbbloodbath ]; platforms = electron.meta.platforms; + badPlatforms = lib.platforms.darwin; mainProgram = "penpot-desktop"; }; } From 0deb1b285f9ebf5b51e74041b65a5f0fef0b0e82 Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 4 Mar 2025 22:10:21 +0100 Subject: [PATCH 242/272] nixos/tests/zipline: add interactive config --- nixos/tests/zipline.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/nixos/tests/zipline.nix b/nixos/tests/zipline.nix index dfda9230ea7c..023c4484a810 100644 --- a/nixos/tests/zipline.nix +++ b/nixos/tests/zipline.nix @@ -1,4 +1,5 @@ { lib, ... }: + { name = "zipline"; meta.maintainers = with lib.maintainers; [ defelo ]; @@ -20,6 +21,18 @@ networking.hosts."127.0.0.1" = [ "zipline.local" ]; }; + interactive.nodes.machine = { + services.zipline.settings.CORE_HOSTNAME = lib.mkForce "0.0.0.0"; + networking.firewall.allowedTCPPorts = [ 8000 ]; + virtualisation.forwardPorts = [ + { + from = "host"; + host.port = 8000; + guest.port = 8000; + } + ]; + }; + testScript = '' import json import re From ef19fcf725eb3aa97289a91e3eb76e1c41a5a13f Mon Sep 17 00:00:00 2001 From: Defelo Date: Tue, 4 Mar 2025 22:12:09 +0100 Subject: [PATCH 243/272] nixos/zipline: improve systemd hardening --- nixos/modules/services/web-apps/zipline.nix | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/web-apps/zipline.nix b/nixos/modules/services/web-apps/zipline.nix index b8c80b273ec8..86cb3a1d7e81 100644 --- a/nixos/modules/services/web-apps/zipline.nix +++ b/nixos/modules/services/web-apps/zipline.nix @@ -107,9 +107,11 @@ in ExecStart = lib.getExe cfg.package; # Hardening + AmbientCapabilities = ""; CapabilityBoundingSet = [ "" ]; - DeviceAllow = [ "" ]; + DevicePolicy = "closed"; LockPersonality = true; + NoNewPrivileges = true; PrivateDevices = true; PrivateTmp = true; PrivateUsers = true; @@ -123,15 +125,18 @@ in ProtectKernelTunables = true; ProtectProc = "invisible"; ProtectSystem = "strict"; - RestrictAddressFamilies = [ - "AF_INET" - "AF_INET6" - "AF_UNIX" - ]; + RemoveIPC = true; + RestrictAddressFamilies = [ "AF_INET AF_INET6 AF_UNIX AF_NETLINK" ]; RestrictNamespaces = true; RestrictRealtime = true; RestrictSUIDSGID = true; SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@privileged" + "~@resources" + ]; + UMask = "0077"; }; }; }; From 57111b831d452a1ea501494b23bfbda3862466ad Mon Sep 17 00:00:00 2001 From: misilelab Date: Thu, 20 Mar 2025 02:12:54 +0900 Subject: [PATCH 244/272] uv: 0.6.6 -> 0.6.8 https://github.com/astral-sh/uv/releases/tag/0.6.7 https://github.com/astral-sh/uv/releases/tag/0.6.8 Signed-off-by: misilelab --- pkgs/by-name/uv/uv/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/uv/uv/package.nix b/pkgs/by-name/uv/uv/package.nix index 8545a293db7b..847617e5f9c4 100644 --- a/pkgs/by-name/uv/uv/package.nix +++ b/pkgs/by-name/uv/uv/package.nix @@ -20,17 +20,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "uv"; - version = "0.6.6"; + version = "0.6.8"; src = fetchFromGitHub { owner = "astral-sh"; repo = "uv"; tag = finalAttrs.version; - hash = "sha256-KsPfAOEpD47/kqcN9M7lOtS8hSr0dXP3Y3b4x9yh1as="; + hash = "sha256-PURQ/iDg9dvogwh/A2utmg8ufiPXafI+6jsT6UL9JsY="; }; useFetchCargoVendor = true; - cargoHash = "sha256-vcddP6EaNhJNK6UZUPxrABieJf2BPTAIs8r2uppP7N0="; + cargoHash = "sha256-eZqyHzkLPjNtDe8X++2GaWYynJ3AYYCk3SlBtEJS6yM="; buildInputs = [ rust-jemalloc-sys From 5c28518c4b57636c60baa308d03a4835f214492f Mon Sep 17 00:00:00 2001 From: Alexander Foremny Date: Mon, 17 Mar 2025 13:36:50 +0100 Subject: [PATCH 245/272] nixos/modules/image: fix error message When a module is not found, it did not show the intended error message `The module ... does not exist`, but rather `path ... does not exist`. --- nixos/modules/image/images.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/image/images.nix b/nixos/modules/image/images.nix index 3f57b2dcf606..f3cdde327d36 100644 --- a/nixos/modules/image/images.nix +++ b/nixos/modules/image/images.nix @@ -47,7 +47,10 @@ let let module = ../. + "/installer/sd-card/sd-image-${pkgs.targetPlatform.qemuArch}.nix"; in - if builtins.pathExists module then [ module ] else throw "The module ${module} does not exist."; + if builtins.pathExists module then + [ module ] + else + throw "The module ${toString module} does not exist."; }; kexec = ../installer/netboot/netboot-minimal.nix; }; From 7ef1acc72dd16e5afeb2e4426219a29308a0e019 Mon Sep 17 00:00:00 2001 From: Vladyslav Pekker Date: Wed, 19 Mar 2025 14:39:48 -0300 Subject: [PATCH 246/272] bloop: 2.0.8 -> 2.0.9 --- pkgs/by-name/bl/bloop/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/bl/bloop/package.nix b/pkgs/by-name/bl/bloop/package.nix index cfc172cf4832..b794a28a68c0 100644 --- a/pkgs/by-name/bl/bloop/package.nix +++ b/pkgs/by-name/bl/bloop/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { pname = "bloop"; - version = "2.0.8"; + version = "2.0.9"; platform = if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then @@ -42,11 +42,11 @@ stdenv.mkDerivation rec { url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}"; sha256 = if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then - "sha256-ItPt5qjfRgtPNg6a/Zlc0ASfdvGXMMKV7SqNEOQ9u28=" + "sha256-mslCzvJ+z5VNQkVa9HXjw2bUBprMgs3bAy3RmEt8OlI=" else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then - "sha256-zUSDUwZY1id/WFuC87Wa4eB48X4rmXvVC1/b2v5bhw4=" + "sha256-XdMPo9O7ADhInmGFIOHihl1z4yPKAyDjCH7m3tCtKNo=" else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then - "sha256-1wsGL1G8/+xMvYNwe7EOyqEuEKDKiwA7yyyjfbGgxJQ=" + "sha256-sJM00f2KBI6fnVj3U/h/pYAFT7QjZkfJ7ubDfFlRJ0Q=" else throw "unsupported platform"; }; From 94e7e165dac546cbf63eaac013a1478839bc2c93 Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 6 Mar 2025 16:17:04 +0100 Subject: [PATCH 247/272] countryfetch: init at 0.1.9 --- pkgs/by-name/co/countryfetch/package.nix | 55 ++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/co/countryfetch/package.nix diff --git a/pkgs/by-name/co/countryfetch/package.nix b/pkgs/by-name/co/countryfetch/package.nix new file mode 100644 index 000000000000..f3ebd1d9e532 --- /dev/null +++ b/pkgs/by-name/co/countryfetch/package.nix @@ -0,0 +1,55 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + yq, + pkg-config, + openssl, + versionCheckHook, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "countryfetch"; + version = "0.1.9"; + + src = fetchFromGitHub { + owner = "nik-rev"; + repo = "countryfetch"; + tag = "v${finalAttrs.version}"; + hash = "sha256-KdFgY54vXLmq6IZfJzZ1IeZ2eQuNJoCRZUV3rVuPpcY="; + }; + + postPatch = '' + tomlq -ti '.dependencies.openssl.features[] |= select(.!="vendored")' countryfetch/Cargo.toml + ''; + + useFetchCargoVendor = true; + cargoHash = "sha256-XJI9k/5hdak8p0/J/x9u6lqJu/DIbX93Wwm3LALkAAw="; + + env.RUSTC_BOOTSTRAP = 1; + + nativeBuildInputs = [ + pkg-config + yq # for `tomlq` + ]; + + buildInputs = [ openssl ]; + + cargoBuildFlags = [ "--package=countryfetch" ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Command-line tool similar to Neofetch for obtaining information about your country"; + homepage = "https://github.com/nik-rev/countryfetch"; + changelog = "https://github.com/nik-rev/countryfetch/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ defelo ]; + mainProgram = "countryfetch"; + }; +}) From 44914137eb58892ca5b6ab4db2835e245bf89767 Mon Sep 17 00:00:00 2001 From: "Berk D. Demir" Date: Mon, 17 Mar 2025 12:19:34 -0700 Subject: [PATCH 248/272] _1password-gui: Allow Linux and Darwin versions to move separately --- pkgs/applications/misc/1password-gui/default.nix | 3 ++- pkgs/applications/misc/1password-gui/update.sh | 12 ++++++------ pkgs/applications/misc/1password-gui/versions.json | 11 ++++------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix index 75ef7b1a9bf0..bf705566c2b3 100644 --- a/pkgs/applications/misc/1password-gui/default.nix +++ b/pkgs/applications/misc/1password-gui/default.nix @@ -12,7 +12,8 @@ let pname = "1password"; versions = builtins.fromJSON (builtins.readFile ./versions.json); - inherit (versions.${channel} or (throw "unknown channel ${channel}")) version; + hostOs = if stdenv.hostPlatform.isLinux then "linux" else "darwin"; + version = versions."${channel}-${hostOs}" or (throw "unknown channel-os ${channel}-${hostOs}"); sources = builtins.fromJSON (builtins.readFile ./sources.json); diff --git a/pkgs/applications/misc/1password-gui/update.sh b/pkgs/applications/misc/1password-gui/update.sh index c32076304537..9a99b555328e 100755 --- a/pkgs/applications/misc/1password-gui/update.sh +++ b/pkgs/applications/misc/1password-gui/update.sh @@ -42,12 +42,11 @@ cleanup() { trap cleanup EXIT # Get channel versions from versions.json -declare -A version=( - ["stable"]=$(jq -r '.stable.version' versions.json) - ["beta"]=$(jq -r '.beta.version' versions.json) -) +declare -A versions +while IFS='=' read -r key value; do + versions["${key}"]="${value}" +done < <(jq -r 'to_entries[] | "\(.key)=\(.value)"' versions.json) -# GPG_KEYRING=$(mktemp -t 1password.kbx.XXXXXX) gpg --no-default-keyring --keyring "${GPG_KEYRING}" \ --keyserver keyserver.ubuntu.com \ @@ -57,7 +56,8 @@ JSON_HEAP=$(mktemp -t 1password-gui.jsonheap.XXXXXX) for channel in stable beta; do for os in linux darwin; do for arch in x86_64 aarch64; do - url=$(mk_url ${os} ${channel} ${arch} "${version[${channel}]}") + version="${versions[${channel}-${os}]}" + url=$(mk_url ${os} ${channel} ${arch} ${version}) nix store prefetch-file --json "${url}" | jq " { \"${channel}\": { diff --git a/pkgs/applications/misc/1password-gui/versions.json b/pkgs/applications/misc/1password-gui/versions.json index 803d5238d94c..33de9068577c 100644 --- a/pkgs/applications/misc/1password-gui/versions.json +++ b/pkgs/applications/misc/1password-gui/versions.json @@ -1,9 +1,6 @@ { - "stable": { - "version": "8.10.60" - }, - - "beta": { - "version": "8.10.68-12.BETA" - } + "stable-linux": "8.10.60", + "stable-darwin": "8.10.60", + "beta-linux":"8.10.68-12.BETA", + "beta-darwin": "8.10.68-12.BETA" } From 75db2912324f6909b2f6bca6e5416ffc01bfceb1 Mon Sep 17 00:00:00 2001 From: "Berk D. Demir" Date: Tue, 18 Mar 2025 18:33:26 -0700 Subject: [PATCH 249/272] _1password-gui: Do the PGP verification with an emphemeral GNUPGHOME This way a ~/.gnupg directory won't be created if there wasn't already one. Existing trustdb will not be used. --- pkgs/applications/misc/1password-gui/update.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/misc/1password-gui/update.sh b/pkgs/applications/misc/1password-gui/update.sh index 9a99b555328e..1d31ef972f76 100755 --- a/pkgs/applications/misc/1password-gui/update.sh +++ b/pkgs/applications/misc/1password-gui/update.sh @@ -30,8 +30,8 @@ mk_url() { } cleanup() { - if [[ -f ${GPG_KEYRING-} ]]; then - rm "${GPG_KEYRING}" + if [[ -d ${TMP_GNUPGHOME-} ]]; then + rm -r "${TMP_GNUPGHOME}" fi if [[ -f ${JSON_HEAP-} ]]; then @@ -47,8 +47,9 @@ while IFS='=' read -r key value; do versions["${key}"]="${value}" done < <(jq -r 'to_entries[] | "\(.key)=\(.value)"' versions.json) -GPG_KEYRING=$(mktemp -t 1password.kbx.XXXXXX) -gpg --no-default-keyring --keyring "${GPG_KEYRING}" \ +TMP_GNUPGHOME=$(mktemp -dt 1password-gui.gnupghome.XXXXXX) +export GNUPGHOME="${TMP_GNUPGHOME}" +gpg --no-default-keyring --keyring trustedkeys.kbx \ --keyserver keyserver.ubuntu.com \ --receive-keys 3FEF9748469ADBE15DA7CA80AC2D62742012EA22 @@ -71,7 +72,7 @@ for channel in stable beta; do # For some reason 1Password PGP signs only Linux binaries. if [[ ${os} == "linux" ]]; then - gpgv --keyring "${GPG_KEYRING}" \ + gpgv \ $(nix store prefetch-file --json "${url}.sig" | jq -r .storePath) \ $(jq -r --slurp ".[-1].[].[].storePath" "${JSON_HEAP}") fi From b958615808bcec0c08d9d16666ccb83979c04fb6 Mon Sep 17 00:00:00 2001 From: "Berk D. Demir" Date: Mon, 17 Mar 2025 12:19:34 -0700 Subject: [PATCH 250/272] _1password-gui: 8.10.60 -> 8.10.68 --- .../applications/misc/1password-gui/sources.json | 16 ++++++++-------- .../misc/1password-gui/versions.json | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/misc/1password-gui/sources.json b/pkgs/applications/misc/1password-gui/sources.json index e6f70a4e3f01..18c27f4d62fe 100644 --- a/pkgs/applications/misc/1password-gui/sources.json +++ b/pkgs/applications/misc/1password-gui/sources.json @@ -1,20 +1,20 @@ { "stable": { "x86_64-linux": { - "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.10.60.x64.tar.gz", - "hash": "sha256-QCoV66LvGo6vA5fjuE3fG+LwehKVMPmgaDghh9YEvmA=" + "url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.10.68.x64.tar.gz", + "hash": "sha256-6MekdtKnjvrP0dai6VfBEFJ+oKf2WvPp+sU/kVIzCTw=" }, "aarch64-linux": { - "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.10.60.arm64.tar.gz", - "hash": "sha256-E5TniXur9ATJ3ER/zTFc6EiBrH/kbNvIao0ADLyBZZE=" + "url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.10.68.arm64.tar.gz", + "hash": "sha256-2SpfkLu/4K1t2ILwOBMVAXeW7rbEzsjofn8naM1Szfc=" }, "x86_64-darwin": { - "url": "https://downloads.1password.com/mac/1Password-8.10.60-x86_64.zip", - "hash": "sha256-2Nv4CHKLgCFbU1TeJQhIq8YdkJSQJXtUw2S17B8cS4s=" + "url": "https://downloads.1password.com/mac/1Password-8.10.68-x86_64.zip", + "hash": "sha256-t/glPvEGJH+IcYyrnW0fMSEeLB8mKqGqmZ8wnVFCJpo=" }, "aarch64-darwin": { - "url": "https://downloads.1password.com/mac/1Password-8.10.60-aarch64.zip", - "hash": "sha256-drJiM8EiUM3M54+KPQdLvAmSfBH5YPqQk14yjHzoBtM=" + "url": "https://downloads.1password.com/mac/1Password-8.10.68-aarch64.zip", + "hash": "sha256-bhmuy8gUVCv+hYSIpYXgm8a0f1+JtyKb4g5cUIJCb28=" } }, "beta": { diff --git a/pkgs/applications/misc/1password-gui/versions.json b/pkgs/applications/misc/1password-gui/versions.json index 33de9068577c..95dfd6b9078d 100644 --- a/pkgs/applications/misc/1password-gui/versions.json +++ b/pkgs/applications/misc/1password-gui/versions.json @@ -1,6 +1,6 @@ { - "stable-linux": "8.10.60", - "stable-darwin": "8.10.60", + "stable-linux": "8.10.68", + "stable-darwin": "8.10.68", "beta-linux":"8.10.68-12.BETA", "beta-darwin": "8.10.68-12.BETA" } From 1d51451075e02d9201027dc29b9ee2b86e0c6d4c Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Tue, 18 Mar 2025 15:47:58 -0700 Subject: [PATCH 251/272] python3Packages.langchain*: re-enable bulk updates --- pkgs/development/python-modules/langchain-aws/default.nix | 2 -- .../python-modules/langchain-azure-dynamic-sessions/default.nix | 2 -- pkgs/development/python-modules/langchain-chroma/default.nix | 2 -- pkgs/development/python-modules/langchain-community/default.nix | 2 -- pkgs/development/python-modules/langchain-core/default.nix | 2 -- pkgs/development/python-modules/langchain-groq/default.nix | 2 -- .../python-modules/langchain-huggingface/default.nix | 2 -- pkgs/development/python-modules/langchain-mongodb/default.nix | 2 -- pkgs/development/python-modules/langchain-ollama/default.nix | 2 -- pkgs/development/python-modules/langchain-openai/default.nix | 2 -- pkgs/development/python-modules/langchain-tests/default.nix | 2 -- .../python-modules/langchain-text-splitters/default.nix | 2 -- pkgs/development/python-modules/langchain/default.nix | 2 -- 13 files changed, 26 deletions(-) diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix index 9d4e9699b622..28668989a89d 100644 --- a/pkgs/development/python-modules/langchain-aws/default.nix +++ b/pkgs/development/python-modules/langchain-aws/default.nix @@ -74,8 +74,6 @@ buildPythonPackage rec { "^langchain-aws==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/v${version}"; diff --git a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix index 1cdafa14137e..507a1077a492 100644 --- a/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix +++ b/pkgs/development/python-modules/langchain-azure-dynamic-sessions/default.nix @@ -78,8 +78,6 @@ buildPythonPackage rec { "^langchain-azure-dynamic-sessions==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { description = "Integration package connecting Azure Container Apps dynamic sessions and LangChain"; diff --git a/pkgs/development/python-modules/langchain-chroma/default.nix b/pkgs/development/python-modules/langchain-chroma/default.nix index 0895fcb5ca17..bbb07eb7e686 100644 --- a/pkgs/development/python-modules/langchain-chroma/default.nix +++ b/pkgs/development/python-modules/langchain-chroma/default.nix @@ -62,8 +62,6 @@ buildPythonPackage rec { "^langchain-chroma==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-chroma==${version}"; diff --git a/pkgs/development/python-modules/langchain-community/default.nix b/pkgs/development/python-modules/langchain-community/default.nix index 658051ffe119..1652b899434b 100644 --- a/pkgs/development/python-modules/langchain-community/default.nix +++ b/pkgs/development/python-modules/langchain-community/default.nix @@ -128,8 +128,6 @@ buildPythonPackage rec { "^langchain-community==(.*)" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-community==${version}"; diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 4d27601e12b0..db838f33d27e 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -101,8 +101,6 @@ buildPythonPackage rec { "^langchain-core==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - skipBulkUpdate = true; }; disabledTests = diff --git a/pkgs/development/python-modules/langchain-groq/default.nix b/pkgs/development/python-modules/langchain-groq/default.nix index 70e6b6cf1a3b..838956215d24 100644 --- a/pkgs/development/python-modules/langchain-groq/default.nix +++ b/pkgs/development/python-modules/langchain-groq/default.nix @@ -58,8 +58,6 @@ buildPythonPackage rec { "^langchain-groq==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-groq==${version}"; diff --git a/pkgs/development/python-modules/langchain-huggingface/default.nix b/pkgs/development/python-modules/langchain-huggingface/default.nix index b935a8466edb..2cf86baccf0f 100644 --- a/pkgs/development/python-modules/langchain-huggingface/default.nix +++ b/pkgs/development/python-modules/langchain-huggingface/default.nix @@ -84,8 +84,6 @@ buildPythonPackage rec { "^langchain-huggingface==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-huggingface==${version}"; diff --git a/pkgs/development/python-modules/langchain-mongodb/default.nix b/pkgs/development/python-modules/langchain-mongodb/default.nix index 9cf8fe7873a1..5203d812d336 100644 --- a/pkgs/development/python-modules/langchain-mongodb/default.nix +++ b/pkgs/development/python-modules/langchain-mongodb/default.nix @@ -70,8 +70,6 @@ buildPythonPackage rec { "^langchain-mongodb==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-mongodb==${version}"; diff --git a/pkgs/development/python-modules/langchain-ollama/default.nix b/pkgs/development/python-modules/langchain-ollama/default.nix index 1b6036c5a254..b3f6baf00161 100644 --- a/pkgs/development/python-modules/langchain-ollama/default.nix +++ b/pkgs/development/python-modules/langchain-ollama/default.nix @@ -63,8 +63,6 @@ buildPythonPackage rec { "langchain-ollama==(.*)" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-ollama==${version}"; diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix index b3e50d9dd9ed..8a44d9cb0c44 100644 --- a/pkgs/development/python-modules/langchain-openai/default.nix +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -102,8 +102,6 @@ buildPythonPackage rec { "^langchain-openai==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-openai==${version}"; diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix index ce54f2ffdcef..b4f9ee35cca7 100644 --- a/pkgs/development/python-modules/langchain-tests/default.nix +++ b/pkgs/development/python-modules/langchain-tests/default.nix @@ -68,8 +68,6 @@ buildPythonPackage rec { "^langchain-tests==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { description = "Build context-aware reasoning applications"; diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index b376a8d98885..4bcfcf159414 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -56,8 +56,6 @@ buildPythonPackage rec { "^langchain-test-splitters==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-text-splitters==${version}"; diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 9150b4dd98c9..d9a8c52f5e07 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -154,8 +154,6 @@ buildPythonPackage rec { "^langchain==([0-9.]+)$" ]; }; - # updates the wrong fetcher rev attribute - passthru.skipBulkUpdate = true; meta = { description = "Building applications with LLMs through composability"; From 16e43b85940c821bbf0ab2fb7c491697884b62af Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 18:39:13 +0000 Subject: [PATCH 252/272] vscode-extensions.rooveterinaryinc.roo-cline: 3.8.6 -> 3.9.2 --- .../vscode/extensions/rooveterinaryinc.roo-cline/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix index 2690383e57fd..988b02475cfc 100644 --- a/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix +++ b/pkgs/applications/editors/vscode/extensions/rooveterinaryinc.roo-cline/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { publisher = "RooVeterinaryInc"; name = "roo-cline"; - version = "3.8.6"; - hash = "sha256-t3QUqe0qYizrJQcsEmYYmNYS/cpYiHQXJHtzHk9MGS8="; + version = "3.9.2"; + hash = "sha256-zRVppwnYpw03L+socmxAtLnkD72Ag7Wz9B4BbxpdFrk="; }; meta = { From 990b3e32ec7e626207b2ed1d9c097885df890fbc Mon Sep 17 00:00:00 2001 From: Sam Estep Date: Wed, 19 Mar 2025 14:56:29 -0400 Subject: [PATCH 253/272] pkgs/README: fix typo --- pkgs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/README.md b/pkgs/README.md index 59cc84468546..e6a05c19f834 100644 --- a/pkgs/README.md +++ b/pkgs/README.md @@ -36,7 +36,7 @@ Before adding a new package, please consider the following questions: If any of these questions' answer is no, then you should probably not add the package. -This is section describes a general framework of understanding and exceptions might apply. +This section describes a general framework of understanding and exceptions might apply. Luckily it's pretty easy to maintain your own package set with Nix, which can then be added to the [Nix User Repository](https://github.com/nix-community/nur) project. From 293866706b9a78d712aa447958cdf830775d53f5 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Tue, 18 Mar 2025 17:35:08 +0400 Subject: [PATCH 254/272] postgresqlPackages.timescaledb: 2.18.2 -> 2.19.0 --- .../sql/postgresql/ext/timescaledb.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index a9dcd5cbe07c..4644441ba44d 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -14,13 +14,13 @@ postgresqlBuildExtension rec { pname = "timescaledb${lib.optionalString (!enableUnfree) "-apache"}"; - version = "2.18.2"; + version = "2.19.0"; src = fetchFromGitHub { owner = "timescale"; repo = "timescaledb"; tag = version; - hash = "sha256-/PKk8/cS6jqL+mhSqFU6gybqDx3ld77RLF/uB+1XJCQ="; + hash = "sha256-8E5oEEsyu247WtmR20xRO/SAI6KXYSVCrU0qta6iUB8="; }; nativeBuildInputs = [ cmake ]; @@ -29,14 +29,13 @@ postgresqlBuildExtension rec { libkrb5 ]; - cmakeFlags = - [ - "-DSEND_TELEMETRY_DEFAULT=OFF" - "-DREGRESS_CHECKS=OFF" - "-DTAP_CHECKS=OFF" - ] - ++ lib.optionals (!enableUnfree) [ "-DAPACHE_ONLY=ON" ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ "-DLINTER=OFF" ]; + cmakeFlags = [ + (lib.cmakeBool "SEND_TELEMETRY_DEFAULT" false) + (lib.cmakeBool "REGRESS_CHECKS" false) + (lib.cmakeBool "TAP_CHECKS" false) + (lib.cmakeBool "APACHE_ONLY" (!enableUnfree)) + (lib.cmakeBool "LINTER" (!stdenv.hostPlatform.isDarwin)) + ]; # Fix the install phase which tries to install into the pgsql extension dir, # and cannot be manually overridden. This is rather fragile but works OK. From 9d473f480f034c36fde8fa5974a4e6181705aef7 Mon Sep 17 00:00:00 2001 From: Yureka Date: Wed, 19 Mar 2025 21:31:22 +0100 Subject: [PATCH 255/272] postfix: re-add no-warnings patch --- pkgs/by-name/po/postfix/package.nix | 1 + .../po/postfix/postfix-3.0-no-warnings.patch | 86 +++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 pkgs/by-name/po/postfix/postfix-3.0-no-warnings.patch diff --git a/pkgs/by-name/po/postfix/package.nix b/pkgs/by-name/po/postfix/package.nix index 0932e7adee6f..bdac9ee5e202 100644 --- a/pkgs/by-name/po/postfix/package.nix +++ b/pkgs/by-name/po/postfix/package.nix @@ -98,6 +98,7 @@ stdenv.mkDerivation rec { patches = [ ./postfix-script-shell.patch ./post-install-script.patch + ./postfix-3.0-no-warnings.patch ./relative-symlinks.patch # glibc 2.34 compat diff --git a/pkgs/by-name/po/postfix/postfix-3.0-no-warnings.patch b/pkgs/by-name/po/postfix/postfix-3.0-no-warnings.patch new file mode 100644 index 000000000000..acfc6b9e14a9 --- /dev/null +++ b/pkgs/by-name/po/postfix/postfix-3.0-no-warnings.patch @@ -0,0 +1,86 @@ +diff -ru3 postfix-3.0.3/conf/postfix-script postfix-3.0.3-new/conf/postfix-script +--- postfix-3.0.3/conf/postfix-script 2014-06-27 18:05:15.000000000 +0400 ++++ postfix-3.0.3-new/conf/postfix-script 2016-01-09 17:51:38.545733631 +0300 +@@ -84,24 +84,6 @@ + exit 1 + } + +-# If this is a secondary instance, don't touch shared files. +- +-instances=`test ! -f $def_config_directory/main.cf || +- $command_directory/postconf -qc $def_config_directory \ +- -h multi_instance_directories | sed 'y/,/ /'` || { +- $FATAL cannot execute $command_directory/postconf! +- exit 1 +-} +- +-check_shared_files=1 +-for name in $instances +-do +- case "$name" in +- "$def_config_directory") ;; +- "$config_directory") check_shared_files=; break;; +- esac +-done +- + # + # Parse JCL + # +@@ -262,22 +244,6 @@ + -prune \( -perm -020 -o -perm -002 \) \ + -exec $WARN group or other writable: {} \; + +- # Check Postfix root-owned directory tree owner/permissions. +- +- todo="$config_directory/." +- test -n "$check_shared_files" && { +- todo="$daemon_directory/. $meta_directory/. $todo" +- test "$shlib_directory" = "no" || +- todo="$shlib_directory/. $todo" +- } +- todo=`echo "$todo" | tr ' ' '\12' | sort -u` +- +- find $todo ! -user root \ +- -exec $WARN not owned by root: {} \; +- +- find $todo \( -perm -020 -o -perm -002 \) \ +- -exec $WARN group or other writable: {} \; +- + # Check Postfix mail_owner-owned directory tree owner/permissions. + + find $data_directory/. ! -user $mail_owner \ +@@ -302,18 +268,11 @@ + # Check Postfix setgid_group-owned directory and file group/permissions. + + todo="$queue_directory/public $queue_directory/maildrop" +- test -n "$check_shared_files" && +- todo="$command_directory/postqueue $command_directory/postdrop $todo" + + find $todo \ + -prune ! -group $setgid_group \ + -exec $WARN not owned by group $setgid_group: {} \; + +- test -n "$check_shared_files" && +- find $command_directory/postqueue $command_directory/postdrop \ +- -prune ! -perm -02111 \ +- -exec $WARN not set-gid or not owner+group+world executable: {} \; +- + # Check non-Postfix root-owned directory tree owner/content. + + for dir in bin etc lib sbin usr +@@ -334,15 +293,6 @@ + + find corrupt -type f -exec $WARN damaged message: {} \; + +- # Check for non-Postfix MTA remnants. +- +- test -n "$check_shared_files" -a -f /usr/sbin/sendmail -a \ +- -f /usr/lib/sendmail && { +- cmp -s /usr/sbin/sendmail /usr/lib/sendmail || { +- $WARN /usr/lib/sendmail and /usr/sbin/sendmail differ +- $WARN Replace one by a symbolic link to the other +- } +- } + exit 0 + ;; + From 7458fb3d6ff08dfb3ab8d40476177845ce615522 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Wed, 19 Mar 2025 20:35:16 +0000 Subject: [PATCH 256/272] exabgp: 4.2.22 -> 4.2.25 --- pkgs/by-name/ex/exabgp/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ex/exabgp/package.nix b/pkgs/by-name/ex/exabgp/package.nix index 28128bc5b102..a604c08427c2 100644 --- a/pkgs/by-name/ex/exabgp/package.nix +++ b/pkgs/by-name/ex/exabgp/package.nix @@ -8,14 +8,14 @@ python3.pkgs.buildPythonApplication rec { pname = "exabgp"; - version = "4.2.22"; + version = "4.2.25"; format = "pyproject"; src = fetchFromGitHub { owner = "Exa-Networks"; repo = "exabgp"; tag = version; - hash = "sha256-PrdCAmefKCBmbBFp04KiQGSsZZ4KNFk/ZtMedh9oow4="; + hash = "sha256-YBxRDcm4Qt44W3lBHDwdvZq2pXEujbqJDh24JbXthMg="; }; nativeBuildInputs = with python3.pkgs; [ @@ -39,7 +39,7 @@ python3.pkgs.buildPythonApplication rec { meta = with lib; { description = "BGP swiss army knife of networking"; homepage = "https://github.com/Exa-Networks/exabgp"; - changelog = "https://github.com/Exa-Networks/exabgp/blob/${src.rev}/CHANGELOG.rst"; + changelog = "https://github.com/Exa-Networks/exabgp/blob/${src.tag}/CHANGELOG.rst"; license = licenses.bsd3; maintainers = with maintainers; [ hexa From 7106b623945e327c7b2275b98bbc50d4d74cb89c Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Thu, 20 Mar 2025 00:37:23 +0400 Subject: [PATCH 257/272] postgresqlJitPackages.timescaledb: fix build --- pkgs/servers/sql/postgresql/ext/timescaledb.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix index 4644441ba44d..1c1117b2d831 100644 --- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix +++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix @@ -34,7 +34,6 @@ postgresqlBuildExtension rec { (lib.cmakeBool "REGRESS_CHECKS" false) (lib.cmakeBool "TAP_CHECKS" false) (lib.cmakeBool "APACHE_ONLY" (!enableUnfree)) - (lib.cmakeBool "LINTER" (!stdenv.hostPlatform.isDarwin)) ]; # Fix the install phase which tries to install into the pgsql extension dir, From e20d371d932e3d023bc94e3d45503949abd8260b Mon Sep 17 00:00:00 2001 From: Izel Nakri Date: Wed, 19 Mar 2025 19:59:32 +0100 Subject: [PATCH 258/272] maintainers: add izelnakri --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 62e3e9004a8c..9bc461a0c704 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10548,6 +10548,12 @@ githubId = 94313; name = "Xianyi Lin"; }; + izelnakri = { + email = "contact@izelnakri.com"; + github = "izelnakri"; + githubId = 1190931; + name = "Izel Nakri"; + }; izorkin = { email = "Izorkin@gmail.com"; github = "Izorkin"; From 3a48773f8c8a0b296ed815c8cc999339f5d49e5d Mon Sep 17 00:00:00 2001 From: Izel Nakri Date: Fri, 7 Mar 2025 13:04:11 +0100 Subject: [PATCH 259/272] bitbox-bridge: init at 1.6.1 --- pkgs/by-name/bi/bitbox-bridge/package.nix | 50 +++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 pkgs/by-name/bi/bitbox-bridge/package.nix diff --git a/pkgs/by-name/bi/bitbox-bridge/package.nix b/pkgs/by-name/bi/bitbox-bridge/package.nix new file mode 100644 index 000000000000..b472c356ee8e --- /dev/null +++ b/pkgs/by-name/bi/bitbox-bridge/package.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + pkg-config, + libudev-zero, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "bitbox-bridge"; + version = "1.6.1"; + + src = fetchFromGitHub { + owner = "BitBoxSwiss"; + repo = "bitbox-bridge"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + hash = "sha256-+pMXWXGHyyBx3N0kiro9NS0mPmSQzzBmp+pkoBLH7z0="; + }; + + useFetchCargoVendor = true; + cargoHash = "sha256-6vD0XjGH1PXjiRjgnHWSZSixXOc2Yecui8U5FAGefBU="; + + postPatch = '' + rm .cargo/config.toml + ''; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ + libudev-zero + ]; + + meta = { + description = "A bridge service that connects web wallets like Rabby to BitBox02"; + homepage = "https://github.com/BitBoxSwiss/bitbox-bridge"; + downloadPage = "https://bitbox.swiss/download/"; + changelog = "https://github.com/BitBoxSwiss/bitbox-bridge/blob/v${finalAttrs.version}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ + izelnakri + tensor5 + ]; + mainProgram = "bitbox-bridge"; + platforms = lib.platforms.unix; + }; +}) From 740499077bf61af4296dc2886223db45912c2e4b Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Wed, 19 Mar 2025 13:56:34 -0700 Subject: [PATCH 260/272] windsurf: add sarahec as maintainer --- pkgs/by-name/wi/windsurf/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/wi/windsurf/package.nix b/pkgs/by-name/wi/windsurf/package.nix index 3e4d6f4f1dc5..c2138ae24d31 100644 --- a/pkgs/by-name/wi/windsurf/package.nix +++ b/pkgs/by-name/wi/windsurf/package.nix @@ -47,6 +47,7 @@ callPackage vscode-generic { homepage = "https://codeium.com/windsurf"; license = lib.licenses.unfree; maintainers = with lib.maintainers; [ + sarahec xiaoxiangmoe ]; platforms = [ From b77b7e06caba788a1cc5e00755ff8f2d573b8110 Mon Sep 17 00:00:00 2001 From: commiterate <111539270+commiterate@users.noreply.github.com> Date: Wed, 12 Mar 2025 13:13:43 -0400 Subject: [PATCH 261/272] fake-gcs-server: disable checks --- pkgs/by-name/fa/fake-gcs-server/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/fa/fake-gcs-server/package.nix b/pkgs/by-name/fa/fake-gcs-server/package.nix index 62f9401562a7..b0fdb2b1547f 100644 --- a/pkgs/by-name/fa/fake-gcs-server/package.nix +++ b/pkgs/by-name/fa/fake-gcs-server/package.nix @@ -18,6 +18,11 @@ buildGoModule rec { vendorHash = "sha256-oTJ4DCsDazo58ozsAKI0BG7rxfF8oeiIl6vQpRng+LM="; + # Unit tests fail to start the emulator server in some environments (e.g. Hydra) for some reason. + # + # Disabling to avoid flakiness. + doCheck = false; + passthru = { updateScript = nix-update-script { }; }; From 2611d5bd70f098d16bb3786a6274380f9b2c7c67 Mon Sep 17 00:00:00 2001 From: Matt Sturgeon Date: Sat, 15 Mar 2025 11:57:08 +0000 Subject: [PATCH 262/272] formats.lua: init Add a lua format, based on `lib.generators.toLua`. --- .../development/settings-options.section.md | 25 ++++++ pkgs/pkgs-lib/formats.nix | 62 ++++++++++++++- pkgs/pkgs-lib/tests/formats.nix | 76 +++++++++++++++++++ 3 files changed, 162 insertions(+), 1 deletion(-) diff --git a/nixos/doc/manual/development/settings-options.section.md b/nixos/doc/manual/development/settings-options.section.md index 28d0716cb0ed..4b49a1e82090 100644 --- a/nixos/doc/manual/development/settings-options.section.md +++ b/nixos/doc/manual/development/settings-options.section.md @@ -402,6 +402,31 @@ have a predefined type and string generator already declared under : Outputs the given attribute set as an Elixir map, instead of the default Elixir keyword list +`pkgs.formats.lua { asBindings ? false, multiline ? true, columnWidth ? 100, indentWidth ? 2, indentUsingTabs ? false }` + +: A function taking an attribute set with values + + `asBindings` (default `false`) + + : Whether to treat attributes as variable bindings + + `multiline` (default `true`) + + : Whether to procude a multiline output. The output may still wrap across + multiple lines if it would otherwise exceed `columnWidth`. + + `columnWidth` (default `100`) + + : The column width to use to attempt to wrap lines. + + `indentWidth` (default `2`) + + : The width of a single indentation level. + + `indentUsingTabs` (default `false`) + + : Whether the indentation should use tabs instead of spaces. + `pkgs.formats.php { finalVariable }` []{#pkgs-formats-php} : A function taking an attribute set with values diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix index b77903a7580b..ee0b62a52e2c 100644 --- a/pkgs/pkgs-lib/formats.nix +++ b/pkgs/pkgs-lib/formats.nix @@ -47,7 +47,7 @@ rec { inherit (lib) mkOptionType; inherit (lib.types) nullOr oneOf coercedTo listOf nonEmptyListOf attrsOf either; - inherit (lib.types) bool int float str path; + inherit (lib.types) bool int float str path luaInline; json = {}: { @@ -541,6 +541,66 @@ rec { ''; }; + lua = + { + asBindings ? false, + multiline ? true, + columnWidth ? 100, + indentWidth ? 2, + indentUsingTabs ? false, + }: + { + type = + let + valueType = + nullOr (oneOf [ + bool + float + int + path + str + luaInline + (attrsOf valueType) + (listOf valueType) + ]) + // { + description = "lua value"; + descriptionClass = "noun"; + }; + in + if asBindings then attrsOf valueType else valueType; + generate = + name: value: + pkgs.callPackage ( + { runCommand, stylua }: + runCommand name + { + nativeBuildInputs = [ stylua ]; + inherit columnWidth; + inherit indentWidth; + indentType = if indentUsingTabs then "Tabs" else "Spaces"; + value = lib.generators.toLua { inherit asBindings multiline; } value; + passAsFile = [ "value" ]; + preferLocalBuild = true; + } + '' + ${lib.optionalString (!asBindings) '' + echo -n 'return ' >> $out + ''} + cat $valuePath >> $out + stylua \ + --no-editorconfig \ + --line-endings Unix \ + --column-width $columnWidth \ + --indent-width $indentWidth \ + --indent-type $indentType \ + $out + '' + ) { }; + # Alias for mkLuaInline + lib.mkRaw = lib.mkLuaInline; + }; + # Outputs a succession of Python variable assignments # Useful for many Django-based services pythonVars = {}: { diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix index 2a2138bdbd10..77c002886bde 100644 --- a/pkgs/pkgs-lib/tests/formats.nix +++ b/pkgs/pkgs-lib/tests/formats.nix @@ -601,6 +601,82 @@ in runBuildTests { ''; }; + luaTable = shouldPass { + format = formats.lua { }; + input = { + null = null; + false = false; + true = true; + int = 10; + float = 3.141; + str = "foo"; + attrs.foo = null; + list = [ + null + null + ]; + path = ./testfile; + inline = lib.mkLuaInline "hello('world')"; + }; + expected = '' + return { + ["attrs"] = { + ["foo"] = nil, + }, + ["false"] = false, + ["float"] = 3.141, + ["inline"] = (hello("world")), + ["int"] = 10, + ["list"] = { + nil, + nil, + }, + ["null"] = nil, + ["path"] = "${./testfile}", + ["str"] = "foo", + ["true"] = true, + } + ''; + }; + + luaBindings = shouldPass { + format = formats.lua { + asBindings = true; + }; + input = { + null = null; + _false = false; + _true = true; + int = 10; + float = 3.141; + str = "foo"; + attrs.foo = null; + list = [ + null + null + ]; + path = ./testfile; + inline = lib.mkLuaInline "hello('world')"; + }; + expected = '' + _false = false + _true = true + attrs = { + ["foo"] = nil, + } + float = 3.141 + inline = (hello("world")) + int = 10 + list = { + nil, + nil, + } + null = nil + path = "${./testfile}" + str = "foo" + ''; + }; + phpAtoms = shouldPass rec { format = formats.php { finalVariable = "config"; }; input = { From bde2c0027ea474bbd286a81b31f90d96fabf5d85 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Wed, 19 Mar 2025 22:33:46 +0100 Subject: [PATCH 263/272] netbird: unbreak `netbird-ui` build (#390989) * netbird: 0.37.1 -> 0.38.2 * netbird: unbreak `netbird-ui` build * netbird: add `versionCheckHook` * netbird: use `buildGoModule` * netbird: use `darwin.apple_sdk.framework` * netbird: move to `pkgs/by-name` * netbird: use `finalAttrs` pattern * netbird: remove `with lib;` in front of the `meta` attribute set * netbird: minor cleanup * netbird: remove `darwin` parameter * netbird: disable `installCheck` for `netbird-ui` only --- pkgs/by-name/ne/netbird-ui/package.nix | 5 ++ .../ne/netbird/package.nix} | 71 +++++++++---------- pkgs/top-level/all-packages.nix | 9 --- 3 files changed, 38 insertions(+), 47 deletions(-) create mode 100644 pkgs/by-name/ne/netbird-ui/package.nix rename pkgs/{tools/networking/netbird/default.nix => by-name/ne/netbird/package.nix} (66%) diff --git a/pkgs/by-name/ne/netbird-ui/package.nix b/pkgs/by-name/ne/netbird-ui/package.nix new file mode 100644 index 000000000000..8a5ad19846b0 --- /dev/null +++ b/pkgs/by-name/ne/netbird-ui/package.nix @@ -0,0 +1,5 @@ +{ netbird }: + +netbird.override { + ui = true; +} diff --git a/pkgs/tools/networking/netbird/default.nix b/pkgs/by-name/ne/netbird/package.nix similarity index 66% rename from pkgs/tools/networking/netbird/default.nix rename to pkgs/by-name/ne/netbird/package.nix index 4325ad1a5210..121728929232 100644 --- a/pkgs/tools/networking/netbird/default.nix +++ b/pkgs/by-name/ne/netbird/package.nix @@ -12,13 +12,9 @@ libX11, libXcursor, libXxf86vm, - Cocoa, - IOKit, - Kernel, - UserNotifications, - WebKit, ui ? false, netbird-ui, + versionCheckHook, }: let modules = @@ -33,43 +29,35 @@ let signal = "netbird-signal"; }; in -buildGoModule rec { +buildGoModule (finalAttrs: { pname = "netbird"; - version = "0.37.1"; + version = "0.38.2"; src = fetchFromGitHub { owner = "netbirdio"; repo = "netbird"; - tag = "v${version}"; - hash = "sha256-5+R0Y/xPgnVH53p1vtY65tOqePWQVOMR4oY1yOOFHK4="; + tag = "v${finalAttrs.version}"; + hash = "sha256-8uxRR8XkomUB9dMN9h1M4/K09wxy5E+XhXVbNc0g6xQ="; }; - vendorHash = "sha256-DGvDkkdM8WaaR5FQwZgKn2n1JEDeqUegZxeAIxniJ5A="; + vendorHash = "sha256-m5ou5p2/ubDDMLr0M2F+9qgkqKjhXRJ6HpizwxJhmtU="; nativeBuildInputs = [ installShellFiles ] ++ lib.optional ui pkg-config; - buildInputs = - lib.optionals (stdenv.hostPlatform.isLinux && ui) [ - gtk3 - libayatana-appindicator - libX11 - libXcursor - libXxf86vm - ] - ++ lib.optionals (stdenv.hostPlatform.isDarwin && ui) [ - Cocoa - IOKit - Kernel - UserNotifications - WebKit - ]; + buildInputs = lib.optionals (stdenv.hostPlatform.isLinux && ui) [ + gtk3 + libayatana-appindicator + libX11 + libXcursor + libXxf86vm + ]; subPackages = lib.attrNames modules; ldflags = [ "-s" "-w" - "-X github.com/netbirdio/netbird/version.version=${version}" + "-X github.com/netbirdio/netbird/version.version=${finalAttrs.version}" "-X main.builtBy=nix" ]; @@ -100,31 +88,38 @@ buildGoModule rec { ) modules ) + lib.optionalString (stdenv.hostPlatform.isLinux && ui) '' - mkdir -p $out/share/pixmaps - cp $src/client/ui/netbird-systemtray-connected.png $out/share/pixmaps/netbird.png - - mkdir -p $out/share/applications - cp $src/client/ui/netbird.desktop $out/share/applications/netbird.desktop + install -Dm644 "$src/client/ui/assets/netbird-systemtray-connected.png" "$out/share/pixmaps/netbird.png" + install -Dm644 "$src/client/ui/build/netbird.desktop" "$out/share/applications/netbird.desktop" substituteInPlace $out/share/applications/netbird.desktop \ --replace-fail "Exec=/usr/bin/netbird-ui" "Exec=$out/bin/netbird-ui" ''; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}"; + versionCheckProgramArg = "version"; + # Disabled for the `netbird-ui` version because it does a network request. + doInstallCheck = !ui; + passthru = { - tests.netbird = nixosTests.netbird; - tests.netbird-ui = netbird-ui; + tests = { + nixos = nixosTests.netbird; + withUI = netbird-ui; + }; updateScript = nix-update-script { }; }; - meta = with lib; { + meta = { homepage = "https://netbird.io"; - changelog = "https://github.com/netbirdio/netbird/releases/tag/v${version}"; + changelog = "https://github.com/netbirdio/netbird/releases/tag/v${finalAttrs.version}"; description = "Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls"; - license = licenses.bsd3; - maintainers = with maintainers; [ + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ vrifox saturn745 ]; mainProgram = if ui then "netbird-ui" else "netbird"; }; -} +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a79484845fb5..f66a0a029f86 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2815,15 +2815,6 @@ with pkgs; libotf = callPackage ../tools/inputmethods/m17n-lib/otf.nix { }; - netbird = callPackage ../tools/networking/netbird { - inherit (darwin.apple_sdk_11_0.frameworks) Cocoa IOKit Kernel UserNotifications WebKit; - buildGoModule = buildGo123Module; - }; - - netbird-ui = netbird.override { - ui = true; - }; - skkDictionaries = callPackages ../tools/inputmethods/skk/skk-dicts { }; ibus = callPackage ../tools/inputmethods/ibus { }; From a6706df9c1e03469d8eba49b85e894a2969a5ce9 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 19 Mar 2025 22:40:47 +0100 Subject: [PATCH 264/272] python312Packages.pytorch-lightning: 2.5.0.post0 -> 2.5.1 Diff: https://github.com/Lightning-AI/pytorch-lightning/compare/refs/tags/2.5.0.post0...2.5.1 Changelog: https://github.com/Lightning-AI/pytorch-lightning/releases/tag/2.5.1 --- pkgs/development/python-modules/pytorch-lightning/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix index 0ba5f707f355..b9cde02359f8 100644 --- a/pkgs/development/python-modules/pytorch-lightning/default.nix +++ b/pkgs/development/python-modules/pytorch-lightning/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "pytorch-lightning"; - version = "2.5.0.post0"; + version = "2.5.1"; pyproject = true; src = fetchFromGitHub { owner = "Lightning-AI"; repo = "pytorch-lightning"; tag = version; - hash = "sha256-TkwDncyfv1VoV/IErUgF4p0Or5PJbwKoABqo1xXGLVg="; + hash = "sha256-vGs+byt+/9tIMNYc2VmyN5vhj21ZFnaYsg4v2zeKzEM="; }; preConfigure = '' From 52b0eecca358d07f220900806c8e79019e47a168 Mon Sep 17 00:00:00 2001 From: hdhog Date: Wed, 19 Mar 2025 15:31:30 +0400 Subject: [PATCH 265/272] terraform-providers.nexus: init at v2.5.0 --- .../cluster/terraform-providers/providers.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 995d49603774..0ecbe433da60 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -866,6 +866,15 @@ "spdx": "MPL-2.0", "vendorHash": "sha256-ZZtfVgxp7YXNRXpeUisLzweQhHzgYOuQDAp1MsxAVhg=" }, + "nexus": { + "hash": "sha256-6RPga80ZoqEEFL7I2OVXcrwaxbdhSzZDEV07xL07rZs=", + "homepage": "https://registry.terraform.io/providers/datadrivers/nexus", + "owner": "datadrivers", + "repo": "terraform-provider-nexus", + "rev": "v2.5.0", + "spdx": "MPL-2.0", + "vendorHash": "sha256-wOpR+AJYW7YiARSIACta8Tr4bmGLUONRTEBLxHyHZZk=" + }, "nomad": { "hash": "sha256-k61iQ9FQG3nscBp5CE/fFCbHpeLawbUAtGPM+IZtfVc=", "homepage": "https://registry.terraform.io/providers/hashicorp/nomad", From 8b90097c395a455936dbf911601c3adc559bb663 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Wed, 19 Mar 2025 15:43:30 -0300 Subject: [PATCH 266/272] gh: 2.68.1 -> 2.69.0 Diff: https://github.com/cli/cli/compare/refs/tags/v2.68.1...v2.69.0 Changelog: https://github.com/cli/cli/releases/tag/v2.69.0 --- pkgs/by-name/gh/gh/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index 0604441b1a11..4d27294ce455 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "gh"; - version = "2.68.1"; + version = "2.69.0"; src = fetchFromGitHub { owner = "cli"; repo = "cli"; tag = "v${version}"; - hash = "sha256-yJwRC25QQKWeRrp0ItovuBCrTla3dezArzFvnkZchFg="; + hash = "sha256-T5H84RH5uBXXNCiyd27ZjDu4g5UBK4yUjZWQAFp3cH0="; }; - vendorHash = "sha256-QmZBdnxcVywCGpaBAZZRO0LDr6WidaFXGpaAkWfn+gs="; + vendorHash = "sha256-BJK8XzCdbbyzj1rEJtnE6hKOy7Q9xSrkicBPzxz9gkw="; nativeBuildInputs = [ installShellFiles ]; From cf18cc959daacfaa18b7c8c47fccdded08810201 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 19 Mar 2025 23:58:31 +0100 Subject: [PATCH 267/272] python312Packages.awkward-cpp: 44 -> 45 --- pkgs/development/python-modules/awkward-cpp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/awkward-cpp/default.nix b/pkgs/development/python-modules/awkward-cpp/default.nix index ce96b50ca49b..7bea254a60b9 100644 --- a/pkgs/development/python-modules/awkward-cpp/default.nix +++ b/pkgs/development/python-modules/awkward-cpp/default.nix @@ -11,13 +11,13 @@ buildPythonPackage rec { pname = "awkward-cpp"; - version = "44"; + version = "45"; pyproject = true; src = fetchPypi { pname = "awkward_cpp"; inherit version; - hash = "sha256-jcSZKI1tFrLqILUaJ9UEflGiR7aqz8vLOzAsrW08h9g="; + hash = "sha256-hgFM9bGqu63qKBnG5gVe5JilA+yiNO3Bn/UCkos08WI="; }; build-system = [ From 034eb0404681d663959a279c31131c71faae773c Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 19 Mar 2025 23:58:49 +0100 Subject: [PATCH 268/272] python312Packages.awkward: 2.7.4 -> 2.8.0 Diff: https://github.com/scikit-hep/awkward/compare/refs/tags/v2.7.4...v2.8.0 Changelog: https://github.com/scikit-hep/awkward/releases/tag/v2.8.0 --- .../python-modules/awkward/default.nix | 37 +++++-------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix index 5b683164681e..f9e5498ebc2a 100644 --- a/pkgs/development/python-modules/awkward/default.nix +++ b/pkgs/development/python-modules/awkward/default.nix @@ -1,6 +1,5 @@ { lib, - stdenv, buildPythonPackage, fetchFromGitHub, @@ -26,14 +25,14 @@ buildPythonPackage rec { pname = "awkward"; - version = "2.7.4"; + version = "2.8.0"; pyproject = true; src = fetchFromGitHub { owner = "scikit-hep"; repo = "awkward"; tag = "v${version}"; - hash = "sha256-OXSl+8sfrx+JlLu40wHf+98WVNNwm9uxvsnGXRDztDg="; + hash = "sha256-dr8DUY6T6fvtMASdM9U+XQN0dVP8AKvwa1gwHfOz3Dw="; }; build-system = [ @@ -62,31 +61,15 @@ buildPythonPackage rec { pytestCheckHook ]; - disabledTests = - [ - # pyarrow.lib.ArrowInvalid - "test_recordarray" - ] - ++ lib.optionals (pythonAtLeast "3.13") [ - # AttributeError: 'FrameLocalsProxy' object has no attribute 'clear' - "test_numexpr" - ]; + disabledTests = [ + # pyarrow.lib.ArrowInvalid + "test_recordarray" + ]; - disabledTestPaths = - [ - # Need to be run on a GPU platform. - "tests-cuda" - ] - ++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - # Fatal Python error: Segmentation fault at: - # numba/typed/typedlist.py", line 344 in append - "tests/test_0118_numba_cpointers.py" - "tests/test_0397_arrays_as_constants_in_numba.py" - "tests/test_1677_array_builder_in_numba.py" - "tests/test_2055_array_builder_check.py" - "tests/test_2349_growablebuffer_in_numba.py" - "tests/test_2408_layoutbuilder_in_numba.py" - ]; + disabledTestPaths = [ + # Need to be run on a GPU platform. + "tests-cuda" + ]; meta = { description = "Manipulate JSON-like data with NumPy-like idioms"; From 8bbea3f65c5b2c7f263b6a89a4fd39701fbaded8 Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 17 Mar 2025 12:43:19 +0100 Subject: [PATCH 269/272] fcft: 3.2.0 -> 3.3.1 https://codeberg.org/dnkl/fcft/releases/tag/3.3.0https://codeberg.org/dnkl/fcft/releases/tag/3.3.1 --- pkgs/by-name/fc/fcft/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fc/fcft/package.nix b/pkgs/by-name/fc/fcft/package.nix index 7c60607f2f0c..be0327dcc688 100644 --- a/pkgs/by-name/fc/fcft/package.nix +++ b/pkgs/by-name/fc/fcft/package.nix @@ -33,14 +33,14 @@ in stdenv.mkDerivation rec { pname = "fcft"; - version = "3.2.0"; + version = "3.3.1"; src = fetchFromGitea { domain = "codeberg.org"; owner = "dnkl"; repo = "fcft"; rev = version; - hash = "sha256-VMNjTOil50/GslSzZnBPkSoy0Vg0729ndaEAeXk00GI="; + hash = "sha256:08fr6zcqk4qp1k3r0di6v60qfyd3q5k9jnxzlsx2p1lh0nils0xa"; }; depsBuildBuild = [ pkg-config ]; From 269a2c324e595f657857aa78333ded43696a7f2b Mon Sep 17 00:00:00 2001 From: sternenseemann Date: Mon, 17 Mar 2025 12:43:48 +0100 Subject: [PATCH 270/272] foot: 1.20.2 -> 1.21.0 https://codeberg.org/dnkl/foot/releases/tag/1.21.0 --- pkgs/by-name/fo/foot/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/fo/foot/package.nix b/pkgs/by-name/fo/foot/package.nix index 6c61b9d94392..b667d212b46b 100644 --- a/pkgs/by-name/fo/foot/package.nix +++ b/pkgs/by-name/fo/foot/package.nix @@ -27,7 +27,7 @@ }: let - version = "1.20.2"; + version = "1.21.0"; # build stimuli file for PGO build and the script to generate it # independently of the foot's build, so we can cache the result @@ -104,7 +104,7 @@ stdenv.mkDerivation { owner = "dnkl"; repo = "foot"; rev = version; - hash = "sha256-tnBoRRKHcuvBSnqvJ/772UWuepvpUiSg6t+gx4MZ0VQ="; + hash = "sha256:19hkw4g2l00wasmk5dn34rf3bhqh6zbwwhvz98bdcv90p761jws4"; }; separateDebugInfo = true; From 787aeb2495d3c964111a96cdbdf31a40730149db Mon Sep 17 00:00:00 2001 From: Kiskae Date: Wed, 19 Mar 2025 17:18:37 +0100 Subject: [PATCH 271/272] linuxPackages.nvidiaPackages.production: 570.124.04 -> 570.133.07 --- pkgs/os-specific/linux/nvidia-x11/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index baecce29f371..769a95549ec4 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -64,12 +64,12 @@ rec { stable = if stdenv.hostPlatform.system == "i686-linux" then legacy_390 else production; production = generic { - version = "570.124.04"; - sha256_64bit = "sha256-G3hqS3Ei18QhbFiuQAdoik93jBlsFI2RkWOBXuENU8Q="; - sha256_aarch64 = "sha256-HN58N00SNEwMQKSKuOMAXVW6J2VI/2YyDulQNJHuVeM="; - openSha256 = "sha256-KCGUyu/XtmgcBqJ8NLw/iXlaqB9/exg51KFx0Ta5ip0="; - settingsSha256 = "sha256-LNL0J/sYHD8vagkV1w8tb52gMtzj/F0QmJTV1cMaso8="; - persistencedSha256 = "sha256-SHSdnGyAiRH6e0gYMYKvlpRSH5KYlJSA1AJXPm7MDRk="; + version = "570.133.07"; + sha256_64bit = "sha256-LUPmTFgb5e9VTemIixqpADfvbUX1QoTT2dztwI3E3CY="; + sha256_aarch64 = "sha256-yTovUno/1TkakemRlNpNB91U+V04ACTMwPEhDok7jI0="; + openSha256 = "sha256-9l8N83Spj0MccA8+8R1uqiXBS0Ag4JrLPjrU3TaXHnM="; + settingsSha256 = "sha256-XMk+FvTlGpMquM8aE8kgYK2PIEszUZD2+Zmj2OpYrzU="; + persistencedSha256 = "sha256-G1V7JtHQbfnSRfVjz/LE2fYTlh9okpCbE4dfX9oYSg8="; }; latest = selectHighestVersion production (generic { From 0d23178313796212170910c3278e2cc73a88d586 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 19 Mar 2025 18:39:43 +0100 Subject: [PATCH 272/272] python312Packages.conduit[-mpi]: init at 0.9.3 --- pkgs/by-name/co/conduit/package.nix | 3 + .../python-modules/conduit/default.nix | 65 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 3 files changed, 72 insertions(+) create mode 100644 pkgs/development/python-modules/conduit/default.nix diff --git a/pkgs/by-name/co/conduit/package.nix b/pkgs/by-name/co/conduit/package.nix index 22c208d18637..62100ccf20b4 100644 --- a/pkgs/by-name/co/conduit/package.nix +++ b/pkgs/by-name/co/conduit/package.nix @@ -7,6 +7,7 @@ # passthru conduit, + python3Packages, nix-update-script, mpiSupport ? false, @@ -50,6 +51,8 @@ stdenv.mkDerivation (finalAttrs: { passthru = { tests = { withMpi = conduit.override { mpiSupport = true; }; + pythonModule = python3Packages.conduit; + pythonModuleWithMpi = python3Packages.conduit-mpi; }; updateScript = nix-update-script { }; }; diff --git a/pkgs/development/python-modules/conduit/default.nix b/pkgs/development/python-modules/conduit/default.nix new file mode 100644 index 000000000000..9fd15ff2eea0 --- /dev/null +++ b/pkgs/development/python-modules/conduit/default.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + pkgs, + buildPythonPackage, + setuptools, + numpy, + pip, + + mpiSupport ? false, +}: +let + conduit = pkgs.conduit.override { inherit mpiSupport; }; +in +buildPythonPackage { + inherit (conduit) + pname + version + src + nativeBuildInputs + buildInputs + ; + pyproject = true; + + # Needed for cmake to find openmpi + strictDeps = false; + + postPatch = '' + substituteInPlace setup.py \ + --replace-fail \ + "'-j2'" \ + "f'-j{os.environ.get(\"NIX_BUILD_CORES\")}'" + ''; + + dontUseCmakeConfigure = true; + + env.ENABLE_MPI = mpiSupport; + + build-system = [ + setuptools + ]; + + dependencies = [ + numpy + pip + ]; + + pythonImportsCheck = [ "conduit" ]; + + # No python tests + doCheck = false; + + meta = { + description = "Python bindings for the conduit library"; + inherit (conduit.meta) + homepage + changelog + license + platforms + ; + maintainers = with lib.maintainers; [ GaetanLepage ]; + # Cross-compilation is broken + broken = stdenv.hostPlatform != stdenv.buildPlatform; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9540defc0874..2a1e7acc67bf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2646,6 +2646,10 @@ self: super: with self; { conda-package-streaming = callPackage ../development/python-modules/conda-package-streaming { }; + conduit = callPackage ../development/python-modules/conduit { }; + + conduit-mpi = callPackage ../development/python-modules/conduit { mpiSupport = true; }; + confection = callPackage ../development/python-modules/confection { }; configargparse = callPackage ../development/python-modules/configargparse { };