From 5acc851f6a88f7a6504af20f543f22d8e6c58713 Mon Sep 17 00:00:00 2001 From: Mirko Lenz Date: Mon, 8 Jun 2026 10:32:03 +0200 Subject: [PATCH 01/53] nixos/homer: add caching headers and compression to caddy vhost --- nixos/modules/services/web-apps/homer.nix | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/web-apps/homer.nix b/nixos/modules/services/web-apps/homer.nix index e34e43435d12..a89f51dd832d 100644 --- a/nixos/modules/services/web-apps/homer.nix +++ b/nixos/modules/services/web-apps/homer.nix @@ -169,11 +169,25 @@ in enable = true; virtualHosts."${cfg.virtualHost.domain}".extraConfig = '' root * ${cfg.package} - file_server + encode zstd gzip + + @immutable path /resources/* + header @immutable Cache-Control "public, max-age=31536000, immutable" + + @html not path /resources/* + header @html Cache-Control "no-store" + + header { + -ETag + -Last-Modified + } + handle_path /assets/config.yml { root * ${configFile} file_server } + + file_server ''; }; }; From 9fc91f061e2a8991e278c4fa7787763d5108cb8d Mon Sep 17 00:00:00 2001 From: whispers Date: Sat, 4 Jul 2026 23:37:15 -0400 Subject: [PATCH 02/53] spice: apply upstream patches for gcc 16 c++ does not allow designated initializers to refer to members of anonymous unions, and gcc 16 rejects this. this appears in two places in spice, so we pull the upstream patches that fix this but have not yet made it into a release. --- pkgs/by-name/sp/spice/package.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/by-name/sp/spice/package.nix b/pkgs/by-name/sp/spice/package.nix index 73e906604be8..da68b72128ec 100644 --- a/pkgs/by-name/sp/spice/package.nix +++ b/pkgs/by-name/sp/spice/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchurl, + fetchpatch, meson, ninja, pkg-config, @@ -38,6 +39,22 @@ stdenv.mkDerivation (finalAttrs: { patches = [ ./remove-rt-on-darwin.patch + + # C++ does not allow designated initializers to refer to members of + # anonymous unions. This fails with GCC 16, and was fixed upstream across + # two merge requests but not yet released. + # https://gitlab.freedesktop.org/spice/spice/-/merge_requests/246 + (fetchpatch { + name = "spice-test-display-base-initializer-anonymous-union.patch"; + url = "https://gitlab.freedesktop.org/spice/spice/-/commit/59bc22a40611121b2ea7888bf3c1a501c4fc0b91.patch"; + hash = "sha256-VQ+DrzmIws3EyZU5c0OqMZwMltUvCW34h5oXuHB8YWs="; + }) + # https://gitlab.freedesktop.org/spice/spice/-/merge_requests/244 + (fetchpatch { + name = "spice-test-gst-initializer-anonymous-union.patch"; + url = "https://gitlab.freedesktop.org/spice/spice/-/commit/a904cd86430aa555a50730e9389e210637a546c1.patch"; + hash = "sha256-6GGqi+Y4I/oftE8zXuRnX021+r7SrQPUdAdBsCv9MIw="; + }) ]; nativeBuildInputs = [ From e4eca2cad9c10e134a4a4b122772649a8b65e130 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 6 Jul 2026 19:40:07 +0000 Subject: [PATCH 03/53] python3Packages.aioslimproto: 3.1.8 -> 3.1.9 --- pkgs/development/python-modules/aioslimproto/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/aioslimproto/default.nix b/pkgs/development/python-modules/aioslimproto/default.nix index a76649e8bd5a..c54008a0c7ba 100644 --- a/pkgs/development/python-modules/aioslimproto/default.nix +++ b/pkgs/development/python-modules/aioslimproto/default.nix @@ -10,14 +10,14 @@ buildPythonPackage (finalAttrs: { pname = "aioslimproto"; - version = "3.1.8"; + version = "3.1.9"; pyproject = true; src = fetchFromGitHub { owner = "home-assistant-libs"; repo = "aioslimproto"; tag = finalAttrs.version; - hash = "sha256-xHdwikriA6mcb7tmElqa6suINYxeyyGZQ5iO+P7dRCo="; + hash = "sha256-IyDgnBQC8EbDzwRFWgmVOf4lVNsmdiTaMfpWXHUa4oM="; }; postPatch = '' From e974fec01ecca9a3beee45fc97853c730059399f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sat, 11 Jul 2026 13:18:01 +0000 Subject: [PATCH 04/53] rustical: 0.13.1 -> 0.14.0 --- pkgs/by-name/ru/rustical/package.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ru/rustical/package.nix b/pkgs/by-name/ru/rustical/package.nix index 8e58c6e13df2..fa9b1c5e931e 100644 --- a/pkgs/by-name/ru/rustical/package.nix +++ b/pkgs/by-name/ru/rustical/package.nix @@ -10,16 +10,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "rustical"; - version = "0.13.1"; + version = "0.14.0"; + __darwinAllowLocalNetworking = true; src = fetchFromGitHub { owner = "lennart-k"; repo = "rustical"; tag = "v${finalAttrs.version}"; - hash = "sha256-DNwxQq2QKPQ6gzIxBJUhdMNbmHNYnt+MSFJ28PLzunQ="; + hash = "sha256-V0gd4qFs3mRhajhBbtVO835HLAwLKswFQDaURENNTOM="; }; - cargoHash = "sha256-bIbDohCkSlV7uBi+lyylLE/gSqjzlp+xwxQRS9zBiio="; + cargoHash = "sha256-HJeN9xv1U6l1ailE+8L+wlZSCKiCZyhfsh7uT+zebE0="; nativeBuildInputs = [ pkg-config ]; From 31450c1f0a69b01e3c2bfde2fd126fe180c79d38 Mon Sep 17 00:00:00 2001 From: Lyn Date: Fri, 17 Apr 2026 14:55:07 +0200 Subject: [PATCH 05/53] sable-unwrapped: init at 1.19.4 --- pkgs/by-name/ci/cinny/package.nix | 5 +- pkgs/by-name/sa/sable-unwrapped/package.nix | 80 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 5 ++ 3 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 pkgs/by-name/sa/sable-unwrapped/package.nix diff --git a/pkgs/by-name/ci/cinny/package.nix b/pkgs/by-name/ci/cinny/package.nix index df494780e81d..02bfc4fca9cf 100644 --- a/pkgs/by-name/ci/cinny/package.nix +++ b/pkgs/by-name/ci/cinny/package.nix @@ -4,15 +4,16 @@ stdenvNoCC, writeText, conf ? { }, + pname ? "cinny", }: let - configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf); + configOverrides = writeText "${pname}-config-overrides.json" (builtins.toJSON conf); in if (conf == { }) then cinny-unwrapped else stdenvNoCC.mkDerivation { - pname = "cinny"; + inherit pname; inherit (cinny-unwrapped) version meta; dontUnpack = true; diff --git a/pkgs/by-name/sa/sable-unwrapped/package.nix b/pkgs/by-name/sa/sable-unwrapped/package.nix new file mode 100644 index 000000000000..6cb5d792e1e4 --- /dev/null +++ b/pkgs/by-name/sa/sable-unwrapped/package.nix @@ -0,0 +1,80 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + fetchPnpmDeps, + pnpmConfigHook, + pnpm_10, + nodejs-slim_24, + nix-update-script, +}: + +let + nodejs-slim = nodejs-slim_24; + pnpm = pnpm_10.override { inherit nodejs-slim; }; +in + +stdenvNoCC.mkDerivation (finalAttrs: { + __darwinAllowLocalNetworking = true; + __structuredAttrs = true; + strictDeps = true; + + pname = "sable-unwrapped"; + version = "1.19.4"; + + src = fetchFromGitHub { + owner = "SableClient"; + repo = "Sable"; + tag = "v${finalAttrs.version}"; + hash = "sha256-GI4ZXmqPTWt3WlTQDkjVfRWhiJnd3mdq5paA3/TGMEA="; + }; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + inherit pnpm; + fetcherVersion = 3; + hash = "sha256-iBvtMeYUHWhsz1DnKjTzydAt3cGPaisUhaagoaZRg1M="; + }; + + nativeBuildInputs = [ + nodejs-slim + pnpmConfigHook + pnpm + ]; + + # Controls how the application displays its version, e.g. "v1.14.0 (nix)". + # Also prevents some attempts to execute git during build. + env = { + VITE_IS_RELEASE_TAG = "true"; + VITE_BUILD_HASH = "nix"; + }; + + buildPhase = '' + runHook preBuild + + pnpm build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + cp -r dist $out + + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "An almost stable Matrix client"; + homepage = "https://github.com/SableClient/Sable"; + changelog = "https://github.com/SableClient/Sable/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.agpl3Only; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ + fugi + ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 40b8b3c09319..c86acad0fc96 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9359,6 +9359,11 @@ with pkgs; rusty-psn-gui = rusty-psn.override { withGui = true; }; + sable = callPackage ../by-name/ci/cinny/package.nix { + pname = "sable"; + cinny-unwrapped = sable-unwrapped; + }; + sweethome3d = recurseIntoAttrs ( (callPackage ../applications/misc/sweethome3d { }) // (callPackage ../applications/misc/sweethome3d/editors.nix { From 8a4c1dd05ed4e28f14713c4ffb6ca619290bd6f9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 13 Jul 2026 02:53:01 +0000 Subject: [PATCH 06/53] cel-go: 0.28.1 -> 0.29.2 --- pkgs/by-name/ce/cel-go/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ce/cel-go/package.nix b/pkgs/by-name/ce/cel-go/package.nix index 5d944d2d3b64..6ce048623ee6 100644 --- a/pkgs/by-name/ce/cel-go/package.nix +++ b/pkgs/by-name/ce/cel-go/package.nix @@ -26,18 +26,18 @@ let in buildGoModule (finalAttrs: { pname = "cel-go"; - version = "0.28.1"; + version = "0.29.2"; src = fetchFromGitHub { owner = "cel-expr"; repo = "cel-go"; tag = "v${finalAttrs.version}"; - hash = "sha256-fiFkoYVKdSdYkSMQxmC1SvEEGsalBasCl9tzsGSYwmw="; + hash = "sha256-IubOpjSE91Y2kmWrXw/jFA2QqB3Mx0d/DcJgDVI6+dc="; }; modRoot = "repl"; - vendorHash = "sha256-tMaDwKoE5tzbQD5b7EnpKqiT/CT9WDCKgoxQeyhIlXE="; + vendorHash = "sha256-xbg13CPZEK2uXa6U7T5I/6l1OFcgFOaThcKCfQkgJXI="; subPackages = [ "main" From acb6a16f2bd8b5c24732b1de95e48fb061243ab9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 10 Jul 2026 22:20:49 +0000 Subject: [PATCH 07/53] python3Packages.sqlite-utils: 3.39 -> 4.1.1 --- pkgs/development/python-modules/sqlite-utils/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix index acc78be8aea7..adda0b1e6696 100644 --- a/pkgs/development/python-modules/sqlite-utils/default.nix +++ b/pkgs/development/python-modules/sqlite-utils/default.nix @@ -17,7 +17,7 @@ }: buildPythonPackage rec { pname = "sqlite-utils"; - version = "3.39"; + version = "4.1.1"; pyproject = true; build-system = [ setuptools ]; @@ -25,7 +25,7 @@ buildPythonPackage rec { src = fetchPypi { inherit version; pname = "sqlite_utils"; - hash = "sha256-v6Lqwps+PrXJZHKDeXUn/rz079Spu7Mdl5oUoR75280="; + hash = "sha256-z5fmILOUDNVByukRfMJK+WGm2kJhif22YvIPGVC6H0k="; }; dependencies = [ From 1b5f703ee58aa0fab7a7f5e56771e7f8bade5bf4 Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Sat, 11 Jul 2026 07:27:07 +0000 Subject: [PATCH 08/53] python3Packages.sqlite-migrate: 0.1b -> 0.2 --- .../python-modules/sqlite-migrate/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/development/python-modules/sqlite-migrate/default.nix b/pkgs/development/python-modules/sqlite-migrate/default.nix index 7aea7adb1bbf..34e490010981 100644 --- a/pkgs/development/python-modules/sqlite-migrate/default.nix +++ b/pkgs/development/python-modules/sqlite-migrate/default.nix @@ -1,23 +1,29 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, pytestCheckHook, setuptools, + uv-build, sqlite-utils, }: buildPythonPackage rec { pname = "sqlite-migrate"; - version = "0.1b0"; + version = "0.2"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-jVArPKS5xF5WASvTXAPSMjXwgjyXbUzpQMu0DjMIfe0="; + src = fetchFromGitHub { + owner = "simonw"; + repo = "sqlite-migrate"; + tag = version; + hash = "sha256-0fU3yOujqc4mZS4XcsM9xH2iK9fFX5MUsmuc/o+I+nY="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ + setuptools + uv-build + ]; propagatedBuildInputs = [ sqlite-utils ]; From bc0681ea1ecc90a0f45c22b1d10952a2a501ad8f Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Sat, 11 Jul 2026 08:28:12 +0000 Subject: [PATCH 09/53] python3Packages.llm: 0.30 -> 0.31.1 --- .../python-modules/llm/default.nix | 11 +++- ...ommit-inside-content_hash-embeddings.patch | 66 +++++++++++++++++++ 2 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 pkgs/development/python-modules/llm/do-not-commit-inside-content_hash-embeddings.patch diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index 17794a696d85..b880a546ef78 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, fetchFromGitHub, fetchpatch, + fetchpatch2, pytestCheckHook, replaceVars, setuptools, @@ -167,7 +168,7 @@ let llm = buildPythonPackage rec { pname = "llm"; - version = "0.30"; + version = "0.31.1"; pyproject = true; build-system = [ setuptools ]; @@ -176,11 +177,17 @@ let owner = "simonw"; repo = "llm"; tag = version; - hash = "sha256-+8fwx7sS1vFSTqb+p2uDLqWW/UIx8WoW3kYJihznRRg="; + hash = "sha256-XxQ6IQyuO1rxQtiyb4VGrM7uGoffuNN5BhyI4YDxnZg="; }; patches = [ ./001-disable-install-uninstall-commands.patch + # Remove when https://github.com/simonw/llm/pull/1525 gets merged. + ./do-not-commit-inside-content_hash-embeddings.patch + (fetchpatch2 { + url = "https://github.com/simonw/llm/commit/67adad2c10be5c1898e3e1a664adb573f5d032cf.patch"; + hash = "sha256-7+sBQvef94ZTUrqNKVzHzjFADNj1KNzA2tbGs5btwNA="; + }) ] # See https://github.com/NixOS/nixpkgs/issues/476258 and https://github.com/simonw/llm/pull/1334 # TODO: Remove when sqlite 3.52.x is released. diff --git a/pkgs/development/python-modules/llm/do-not-commit-inside-content_hash-embeddings.patch b/pkgs/development/python-modules/llm/do-not-commit-inside-content_hash-embeddings.patch new file mode 100644 index 000000000000..003786de207a --- /dev/null +++ b/pkgs/development/python-modules/llm/do-not-commit-inside-content_hash-embeddings.patch @@ -0,0 +1,66 @@ +From db03b44068e71f5266b720eb68ecae50e3e14303 Mon Sep 17 00:00:00 2001 +From: Ewerton Silva +Date: Sat, 11 Jul 2026 23:50:58 -0300 +Subject: [PATCH] fix: do not commit inside the content_hash embeddings + migration + +--- + llm/embeddings_migrations.py | 21 ++++++++++----------- + tests/test_migrate.py | 12 ++++++++++++ + 2 files changed, 22 insertions(+), 11 deletions(-) + +diff --git a/llm/embeddings_migrations.py b/llm/embeddings_migrations.py +index 96444bd65..595a692d9 100644 +--- a/llm/embeddings_migrations.py ++++ b/llm/embeddings_migrations.py +@@ -62,17 +62,16 @@ def random_md5(): + db.conn.create_function("temp_md5", 1, md5) + db.conn.create_function("temp_random_md5", 0, random_md5) + +- with db.conn: +- db.execute(""" +- update embeddings +- set content_hash = temp_md5(content) +- where content is not null +- """) +- db.execute(""" +- update embeddings +- set content_hash = temp_random_md5() +- where content is null +- """) ++ db.execute(""" ++ update embeddings ++ set content_hash = temp_md5(content) ++ where content is not null ++ """) ++ db.execute(""" ++ update embeddings ++ set content_hash = temp_random_md5() ++ where content is null ++ """) + + db["embeddings"].create_index(["content_hash"]) + +diff --git a/tests/test_migrate.py b/tests/test_migrate.py +index 705021100..e74b1554b 100644 +--- a/tests/test_migrate.py ++++ b/tests/test_migrate.py +@@ -117,6 +117,18 @@ def test_migrations_for_embeddings(): + assert db["embeddings"].foreign_keys[0].other_table == "collections" + + ++@pytest.mark.skipif( ++ not hasattr(sqlite_utils.Database, "atomic"), ++ reason="sqlite-utils 4 and higher run each migration inside a transaction", ++) ++def test_embeddings_migrations_do_not_commit(): ++ # https://github.com/simonw/llm/issues/1523 ++ db = sqlite_utils.Database(memory=True) ++ for migration in embeddings_migrations.pending(db): ++ with db.atomic(): ++ migration.fn(db) ++ ++ + def test_backfill_content_hash(): + db = sqlite_utils.Database(memory=True) + # Run migrations up to but not including m004_store_content_hash From 915363b7aa0e8e4bea852fef44ff5a697d58db5f Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Tue, 14 Jul 2026 01:45:07 +0000 Subject: [PATCH 10/53] python3Packages.llm-tools-sqlite: fix test --- .../python-modules/llm-tools-sqlite/default.nix | 4 ++++ .../python-modules/llm-tools-sqlite/fix-test.patch | 13 +++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 pkgs/development/python-modules/llm-tools-sqlite/fix-test.patch diff --git a/pkgs/development/python-modules/llm-tools-sqlite/default.nix b/pkgs/development/python-modules/llm-tools-sqlite/default.nix index 494c4c5994e5..94d623124cc8 100644 --- a/pkgs/development/python-modules/llm-tools-sqlite/default.nix +++ b/pkgs/development/python-modules/llm-tools-sqlite/default.nix @@ -22,6 +22,10 @@ buildPythonPackage rec { hash = "sha256-VAmK4cXzZWTWCU92TwMdhNJPvYPZ88t5BZe8vo60SZY="; }; + patches = [ + ./fix-test.patch + ]; + build-system = [ setuptools ]; dependencies = [ llm ]; diff --git a/pkgs/development/python-modules/llm-tools-sqlite/fix-test.patch b/pkgs/development/python-modules/llm-tools-sqlite/fix-test.patch new file mode 100644 index 000000000000..802b73d8583e --- /dev/null +++ b/pkgs/development/python-modules/llm-tools-sqlite/fix-test.patch @@ -0,0 +1,13 @@ +diff --git a/tests/test_llm_tools_sqlite.py b/tests/test_llm_tools_sqlite.py +index a676007..4d653b6 100644 +--- a/tests/test_llm_tools_sqlite.py ++++ b/tests/test_llm_tools_sqlite.py +@@ -47,7 +47,7 @@ def test_tool(monkeypatch, tmpdir): + {"name": "SQLite_query", "output": '[{"n": 3}]', "tool_call_id": None}, + { + "name": "SQLite_schema", +- "output": "CREATE TABLE [pelicans] (\n [name] TEXT\n);", ++ "output": "CREATE TABLE \"pelicans\" (\n \"name\" TEXT\n);", + "tool_call_id": None, + }, + { From 4303643fbdbe5864d64ad0e6bb5d4a72981e7f5e Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Tue, 14 Jul 2026 04:04:52 +0000 Subject: [PATCH 11/53] python3Packages.llm-tools-sqlite: modernize --- .../python-modules/llm-tools-sqlite/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/development/python-modules/llm-tools-sqlite/default.nix b/pkgs/development/python-modules/llm-tools-sqlite/default.nix index 94d623124cc8..ee2d2df02a67 100644 --- a/pkgs/development/python-modules/llm-tools-sqlite/default.nix +++ b/pkgs/development/python-modules/llm-tools-sqlite/default.nix @@ -10,15 +10,16 @@ writableTmpDirAsHomeHook, }: -buildPythonPackage rec { +buildPythonPackage (finalATtrs: { pname = "llm-tools-sqlite"; version = "0.1"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "simonw"; repo = "llm-tools-sqlite"; - tag = version; + tag = finalAttrs.version; hash = "sha256-VAmK4cXzZWTWCU92TwMdhNJPvYPZ88t5BZe8vo60SZY="; }; @@ -43,8 +44,8 @@ buildPythonPackage rec { meta = { description = "LLM tools for running queries against SQLite"; homepage = "https://github.com/simonw/llm-tools-sqlite"; - changelog = "https://github.com/simonw/llm-tools-sqlite/releases/tag/${version}/CHANGELOG.md"; + changelog = "https://github.com/simonw/llm-tools-sqlite/releases/tag/${finalAttrs.version}/CHANGELOG.md"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ philiptaron ]; }; -} +}) From 9408bd6e7aa564dde40ed4b5d7fb64c3a16980d9 Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Tue, 14 Jul 2026 04:05:18 +0000 Subject: [PATCH 12/53] python3Packages.sqlite-migrate: modernize --- .../python-modules/llm-tools-sqlite/default.nix | 2 +- .../python-modules/sqlite-migrate/default.nix | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/llm-tools-sqlite/default.nix b/pkgs/development/python-modules/llm-tools-sqlite/default.nix index ee2d2df02a67..11ae7b29cb1f 100644 --- a/pkgs/development/python-modules/llm-tools-sqlite/default.nix +++ b/pkgs/development/python-modules/llm-tools-sqlite/default.nix @@ -10,7 +10,7 @@ writableTmpDirAsHomeHook, }: -buildPythonPackage (finalATtrs: { +buildPythonPackage (finalAttrs: { pname = "llm-tools-sqlite"; version = "0.1"; pyproject = true; diff --git a/pkgs/development/python-modules/sqlite-migrate/default.nix b/pkgs/development/python-modules/sqlite-migrate/default.nix index 34e490010981..bf6f670e1d75 100644 --- a/pkgs/development/python-modules/sqlite-migrate/default.nix +++ b/pkgs/development/python-modules/sqlite-migrate/default.nix @@ -8,15 +8,16 @@ sqlite-utils, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sqlite-migrate"; version = "0.2"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "simonw"; repo = "sqlite-migrate"; - tag = version; + tag = finalAttrs.version; hash = "sha256-0fU3yOujqc4mZS4XcsM9xH2iK9fFX5MUsmuc/o+I+nY="; }; @@ -34,8 +35,8 @@ buildPythonPackage rec { meta = { description = "Simple database migration system for SQLite, based on sqlite-utils"; homepage = "https://github.com/simonw/sqlite-migrate"; - changelog = "https://github.com/simonw/sqlite-migrate/releases/tag/${version}"; + changelog = "https://github.com/simonw/sqlite-migrate/releases/tag/${finalAttrs.version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ aldoborrero ]; }; -} +}) From 950bb2ca0416dfe2d519eb99a5835bc61a9674cc Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Tue, 14 Jul 2026 04:05:53 +0000 Subject: [PATCH 13/53] python3Packages.llm: modernize --- .../python-modules/llm/default.nix | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index b880a546ef78..eeb9194dbafb 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -4,7 +4,6 @@ callPackage, buildPythonPackage, fetchFromGitHub, - fetchpatch, fetchpatch2, pytestCheckHook, replaceVars, @@ -165,18 +164,18 @@ let '') withPluginsArgNames ) ); - - llm = buildPythonPackage rec { + llm = buildPythonPackage (finalAttrs: { pname = "llm"; version = "0.31.1"; pyproject = true; + __structuredAttrs = true; build-system = [ setuptools ]; src = fetchFromGitHub { owner = "simonw"; repo = "llm"; - tag = version; + tag = finalAttrs.version; hash = "sha256-XxQ6IQyuO1rxQtiyb4VGrM7uGoffuNN5BhyI4YDxnZg="; }; @@ -188,14 +187,6 @@ let url = "https://github.com/simonw/llm/commit/67adad2c10be5c1898e3e1a664adb573f5d032cf.patch"; hash = "sha256-7+sBQvef94ZTUrqNKVzHzjFADNj1KNzA2tbGs5btwNA="; }) - ] - # See https://github.com/NixOS/nixpkgs/issues/476258 and https://github.com/simonw/llm/pull/1334 - # TODO: Remove when sqlite 3.52.x is released. - ++ lib.optionals (sqlite.version == "3.51.1") [ - (fetchpatch { - url = "https://github.com/simonw/llm/commit/6e24b883c3e3c4ddd2ec9006714d0a9ec17b59da.patch"; - hash = "sha256-4AKQdZCr6qxuWnjWoSW6I44hPL5e7tnvREx2Ns0WwNc="; - }) ]; postPatch = '' @@ -272,7 +263,7 @@ let meta = { homepage = "https://github.com/simonw/llm"; description = "Access large language models from the command-line"; - changelog = "https://github.com/simonw/llm/releases/tag/${src.tag}"; + changelog = "https://github.com/simonw/llm/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; mainProgram = "llm"; maintainers = with lib.maintainers; [ @@ -281,6 +272,6 @@ let philiptaron ]; }; - }; + }); in llm From 47aa26a790372f0fc3f26c3a451e19722ee027d0 Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Tue, 14 Jul 2026 04:06:17 +0000 Subject: [PATCH 14/53] python3Packages.sqlite-utils: modernize --- .../python-modules/sqlite-utils/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix index adda0b1e6696..b60e68605e07 100644 --- a/pkgs/development/python-modules/sqlite-utils/default.nix +++ b/pkgs/development/python-modules/sqlite-utils/default.nix @@ -1,7 +1,7 @@ { lib, buildPythonPackage, - fetchPypi, + fetchFromGitHub, click, click-default-group, python-dateutil, @@ -15,17 +15,19 @@ sqlite-utils, setuptools, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "sqlite-utils"; version = "4.1.1"; pyproject = true; + __structuredAttrs = true; build-system = [ setuptools ]; - src = fetchPypi { - inherit version; - pname = "sqlite_utils"; - hash = "sha256-z5fmILOUDNVByukRfMJK+WGm2kJhif22YvIPGVC6H0k="; + src = fetchFromGitHub { + owner = "simonw"; + repo = "sqlite-utils"; + tag = finalAttrs.version; + hash = "sha256-igf4d+5iyC+gYb9TL2JCNzTmTrCgRdR9gscTcfslDng="; }; dependencies = [ @@ -51,11 +53,11 @@ buildPythonPackage rec { description = "Python CLI utility and library for manipulating SQLite databases"; mainProgram = "sqlite-utils"; homepage = "https://github.com/simonw/sqlite-utils"; - changelog = "https://github.com/simonw/sqlite-utils/releases/tag/${version}"; + changelog = "https://github.com/simonw/sqlite-utils/releases/tag/${finalAttrs.version}"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ meatcar techknowlogick ]; }; -} +}) From 68dd877e3d3f28ab211d1d10beec3df5a813e386 Mon Sep 17 00:00:00 2001 From: Lein Matsumaru Date: Tue, 14 Jul 2026 15:14:17 +0000 Subject: [PATCH 15/53] python3Packages.textacy: fix build --- .../python-modules/textacy/default.nix | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix index 4fbaf9486083..651bee904baa 100644 --- a/pkgs/development/python-modules/textacy/default.nix +++ b/pkgs/development/python-modules/textacy/default.nix @@ -1,6 +1,8 @@ { lib, buildPythonPackage, + fetchFromGitHub, + setuptools, cachetools, cytoolz, fetchPypi, @@ -10,7 +12,6 @@ matplotlib, networkx, numpy, - pyemd, pyphen, pytestCheckHook, requests, @@ -20,26 +21,29 @@ tqdm, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "textacy"; version = "0.13.0"; pyproject = true; + __structuredAttrs = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-a+AkSMCPx9fE7fhSiQBuOaSlPvdHIB/yS2dcZS9AxoY="; + src = fetchFromGitHub { + owner = "chartbeat-labs"; + repo = "textacy"; + tag = finalAttrs.version; + hash = "sha256-QVxC9oV1X5ifQ9VVYissppni1A8LACz/FVgaoG5/GFU="; }; - propagatedBuildInputs = [ + build-system = [ setuptools ]; + + dependencies = [ cachetools cytoolz floret jellyfish joblib - matplotlib networkx numpy - pyemd pyphen requests scikit-learn @@ -48,6 +52,10 @@ buildPythonPackage rec { tqdm ]; + optional-dependencies = { + vis = [ matplotlib ]; + }; + nativeCheckInputs = [ pytestCheckHook ]; enabledTestPaths = [ @@ -64,6 +72,8 @@ buildPythonPackage rec { meta = { description = "Higher-level text processing, built on spaCy"; homepage = "https://textacy.readthedocs.io/"; + changelog = "https://github.com/chartbeat-labs/textacy/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.asl20; + maintainers = [ ]; }; -} +}) From 63b118e3270208700dca8676216302fd40006793 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Tue, 14 Jul 2026 09:10:41 -0700 Subject: [PATCH 16/53] python3Packages.uuid-utils: modernize --- .../development/python-modules/uuid-utils/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/development/python-modules/uuid-utils/default.nix b/pkgs/development/python-modules/uuid-utils/default.nix index 0e76ff406aa3..aebb314238c7 100644 --- a/pkgs/development/python-modules/uuid-utils/default.nix +++ b/pkgs/development/python-modules/uuid-utils/default.nix @@ -7,20 +7,21 @@ rustPlatform, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "uuid-utils"; version = "0.16.1"; pyproject = true; + __structuredAttrs = true; src = fetchFromGitHub { owner = "aminalaee"; repo = "uuid-utils"; - tag = version; + tag = finalAttrs.version; hash = "sha256-5pGBc1+2Vx0nIwhLFBy/Mx5GLLzA7Oj4eWPPCfBV1v4="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit pname src version; + inherit (finalAttrs) pname src version; hash = "sha256-o9fmecoYGu+UR0/Km6sGq5buVo8qHKnBSuvvfogmkx0="; }; @@ -50,8 +51,8 @@ buildPythonPackage rec { meta = { description = "Python bindings to Rust UUID"; homepage = "https://github.com/aminalaee/uuid-utils"; - changelog = "https://github.com/aminalaee/uuid-utils/releases/tag/${src.tag}"; + changelog = "https://github.com/aminalaee/uuid-utils/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) From e24285324ac86b6f0143464437177f899a791764 Mon Sep 17 00:00:00 2001 From: Sarah Clark Date: Tue, 14 Jul 2026 09:12:36 -0700 Subject: [PATCH 17/53] python3Packages.uuid-utils: 0.16.1 -> 0.17.0 --- pkgs/development/python-modules/uuid-utils/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/uuid-utils/default.nix b/pkgs/development/python-modules/uuid-utils/default.nix index aebb314238c7..e2e0b87c5573 100644 --- a/pkgs/development/python-modules/uuid-utils/default.nix +++ b/pkgs/development/python-modules/uuid-utils/default.nix @@ -9,7 +9,7 @@ buildPythonPackage (finalAttrs: { pname = "uuid-utils"; - version = "0.16.1"; + version = "0.17.0"; pyproject = true; __structuredAttrs = true; @@ -17,12 +17,12 @@ buildPythonPackage (finalAttrs: { owner = "aminalaee"; repo = "uuid-utils"; tag = finalAttrs.version; - hash = "sha256-5pGBc1+2Vx0nIwhLFBy/Mx5GLLzA7Oj4eWPPCfBV1v4="; + hash = "sha256-AshQOXB6o1CMByRn9um8E2Y4sexyRu4W8H3NelFe1HM="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit (finalAttrs) pname src version; - hash = "sha256-o9fmecoYGu+UR0/Km6sGq5buVo8qHKnBSuvvfogmkx0="; + hash = "sha256-vf6w+oYH3tdxvV5TLSgZOAXlFypCe2swjkw25VWCqB8="; }; nativeBuildInputs = with rustPlatform; [ From bf619da4fb5133ca7313a76a24530f52344a5ac9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Jul 2026 11:28:37 +0000 Subject: [PATCH 18/53] modrinth-app-unwrapped: 0.15.7 -> 0.15.11 --- pkgs/by-name/mo/modrinth-app-unwrapped/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix index 5d75e4a1c064..8b6a52acdebf 100644 --- a/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix +++ b/pkgs/by-name/mo/modrinth-app-unwrapped/package.nix @@ -31,13 +31,13 @@ in rustPlatform.buildRustPackage (finalAttrs: { pname = "modrinth-app-unwrapped"; - version = "0.15.7"; + version = "0.15.11"; src = fetchFromGitHub { owner = "modrinth"; repo = "code"; tag = "v${finalAttrs.version}"; - hash = "sha256-QBWRvctC9gPHLU8tX/GWJocx7hcNOfnTYeVY3Qbx2jo="; + hash = "sha256-F5jMmc0Rqnabxe7ayKbRjA0OZ+WRINILnB3bsyXJP5M="; }; patches = [ @@ -67,7 +67,7 @@ rustPlatform.buildRustPackage (finalAttrs: { --replace-fail '1.0.0-local' '${finalAttrs.version}' ''; - cargoHash = "sha256-HeEdvmf7ZR5/suanmJMYN3F/O/Xrk9Qza4l4kGahpf0="; + cargoHash = "sha256-UO8X/MvY5p1zkv53Xqig2itvP4x5XSXBzp1FDa+4YF0="; mitmCache = gradle.fetchDeps { inherit (finalAttrs) pname; @@ -78,7 +78,7 @@ rustPlatform.buildRustPackage (finalAttrs: { inherit (finalAttrs) pname version src; pnpm = pnpm_10; fetcherVersion = 3; - hash = "sha256-pbEKD8xkO7+//m0PBcAL62q0LC5YEKR+wOPGnzXIRJk="; + hash = "sha256-T5Qa47iXM+nic/nnRqGE6bGlDPpV1SEMT5KpX5TMaAQ="; }; nativeBuildInputs = [ From c8e2ff06a7e2c5e94475d64105f7f019c53b1841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 16 Jul 2026 15:24:25 +0200 Subject: [PATCH 19/53] music-assistant-desktop: 0.5.7 -> 0.5.9 Diff: https://github.com/music-assistant/desktop-app/compare/0.5.7...0.5.9 Changelog: https://github.com/music-assistant/desktop-app/releases/tag/0.5.9 --- pkgs/by-name/mu/music-assistant-desktop/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mu/music-assistant-desktop/package.nix b/pkgs/by-name/mu/music-assistant-desktop/package.nix index 725fd160b963..765490cdff45 100644 --- a/pkgs/by-name/mu/music-assistant-desktop/package.nix +++ b/pkgs/by-name/mu/music-assistant-desktop/package.nix @@ -32,13 +32,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "music-assistant-desktop"; - version = "0.5.7"; + version = "0.5.9"; src = fetchFromGitHub { owner = "music-assistant"; repo = "desktop-app"; tag = finalAttrs.version; - hash = "sha256-KKyIYSSIC134t46H7YOFNCdj4M/VoBrX9jN5aX/kSlc="; + hash = "sha256-hkG0e/WlnEQXdaYlE9tebzzE63l4RuwCVjHQVTcTo6Y="; }; patches = [ From c790223a69627a1228408a0ca7fac106c87e724a Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Jul 2026 17:09:33 +0000 Subject: [PATCH 20/53] pyfa: 2.67.0 -> 2.68.0 --- pkgs/by-name/py/pyfa/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/py/pyfa/package.nix b/pkgs/by-name/py/pyfa/package.nix index 034254572c8a..3a75269e3d9d 100644 --- a/pkgs/by-name/py/pyfa/package.nix +++ b/pkgs/by-name/py/pyfa/package.nix @@ -11,7 +11,7 @@ copyDesktopItems, }: let - version = "2.67.0"; + version = "2.68.0"; in python3Packages.buildPythonApplication rec { inherit version; @@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec { owner = "pyfa-org"; repo = "Pyfa"; tag = "v${version}"; - hash = "sha256-LS8KW6dZe/CYdA1LvZlq1vL8YllnDZkD9WEEDOToY1M="; + hash = "sha256-obx4YG75XxpdlaFlmFmkXdkazHERhm5boOzSx7zDRQs="; }; desktopItems = [ From 0d685d4908d048190d51ba4a72b8f57b15e14343 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 11 Jul 2026 16:55:50 -0500 Subject: [PATCH 21/53] citrix-workspace: fix icaroot passthru passthru.icaroot used an output placeholder outside a derivation string context, so module consumers received an unresolved path. Define the derivation with finalAttrs, then derive icaroot from finalPackage to expose the actual store path. --- pkgs/by-name/ci/citrix-workspace/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ci/citrix-workspace/package.nix b/pkgs/by-name/ci/citrix-workspace/package.nix index 21f67549a1d9..f3f0c2498c67 100644 --- a/pkgs/by-name/ci/citrix-workspace/package.nix +++ b/pkgs/by-name/ci/citrix-workspace/package.nix @@ -109,12 +109,12 @@ let in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "citrix-workspace"; version = "26.04.0.105"; src = requireFile rec { - name = "linuxx64-${version}.tar.gz"; + name = "linuxx64-${finalAttrs.version}.tar.gz"; sha256 = "1kl6b1ldjd9gb6cmvhxf6ggvc3amq1kz0qwjlb1fp6dxx0pivwm8"; message = '' @@ -123,7 +123,7 @@ stdenv.mkDerivation rec { https://www.citrix.com/downloads/workspace-app/betas-and-tech-previews/workspace-app-tp-gcc11-for-linux.html - (if you do not find version ${version} there, try at + (if you do not find version ${finalAttrs.version} there, try at https://www.citrix.com/downloads/workspace-app/) Once you have downloaded the file, please use the following command and re-run the @@ -139,7 +139,7 @@ stdenv.mkDerivation rec { __structuredAttrs = true; sourceRoot = "."; preferLocalBuild = true; - passthru.icaroot = "${placeholder "out"}/opt/citrix-icaclient"; + passthru.icaroot = "${finalAttrs.finalPackage}/opt/citrix-icaclient"; nativeBuildInputs = [ autoPatchelfHook @@ -435,4 +435,4 @@ stdenv.mkDerivation rec { ]; homepage = "https://www.citrix.com/downloads/workspace-app/betas-and-tech-previews/workspace-app-tp-gcc11-for-linux.html"; }; -} +}) From faded7ba04970a70f84a14d36099747ea88721b9 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Jul 2026 22:04:42 +0000 Subject: [PATCH 22/53] vscode-extensions.saoudrizwan.claude-dev: 3.89.2 -> 4.0.8 --- .../vscode/extensions/saoudrizwan.claude-dev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix index c4b9eee45455..2baf64ec3aa9 100644 --- a/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix +++ b/pkgs/applications/editors/vscode/extensions/saoudrizwan.claude-dev/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "claude-dev"; publisher = "saoudrizwan"; - version = "3.89.2"; - hash = "sha256-lDt/xn1PFs0UDg0rOOun8Bl/FTXSjvQ//ETkoHFypAM="; + version = "4.0.8"; + hash = "sha256-qSlz2wXQwpO1Wi9P40hVm+ACZ+VfCiV9LF3lnOkMoXA="; }; meta = { From f33fb952cd6b0291150ad358221711b68da90cbe Mon Sep 17 00:00:00 2001 From: nikstur Date: Fri, 17 Jul 2026 00:52:04 +0200 Subject: [PATCH 23/53] userborn: 0.5.0 -> 1.0.0 --- pkgs/by-name/us/userborn/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/us/userborn/package.nix b/pkgs/by-name/us/userborn/package.nix index 0ef3a4a3cfd9..98310531867d 100644 --- a/pkgs/by-name/us/userborn/package.nix +++ b/pkgs/by-name/us/userborn/package.nix @@ -9,18 +9,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "userborn"; - version = "0.5.0"; + version = "1.0.0"; src = fetchFromGitHub { owner = "nikstur"; repo = "userborn"; - rev = finalAttrs.version; - hash = "sha256-mXXakR75Iz6AFf/TYgIHE8SxOri2HyReYUYTT3lCEPA="; + tag = finalAttrs.version; + hash = "sha256-ZVO1Q6iumGVKA/35RYUBV79i9ECqNmjeHXAyjxikUfE="; }; sourceRoot = "${finalAttrs.src.name}/rust/userborn"; - cargoHash = "sha256-uAid5GsM9lasVQAYfeo9jwp4xg1MrXdJqtD0l6ME6OQ="; + cargoHash = "sha256-UNd4RMM8VbmRbEAr8ZDSbNwG07058jasMP0IqcIk7/E="; nativeBuildInputs = [ rustPlatform.bindgenHook ]; From 31252e5c081680bb4caa33082c0981659f90a9e5 Mon Sep 17 00:00:00 2001 From: pancaek <20342389+pancaek@users.noreply.github.com> Date: Thu, 16 Jul 2026 20:28:31 -0700 Subject: [PATCH 24/53] mpg123: move to by-name/ --- .../mpg123/default.nix => by-name/mp/mpg123/package.nix} | 4 ++-- pkgs/top-level/all-packages.nix | 4 ---- 2 files changed, 2 insertions(+), 6 deletions(-) rename pkgs/{applications/audio/mpg123/default.nix => by-name/mp/mpg123/package.nix} (98%) diff --git a/pkgs/applications/audio/mpg123/default.nix b/pkgs/by-name/mp/mpg123/package.nix similarity index 98% rename from pkgs/applications/audio/mpg123/default.nix rename to pkgs/by-name/mp/mpg123/package.nix index ea1663b170e1..b216a5368895 100644 --- a/pkgs/applications/audio/mpg123/default.nix +++ b/pkgs/by-name/mp/mpg123/package.nix @@ -11,7 +11,7 @@ libpulseaudio, withCoreAudio ? stdenv.hostPlatform.isDarwin, withJack ? stdenv.hostPlatform.isUnix, - jack, + libjack2, withConplay ? !stdenv.hostPlatform.isWindows, perl, writeScript, @@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optionals withPulse [ libpulseaudio ] ++ lib.optionals withCoreAudio [ ] - ++ lib.optionals withJack [ jack ] + ++ lib.optionals withJack [ libjack2 ] ); configureFlags = diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4e00dc626823..e2be794ebde3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9083,10 +9083,6 @@ with pkgs; mopidy-ytmusic ; - mpg123 = callPackage ../applications/audio/mpg123 { - jack = libjack2; - }; - libmpg123 = mpg123.override { libOnly = true; withConplay = false; From e58e0e8cfb1aab48dcbcaa9bb288311c4d8ee79a Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Tue, 14 Jul 2026 18:21:02 +0200 Subject: [PATCH 25/53] rust: add riscv32-none target platform --- pkgs/development/compilers/rust/binary.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix index 5e0e8a633ba2..f540e775dfd9 100644 --- a/pkgs/development/compilers/rust/binary.nix +++ b/pkgs/development/compilers/rust/binary.nix @@ -118,6 +118,7 @@ rec { "armv6l-netbsd" "mipsel-netbsd" "riscv64-netbsd" + "riscv32-none" "x86_64-redox" "wasm32-wasi" ]; From 615937a234bff4436d917d01bbb80ef98db23ba0 Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Tue, 14 Jul 2026 18:21:02 +0200 Subject: [PATCH 26/53] luna-soc: fix CSR register field collection on Python 3.14 --- pkgs/development/python-modules/luna-soc/default.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/development/python-modules/luna-soc/default.nix b/pkgs/development/python-modules/luna-soc/default.nix index 6501a47440c0..9c702bf0f72d 100644 --- a/pkgs/development/python-modules/luna-soc/default.nix +++ b/pkgs/development/python-modules/luna-soc/default.nix @@ -26,6 +26,14 @@ buildPythonPackage rec { substituteInPlace pyproject.toml \ --replace-fail '"setuptools-git-versioning<2"' "" \ --replace-fail 'dynamic = ["version"]' 'version = "${version}"' + + # Read CSR field annotations from the class, not the instance, so amaranth-soc + # works on Python 3.14 (PEP 649). https://github.com/greatscottgadgets/luna-soc/issues/48 + substituteInPlace luna_soc/gateware/vendor/amaranth_soc/csr/reg.py \ + --replace-fail 'if hasattr(self, "__annotations__"):' \ + 'if getattr(type(self), "__annotations__", None):' \ + --replace-fail 'filter_fields(self.__annotations__)' \ + 'filter_fields(type(self).__annotations__)' ''; build-system = [ From d9eba364faacac8b832e5ac916d3852b5e5f6455 Mon Sep 17 00:00:00 2001 From: Karolis Stasaitis Date: Tue, 14 Jul 2026 18:21:02 +0200 Subject: [PATCH 27/53] cynthion: build gateware bitstreams and moondancer firmware Co-authored-by: sapphire-arches <1514748+sapphire-arches@users.noreply.github.com> --- .../python-modules/cynthion/build_gateware.py | 112 ++++++++++++++++++ .../python-modules/cynthion/default.nix | 67 ++++++++--- .../python-modules/cynthion/moondancer.nix | 54 +++++++++ 3 files changed, 217 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/cynthion/build_gateware.py create mode 100644 pkgs/development/python-modules/cynthion/moondancer.nix diff --git a/pkgs/development/python-modules/cynthion/build_gateware.py b/pkgs/development/python-modules/cynthion/build_gateware.py new file mode 100644 index 000000000000..d5c9b11ff534 --- /dev/null +++ b/pkgs/development/python-modules/cynthion/build_gateware.py @@ -0,0 +1,112 @@ +#!/usr/bin/env python3 + +# Builds the FPGA bitstreams `cynthion flash` needs, one set per revision, into +# assets//{analyzer,facedancer,selftest}.bit + +import asyncio +import inspect +import logging +import os +import sys +from pathlib import Path + +import cynthion.gateware.platform + +logging.basicConfig(level=logging.INFO, format="%(asctime)s:%(name)32s:%(message)s") + +logger = logging.getLogger("build-gateware") + +BITSTREAMS = ["analyzer", "facedancer", "selftest"] + +# Pin the nextpnr placer seed so place-and-route is deterministic. Some +# bitstreams (e.g. CynthionPlatformRev1D3/analyzer) are marginal on timing, and +# without a fixed seed a build can non-deterministically miss the constraint. +NEXTPNR_SEED = 0 + + +async def build_bitstream( + semaphore: asyncio.Semaphore, assets_dir: Path, platform: str, bitstream: str +) -> None: + async with semaphore: + log = logging.getLogger(f"build-gateware.{platform}.{bitstream}") + log.info("build started") + + env = os.environ.copy() + env["LUNA_PLATFORM"] = f"cynthion.gateware.platform:{platform}" + env["AMARANTH_nextpnr_opts"] = f"--seed {NEXTPNR_SEED}" + + out_dir = assets_dir / platform + out_dir.mkdir(parents=True, exist_ok=True) + out_path = out_dir / f"{bitstream}.bit" + + process = await asyncio.create_subprocess_exec( + sys.executable, + "-m", + f"cynthion.gateware.{bitstream}.top", + "--output", + str(out_path), + env=env, + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.STDOUT, + ) + + stdout, _ = await process.communicate() + log.info("\n%s", stdout.decode("utf-8", errors="replace")) + + if process.returncode != 0: + raise RuntimeError( + f"{platform}/{bitstream} failed with exit code {process.returncode}" + ) + log.info("build complete") + + +def collect_platforms() -> set[str]: + platforms = { + name + for name, obj in inspect.getmembers(cynthion.gateware.platform) + if inspect.isclass(obj) and name.startswith("CynthionPlatform") + } + + # Allow restricting the set of platforms during development/CI, e.g. + # BUILD_GATEWARE_PLATFORMS="CynthionPlatformRev1D4" + only = os.getenv("BUILD_GATEWARE_PLATFORMS") + if only: + requested = set(only.split()) + unknown = requested - platforms + if unknown: + raise ValueError(f"unknown platform(s): {', '.join(sorted(unknown))}") + platforms = requested + + return platforms + + +async def main() -> int: + assets_dir = Path(sys.argv[1]) + max_workers = int(os.getenv("BUILD_GATEWARE_MAX_WORKERS") or 1) + + platforms = collect_platforms() + logger.info( + "Building %d bitstream(s) for platforms: %s", + len(platforms) * len(BITSTREAMS), + ", ".join(sorted(platforms)), + ) + + semaphore = asyncio.Semaphore(max_workers) + logger.info("Building gateware with %d workers", max_workers) + + results = await asyncio.gather( + *( + build_bitstream(semaphore, assets_dir, platform, bitstream) + for platform in sorted(platforms) + for bitstream in BITSTREAMS + ), + return_exceptions=True, + ) + + failures = [r for r in results if isinstance(r, BaseException)] + for failure in failures: + logger.error(failure) + return 1 if failures else 0 + + +sys.exit(asyncio.run(main())) diff --git a/pkgs/development/python-modules/cynthion/default.nix b/pkgs/development/python-modules/cynthion/default.nix index b61edaeda1db..ab508ccc66d6 100644 --- a/pkgs/development/python-modules/cynthion/default.nix +++ b/pkgs/development/python-modules/cynthion/default.nix @@ -2,6 +2,14 @@ lib, fetchFromGitHub, buildPythonPackage, + callPackage, + python, + + # gateware (FPGA toolchain) + nextpnr, + trellis, + which, + yosys, # build-system setuptools, @@ -25,10 +33,8 @@ pytestCheckHook, udevCheckHook, }: -buildPythonPackage rec { - pname = "cynthion"; +let version = "0.2.5"; - pyproject = true; src = fetchFromGitHub { owner = "greatscottgadgets"; @@ -37,6 +43,14 @@ buildPythonPackage rec { hash = "sha256-Ju01eqBVZ7CD0pw4nIFML4LcCPXzC78dLpQru3a+5bU="; }; + # Moondancer SoC firmware, required for `cynthion flash facedancer`. + moondancer = callPackage ./moondancer.nix { inherit src version; }; +in +buildPythonPackage { + pname = "cynthion"; + inherit version src; + pyproject = true; + sourceRoot = "${src.name}/cynthion/python"; postPatch = '' @@ -45,14 +59,19 @@ buildPythonPackage rec { --replace-fail 'dynamic = ["version"]' 'version = "${version}"' ''; - nativeBuildInputs = [ udevCheckHook ]; + nativeBuildInputs = [ + udevCheckHook - build-system = [ - setuptools + # Used by the gateware build in postInstall. + nextpnr + trellis + which + yosys ]; - pythonRelaxDeps = [ "pygreat" ]; + build-system = [ setuptools ]; + pythonRelaxDeps = [ "pygreat" ]; pythonRemoveDeps = [ "future" ]; dependencies = [ @@ -71,18 +90,34 @@ buildPythonPackage rec { tqdm ]; - nativeCheckInputs = [ - pytestCheckHook - ]; + nativeCheckInputs = [ pytestCheckHook ]; + + # Build the per-revision FPGA bitstreams in parallel (see build_gateware.py). + enableParallelBuilding = true; pythonImportsCheck = [ "cynthion" ]; - # Make udev rules available for NixOS option services.udev.packages - postInstall = '' - install -Dm444 \ - -t $out/lib/udev/rules.d \ - build/lib/cynthion/assets/54-cynthion.rules - ''; + postInstall = + let + assets = "$out/${python.sitePackages}/cynthion/assets"; + in + '' + # Build a bitstream set per hardware revision into assets/, where + # `cynthion flash` looks for them. + export BUILD_GATEWARE_MAX_WORKERS="''${NIX_BUILD_CORES:-1}" + PYTHONPATH="$out/${python.sitePackages}''${PYTHONPATH:+:$PYTHONPATH}" \ + python ${./build_gateware.py} "${assets}" + + # Install the moondancer SoC firmware for `cynthion flash facedancer`. + install -Dm444 ${moondancer}/bin/moondancer.bin "${assets}/moondancer.bin" + + # Make udev rules available for NixOS option services.udev.packages + install -Dm444 \ + -t $out/lib/udev/rules.d \ + build/lib/cynthion/assets/54-cynthion.rules + ''; + + passthru = { inherit moondancer; }; meta = { description = "Python package and utilities for the Great Scott Gadgets Cynthion USB Test Instrument"; diff --git a/pkgs/development/python-modules/cynthion/moondancer.nix b/pkgs/development/python-modules/cynthion/moondancer.nix new file mode 100644 index 000000000000..e71d828dda1f --- /dev/null +++ b/pkgs/development/python-modules/cynthion/moondancer.nix @@ -0,0 +1,54 @@ +{ + lib, + src, + version, + stdenv, + llvmPackages, +}: +let + # Moondancer SoC firmware, cross-compiled for the bare-metal riscv32imac + # VexRiscv softcore inside the facedancer gateware. + cross = import ../../../.. { + localSystem = stdenv.hostPlatform.system; + crossSystem = lib.systems.examples.riscv32-embedded // { + rust.rustcTarget = "riscv32imac-unknown-none-elf"; + }; + }; + + inherit (cross) rustPlatform; +in +rustPlatform.buildRustPackage { + pname = "moondancer"; + + inherit version src; + + sourceRoot = "${src.name}/firmware"; + + cargoHash = "sha256-G/9evh3G1xNRaaEh6lgDp3hnVlB3MaCwXuhGnGJCd0Q="; + + # fails to build otherwise + auditable = false; + + nativeBuildInputs = [ + llvmPackages.bintools + ]; + + # lld strips live code without link-dead-code; memory.x (workspace root) and + # link.x (from riscv-rt) are the linker scripts. + RUSTFLAGS = "-C linker=lld -C link-arg=-Tmemory.x -C link-arg=-Tlink.x -C link-dead-code"; + + # cynthion flash needs a raw image, not an ELF (as upstream's + # `cargo objcopy -Obinary`). + postInstall = '' + llvm-objcopy -O binary \ + $out/bin/moondancer \ + $out/bin/moondancer.bin + ''; + + meta = { + description = "Moondancer SoC firmware for the Great Scott Gadgets Cynthion"; + homepage = "https://github.com/greatscottgadgets/cynthion"; + license = lib.licenses.bsd3; + platforms = [ "riscv32-none" ]; + }; +} From 8bc54dc05f57da1b69f03631dd655d6f71994b7f Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 07:51:07 +0000 Subject: [PATCH 28/53] censor: 0.7.2 -> 0.8.0 --- pkgs/by-name/ce/censor/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ce/censor/package.nix b/pkgs/by-name/ce/censor/package.nix index f75d73689274..d922d13afe51 100644 --- a/pkgs/by-name/ce/censor/package.nix +++ b/pkgs/by-name/ce/censor/package.nix @@ -13,14 +13,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "censor"; - version = "0.7.2"; + version = "0.8.0"; pyproject = false; src = fetchFromCodeberg { owner = "censor"; repo = "Censor"; tag = "v${finalAttrs.version}"; - hash = "sha256-444EGJCNnRRkuTzm4HdapUvwphx9EavxeyAI0Sxh8G8="; + hash = "sha256-WxD2tK6vTYpvy/0BDzwAymdl4uCJNkgw7HBUrMrDlXQ="; }; nativeBuildInputs = [ From 83c9ad52ff6e9247b70da69634e691394a6d0485 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 08:37:26 +0000 Subject: [PATCH 29/53] androidStudioPackages.canary: 2026.1.3.3 -> 2026.1.4.1 --- pkgs/applications/editors/android-studio/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index 530acb7debf5..6623930e8771 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -26,9 +26,9 @@ let url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.2.9/android-studio-quail2-rc2-linux.tar.gz"; }; latestVersion = { - version = "2026.1.3.3"; # "Android Studio Quail 3 | 2026.1.3 Canary 3" - sha256Hash = "sha256-C8rbR+0iGNzsr7HtiNiFw++ZG9/t00/c1Ozr9ngssPs="; - url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.3.3/android-studio-quail3-canary3-linux.tar.gz"; + version = "2026.1.4.1"; # "Android Studio Quail 4 | 2026.1.4 Canary 1" + sha256Hash = "sha256-ynHUoMDsTNgKKRAU948k37ktAIlIm9A+md8KyVBTjl4="; + url = "https://edgedl.me.gvt1.com/android/studio/ide-zips/2026.1.4.1/android-studio-quail4-canary1-linux.tar.gz"; }; in { From 4678fe9cd8f389bfd3c4ad251d1a01db0f23b913 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 09:10:12 +0000 Subject: [PATCH 30/53] hydralauncher: 4.0.4 -> 4.0.5 --- pkgs/by-name/hy/hydralauncher/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/hy/hydralauncher/package.nix b/pkgs/by-name/hy/hydralauncher/package.nix index 4a851918421a..6a4348de37f5 100644 --- a/pkgs/by-name/hy/hydralauncher/package.nix +++ b/pkgs/by-name/hy/hydralauncher/package.nix @@ -6,10 +6,10 @@ }: let pname = "hydralauncher"; - version = "4.0.4"; + version = "4.0.5"; src = fetchurl { url = "https://github.com/hydralauncher/hydra/releases/download/v${version}/hydralauncher-${version}.AppImage"; - hash = "sha256-0ORi6JAhws3HgApmwv7sgC9gJE/KcKtKxgz3CKD6BSw="; + hash = "sha256-9TAsBiSJ9ZjGoKuHDbPibu/ZDBM9kdk9BlY5zKysVQ4="; }; appimageContents = appimageTools.extractType2 { inherit pname src version; }; From 4cf8b9a7c50c1be35ac9d02359a953d274486e9d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 12:29:31 +0000 Subject: [PATCH 31/53] osmo-hlr: 1.9.2 -> 1.9.3 --- pkgs/by-name/os/osmo-hlr/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/os/osmo-hlr/package.nix b/pkgs/by-name/os/osmo-hlr/package.nix index ccde871dae95..27e8fe9cceb6 100644 --- a/pkgs/by-name/os/osmo-hlr/package.nix +++ b/pkgs/by-name/os/osmo-hlr/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "osmo-hlr"; - version = "1.9.2"; + version = "1.9.3"; src = fetchFromGitHub { owner = "osmocom"; repo = "osmo-hlr"; rev = finalAttrs.version; - hash = "sha256-SYyL7evxxmXGwv2TLr8ZuIrbu+GliAyuz/sKTIveQvc="; + hash = "sha256-+wAwMP3zoFFOlZa4LhCr2hxP97mEZPViniwoOxpINyk="; }; postPatch = '' From 2ad8504644ca6c3d50dbf1b4fa200c982020d2b0 Mon Sep 17 00:00:00 2001 From: "Adam C. Stephens" Date: Fri, 17 Jul 2026 09:23:06 -0400 Subject: [PATCH 32/53] walker: 2.16.2 -> 2.17.0 Changelog: https://github.com/abenz1267/walker/releases/tag/v2.17.0 --- pkgs/by-name/wa/walker/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/wa/walker/package.nix b/pkgs/by-name/wa/walker/package.nix index f3e31c5ea85e..1387775fd3f3 100644 --- a/pkgs/by-name/wa/walker/package.nix +++ b/pkgs/by-name/wa/walker/package.nix @@ -20,16 +20,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "walker"; - version = "2.16.2"; + version = "2.17.0"; src = fetchFromGitHub { owner = "abenz1267"; repo = "walker"; rev = "v${finalAttrs.version}"; - hash = "sha256-fX3ErzTmHRO9z1SzHC2VZUgKOgRfO13X/joC5a3QN7Q="; + hash = "sha256-gxHJsrJZo2qbKK47Kf/9ho3i/HhRwkL8XvPnczGPd9E="; }; - cargoHash = "sha256-gm7xQ7qHui8F+uJBWKh7Fen0Zfi/YqpbdgNSoqar0wA="; + cargoHash = "sha256-TkBdBgUa0fMN/Eddi0qycNjNgYaVECRFbrXixOEpQnc="; nativeBuildInputs = [ gobject-introspection From aa1aa0b6949113ce8b0f48af388d306e011e646b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 14:16:02 +0000 Subject: [PATCH 33/53] terraform-providers.scaleway_scaleway: 2.78.0 -> 2.79.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 42666d2053b4..fde7a420dd44 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -1184,13 +1184,13 @@ "vendorHash": "sha256-uCw5Xdqp3VjLj6IytoVfO0atxkT69FNqJmAlA6eCmfs=" }, "scaleway_scaleway": { - "hash": "sha256-rO5xmAJB2ndhVh7Lkun1Gxi04+I2lGVtkbbCbmngp3E=", + "hash": "sha256-NXW3b4E92uqZbzIpRTFKVKbPRghwfRK4akn4KY7C9p0=", "homepage": "https://registry.terraform.io/providers/scaleway/scaleway", "owner": "scaleway", "repo": "terraform-provider-scaleway", - "rev": "v2.78.0", + "rev": "v2.79.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-x2cppxUU58nN7eu+wMxIoS16HezxzkHWI50ck2r34ls=" + "vendorHash": "sha256-MKYAdMLETD12850TIBqBfHLRNLy15B6ycDUckIapwt8=" }, "scottwinkler_shell": { "hash": "sha256-LTWEdXxi13sC09jh+EFZ6pOi1mzuvgBz5vceIkNE/JY=", From 78e61f689fb0afadfa61d01e06696abf8346724e Mon Sep 17 00:00:00 2001 From: Niklas Korz Date: Fri, 17 Jul 2026 17:09:29 +0200 Subject: [PATCH 34/53] gram: fix darwin build Similar to the build failure we had on zed-editor, git must be in the build inputs to ensure the link is not considered broken in fixup. --- pkgs/by-name/gr/gram/package.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/by-name/gr/gram/package.nix b/pkgs/by-name/gr/gram/package.nix index 894b90cddfc5..2f860f540a62 100644 --- a/pkgs/by-name/gr/gram/package.nix +++ b/pkgs/by-name/gr/gram/package.nix @@ -80,6 +80,9 @@ rustPlatform.buildRustPackage (finalAttrs: { fontconfig libxcb libxkbcommon + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + git ]; cargoBuildFlags = [ From 00627c1b9f5a279c077a9dfdcc5b79c8d135be29 Mon Sep 17 00:00:00 2001 From: emilylange Date: Fri, 17 Jul 2026 18:00:41 +0200 Subject: [PATCH 35/53] forgejo: 15.0.5 -> 16.0.0 https://forgejo.org/2026-07-release-v16-0/ https://codeberg.org/forgejo/forgejo/milestone/70071 --- pkgs/by-name/fo/forgejo/generic.nix | 26 ++++++++++++++++++++++++++ pkgs/by-name/fo/forgejo/lts.nix | 12 +++++++++++- pkgs/by-name/fo/forgejo/package.nix | 10 +++++----- 3 files changed, 42 insertions(+), 6 deletions(-) mode change 120000 => 100644 pkgs/by-name/fo/forgejo/lts.nix diff --git a/pkgs/by-name/fo/forgejo/generic.nix b/pkgs/by-name/fo/forgejo/generic.nix index 413b070c3143..ec5555d62af9 100644 --- a/pkgs/by-name/fo/forgejo/generic.nix +++ b/pkgs/by-name/fo/forgejo/generic.nix @@ -12,6 +12,7 @@ bash, brotli, buildGoModule, + coreutils, fetchpatch, forgejo, git, @@ -79,6 +80,9 @@ buildGoModule rec { git openssh writableTmpDirAsHomeHook + ] + ++ lib.optionals (lib.versionAtLeast version "16") [ + coreutils ]; patches = [ @@ -116,6 +120,23 @@ buildGoModule rec { # TestRunHookPrePostReceive (cmd/hook_test.go) needs .git to pass git init + '' + # Unlike NixOS, the Nix build sandbox has no /usr/bin/env and we + # can't just create it, so Forgejo trying to execute git hooks + # that have #!/usr/bin/env as shebang fails with: + # + # To /build/repos44353414/user2/repo1.wiki.git + # ! [remote rejected] fda09356fb8b1da00546f764933f9dacda1b44ea -> master (pre-receive hook declined) + # error: failed to push some refs to '/build/repos44353414/user2/repo1.wiki.git' + # - remote: fatal: cannot exec '/build/appdata2719412950/home/hooks/pre-receive': No such file or directory + # + # We also can't just call patchShebangs because the hooks are + # created just in time by the test suite. Patching the source of + # the hooks after go build but before go test is oddly enough + # the least invasive hack to have those tests pass. + + lib.optionalString (lib.versionAtLeast version "16") '' + substituteInPlace modules/git/hook_generate.go \ + --replace-fail "#!/usr/bin/env" "#!${lib.getExe' coreutils "env"}" ''; checkFlags = @@ -124,6 +145,11 @@ buildGoModule rec { "TestPassword" # requires network: api.pwnedpasswords.com "TestCaptcha" # requires network: hcaptcha.com "TestDNSUpdate" # requires network: release.forgejo.org + ] + ++ lib.optionals (lib.versionAtLeast version "16") [ + "TestMigrateRepository" # requires network: codeberg.org + ] + ++ [ "TestMigrateWhiteBlocklist" # requires network: gitlab.com (DNS) "TestURLAllowedSSH/Pushmirror_URL" # requires network git.gay (DNS) "TestBleveDeleteIssue" # Known Flake-y https://github.com/NixOS/nixpkgs/issues/509878 diff --git a/pkgs/by-name/fo/forgejo/lts.nix b/pkgs/by-name/fo/forgejo/lts.nix deleted file mode 120000 index 8d225ed3269a..000000000000 --- a/pkgs/by-name/fo/forgejo/lts.nix +++ /dev/null @@ -1 +0,0 @@ -package.nix \ No newline at end of file diff --git a/pkgs/by-name/fo/forgejo/lts.nix b/pkgs/by-name/fo/forgejo/lts.nix new file mode 100644 index 000000000000..6c4609ae7b43 --- /dev/null +++ b/pkgs/by-name/fo/forgejo/lts.nix @@ -0,0 +1,11 @@ +import ./generic.nix { + version = "15.0.5"; + hash = "sha256-S+x/YEfQrYIzHLnZ7LDLnkMYVN3TajwS7SHydM8uMPQ="; + npmDepsHash = "sha256-BZSYjEsjUqMYWu3EUP+K35hqSOniv8Y6ek5bEC2vTPg="; + vendorHash = "sha256-00QiJ8W76FdG96fmsIRLkaYlMQTZoIRmRd/qYGyPuig="; + lts = true; + nixUpdateExtraArgs = [ + "--override-filename" + "pkgs/by-name/fo/forgejo/lts.nix" + ]; +} diff --git a/pkgs/by-name/fo/forgejo/package.nix b/pkgs/by-name/fo/forgejo/package.nix index 474e72baff85..a192df6c43b6 100644 --- a/pkgs/by-name/fo/forgejo/package.nix +++ b/pkgs/by-name/fo/forgejo/package.nix @@ -1,9 +1,9 @@ import ./generic.nix { - version = "15.0.5"; - hash = "sha256-S+x/YEfQrYIzHLnZ7LDLnkMYVN3TajwS7SHydM8uMPQ="; - npmDepsHash = "sha256-BZSYjEsjUqMYWu3EUP+K35hqSOniv8Y6ek5bEC2vTPg="; - vendorHash = "sha256-00QiJ8W76FdG96fmsIRLkaYlMQTZoIRmRd/qYGyPuig="; - lts = true; + version = "16.0.0"; + hash = "sha256-BZawFbrtcxftX4/Yk32aoVRQ6Kg+k1FhN9IoH6dxvVY="; + npmDepsHash = "sha256-UhivpUqNJvc3zHxdRVAWT9x68jG1KnQa8yS4KkL2W5g="; + vendorHash = "sha256-cb6f7ZX3pG95EEZotGXn6+YUJN59SFNVHFTejFJ6y28="; + lts = false; nixUpdateExtraArgs = [ "--override-filename" "pkgs/by-name/fo/forgejo/package.nix" From 0cf4096e7449ca842652dda3bd915a84ebc8b1b2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 17:47:31 +0000 Subject: [PATCH 36/53] mcp-server-git: 2026.7.4 -> 2026.7.10 --- pkgs/by-name/mc/mcp-server-git/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mc/mcp-server-git/package.nix b/pkgs/by-name/mc/mcp-server-git/package.nix index c4e17c4d543b..98140ce96260 100644 --- a/pkgs/by-name/mc/mcp-server-git/package.nix +++ b/pkgs/by-name/mc/mcp-server-git/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "mcp-server-git"; - version = "2026.7.4"; + version = "2026.7.10"; pyproject = true; src = fetchFromGitHub { owner = "modelcontextprotocol"; repo = "servers"; tag = finalAttrs.version; - hash = "sha256-rBdJoTC1wOEMbAAeSccFqaHL7lacf2SFfxZ/pp2Lx90="; + hash = "sha256-ORihWA8Xx7WAPo2+vRPpYNF9CGfc1sjmW+NfUKBGzxs="; }; sourceRoot = "${finalAttrs.src.name}/src/git/"; From 7eb5f481468cdd1f3bf5a84b43b0c059ee2c3fac Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Thu, 16 Jul 2026 20:11:24 -0700 Subject: [PATCH 37/53] ci/github-script/bot: label llm-assisted PRs accordingly Discussed in AGENTS.md debate PR Assisted by https://regex101.com/, my brain, and love for humanity and free software Signed-off-by: Ethan Carter Edwards --- ci/github-script/bot.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ci/github-script/bot.js b/ci/github-script/bot.js index 8e0043d5505c..684e3e33179a 100644 --- a/ci/github-script/bot.js +++ b/ci/github-script/bot.js @@ -395,6 +395,13 @@ module.exports = async ({ github, context, core, dry }) => { pull_number, per_page: 100, }) + + // label llm-assisted PRs accordingly + const assistedByPattern = /Assisted-by: (?!nix-init)/i + evalLabels['llm-assisted'] = prCommits.some((c) => + assistedByPattern.test(c.commit.message), + ) + const commitSubjects = prCommits.map( (c) => c.commit.message.split('\n')[0], ) From a148bdf623f2260395d9565e7e9d61bf17d36ccf Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 17:50:01 +0000 Subject: [PATCH 38/53] mcp-server-time: 2026.7.4 -> 2026.7.10 --- pkgs/by-name/mc/mcp-server-time/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mc/mcp-server-time/package.nix b/pkgs/by-name/mc/mcp-server-time/package.nix index 3b2b41b224a4..33e53dc6bac0 100644 --- a/pkgs/by-name/mc/mcp-server-time/package.nix +++ b/pkgs/by-name/mc/mcp-server-time/package.nix @@ -6,14 +6,14 @@ python3Packages.buildPythonApplication (finalAttrs: { pname = "mcp-server-time"; - version = "2026.7.4"; + version = "2026.7.10"; pyproject = true; src = fetchFromGitHub { owner = "modelcontextprotocol"; repo = "servers"; tag = finalAttrs.version; - hash = "sha256-rBdJoTC1wOEMbAAeSccFqaHL7lacf2SFfxZ/pp2Lx90="; + hash = "sha256-ORihWA8Xx7WAPo2+vRPpYNF9CGfc1sjmW+NfUKBGzxs="; }; sourceRoot = "${finalAttrs.src.name}/src/time/"; From 4feedf4759a8d0f2aca0993378aee871bbd2f078 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 18:44:44 +0000 Subject: [PATCH 39/53] torrserver: 142 -> 142.1 --- pkgs/by-name/to/torrserver/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/to/torrserver/package.nix b/pkgs/by-name/to/torrserver/package.nix index 8c949fbe425b..c763d55d531e 100644 --- a/pkgs/by-name/to/torrserver/package.nix +++ b/pkgs/by-name/to/torrserver/package.nix @@ -7,15 +7,15 @@ }: buildGo126Module rec { pname = "torrserver"; - version = "142"; + version = "142.1"; src = fetchFromGitHub { owner = "YouROK"; repo = "TorrServer"; tag = "MatriX.${version}"; - sha256 = "sha256-bAnnDbrKYfU3WdjwIW4GGDST4S13KIhGNoQQtI27UaQ="; + sha256 = "sha256-/CNY1wQxEs3rzHx04s1LWVNnN10JmiLjh48WBo2nid8="; }; - vendorHash = "sha256-B5BAmdFuLWDkbp/lehFziyHXcMPIAgNySgTPv9Nv680="; + vendorHash = "sha256-M9rI/AU5ZWJre8B92OoGZZBd1C3bc4R8+r0SYAgY/C4="; modRoot = "server"; subPackages = [ "cmd" ]; From d42e0f3b00c989f18c1417419d2c055ce0735d56 Mon Sep 17 00:00:00 2001 From: saffr3n <91146584+saffr3n@users.noreply.github.com> Date: Fri, 17 Jul 2026 22:13:15 +0300 Subject: [PATCH 40/53] emmylua-ls: 0.23.2 -> 0.24.0 --- pkgs/by-name/em/emmylua-ls/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/em/emmylua-ls/package.nix b/pkgs/by-name/em/emmylua-ls/package.nix index 3f3def1bca0a..a50b5b411ad0 100644 --- a/pkgs/by-name/em/emmylua-ls/package.nix +++ b/pkgs/by-name/em/emmylua-ls/package.nix @@ -9,13 +9,13 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "emmylua_ls"; - version = "0.23.2"; + version = "0.24.0"; src = fetchFromGitHub { owner = "EmmyLuaLs"; repo = "emmylua-analyzer-rust"; tag = finalAttrs.version; - hash = "sha256-xjKTYzkfFWKyQzg6I2aafKBGn7XjkE8CCQ9AP8ebu/I="; + hash = "sha256-oijk0SFTjpIak9AetBfctMXJ/72bRGjuaib9adx1yac="; }; __structuredAttrs = true; @@ -34,7 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: { buildAndTestSubdir = "crates/emmylua_ls"; - cargoHash = "sha256-tVmATUh35h19AsmMCrijJ0rdBHYU6uMj2PE1iiiuDCE="; + cargoHash = "sha256-8uzkj7uCV3XzdagsrePwt2DE4MV12xlbwsaBONUymFQ="; nativeInstallCheckInputs = [ versionCheckHook From beb90090d4f85b507e1f723ac60d05dff5b1c950 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 19:46:51 +0000 Subject: [PATCH 41/53] kiro-cli: 2.10.0 -> 2.13.0 --- pkgs/by-name/ki/kiro-cli/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ki/kiro-cli/package.nix b/pkgs/by-name/ki/kiro-cli/package.nix index 295cfe09be35..3e41ce545e9c 100644 --- a/pkgs/by-name/ki/kiro-cli/package.nix +++ b/pkgs/by-name/ki/kiro-cli/package.nix @@ -14,21 +14,21 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "kiro-cli"; - version = "2.10.0"; + version = "2.13.0"; src = { x86_64-linux = fetchurl { url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/kirocli-x86_64-linux.tar.gz"; - hash = "sha256-cJl6CyYCzbLpB6m+W9Tx7enaPzijgjOBjdmG6CPMM8k="; + hash = "sha256-8qEnlNv8lQK3SCjYJ/AdfWB/RELpjLI0VQ7n4vKA7DI="; }; aarch64-linux = fetchurl { url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/kirocli-aarch64-linux.tar.gz"; - hash = "sha256-39hKSRi1l5ruSqObViksJkufiCOvLTaIkQzT3sNQFQQ="; + hash = "sha256-uKR5ZxuijDgfIJ4DmDVhN5XGHDyOyiRkLcTie2iuzZU="; }; aarch64-darwin = fetchurl { url = "https://desktop-release.q.us-east-1.amazonaws.com/${finalAttrs.version}/Kiro%20CLI.dmg"; - hash = "sha256-NDeyXQO9NBsK3xqAEcO1gGn9ta+ZVQ1GNwZ4hbGUe3Q="; + hash = "sha256-GAK8+adzrEc1kXtHVCNC1aU09C86D9mroSQv7dXvbfo="; }; } .${system} or (throw "Unsupported system: ${system}"); From 5ae52c6fdec751544345ee70fd23c7a941ff1037 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 19:50:05 +0000 Subject: [PATCH 42/53] antigravity-cli: 1.0.12 -> 1.1.4 --- pkgs/by-name/an/antigravity-cli/package.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/an/antigravity-cli/package.nix b/pkgs/by-name/an/antigravity-cli/package.nix index 455485d6a4bb..790ea78b87b7 100644 --- a/pkgs/by-name/an/antigravity-cli/package.nix +++ b/pkgs/by-name/an/antigravity-cli/package.nix @@ -6,8 +6,8 @@ versionCheckHook, }: let - version = "1.0.12"; - buildId = "6156052174077952"; + version = "1.1.4"; + buildId = "5165726265376768"; wholeVersion = "${version}-${buildId}"; throwSystem = throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"; @@ -15,15 +15,15 @@ let sourceData = { x86_64-linux = fetchurl { url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/${wholeVersion}/linux-x64/cli_linux_x64.tar.gz"; - hash = "sha256-fjB132jrrViqHPQiMenYuDvyiVtbBYqxc2sLY4PHUAg="; + hash = "sha256-qHY/CIE65zGFDg2CfMbm06f4xn3mvLIUUhCj7Bh37tE="; }; aarch64-linux = fetchurl { url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/${wholeVersion}/linux-arm/cli_linux_arm64.tar.gz"; - hash = "sha256-oDZ+WHWsG4imwLFjyG69XRPJvvkH9EaaZRb/aQIb8tQ="; + hash = "sha256-9dlI6XbTTLuhRdo+32gE39DWGcMIhikd45kkAj3oGO8="; }; aarch64-darwin = fetchurl { url = "https://storage.googleapis.com/antigravity-public/antigravity-cli/${wholeVersion}/darwin-arm/cli_mac_arm64.tar.gz"; - hash = "sha256-U/cwihF/cP5+7KSmkAToI5yOoYydguR5ZrKQMytpuCk="; + hash = "sha256-qhfFyMNvppzI01rjcpq/xUUTYiTsP38Y5ZpqkZMCSJs="; }; }; in From 3f8ce5894508cc1b688f612930b1d5e2d0e16ec3 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 20:07:18 +0000 Subject: [PATCH 43/53] terraform-providers.checkly_checkly: 1.25.0 -> 1.26.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 28c6a1fa04f1..7def5aaf5550 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -155,13 +155,13 @@ "vendorHash": "sha256-SO3CX7pZ+q7ytz/55cxTPlW7ByY1zKhxkQxMiqAvm8o=" }, "checkly_checkly": { - "hash": "sha256-9kcZXbrfl8ovrg1w3bWdta/ABnLtVIfseRptZn5NrgI=", + "hash": "sha256-or9qjJdA8sDmPnETyedWtsAWEsF9hJdDmPpX+qncN7E=", "homepage": "https://registry.terraform.io/providers/checkly/checkly", "owner": "checkly", "repo": "terraform-provider-checkly", - "rev": "v1.25.0", + "rev": "v1.26.0", "spdx": null, - "vendorHash": "sha256-7XgTkzYBfkpF8Dd4YsgpB+YIfkANsg/60b3AyO8Y8FA=" + "vendorHash": "sha256-nB77EpptqXhF+7/85h37CRQUk/iyq1ffSc2v2kQwFAQ=" }, "ciscodevnet_aci": { "hash": "sha256-8QnmISiZGRbW60mN9I6UYWDo6f2HUIFersVs/pDUD3o=", From 3b914e7044d4eb6342cfb11787fee368b20a27bc Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 20:53:26 +0000 Subject: [PATCH 44/53] jsonschema-cli: 0.47.0 -> 0.48.0 --- pkgs/by-name/js/jsonschema-cli/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/js/jsonschema-cli/package.nix b/pkgs/by-name/js/jsonschema-cli/package.nix index 2c8a4cbe45a8..00151b83fb15 100644 --- a/pkgs/by-name/js/jsonschema-cli/package.nix +++ b/pkgs/by-name/js/jsonschema-cli/package.nix @@ -9,15 +9,15 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "jsonschema-cli"; - version = "0.47.0"; + version = "0.48.0"; src = fetchCrate { pname = "jsonschema-cli"; inherit (finalAttrs) version; - hash = "sha256-0U9NBfkpqCZnNQIxQhNjErX/LehI3xOcUvHiYRKwrXo="; + hash = "sha256-nQblUoTzrheAQA6wlT/p/x72eATD3gUUjgBneMu6L2E="; }; - cargoHash = "sha256-q/3Nvl+hND94im0mzHqZRepE8GcB5Fec/0HurPgqOmY="; + cargoHash = "sha256-rm5v5S11mJRoyhUnSFXLKu/znKClnI6hOQY7qDpyb/U="; preCheck = '' export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt From d26e383033c4298d2fa870c40ae5a1a0ac8174b5 Mon Sep 17 00:00:00 2001 From: Lyn Date: Fri, 17 Jul 2026 20:53:28 +0000 Subject: [PATCH 45/53] sable-unwrapped: 1.19.4 -> 1.20.0 --- pkgs/by-name/sa/sable-unwrapped/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/sa/sable-unwrapped/package.nix b/pkgs/by-name/sa/sable-unwrapped/package.nix index 6cb5d792e1e4..7a604c0ae930 100644 --- a/pkgs/by-name/sa/sable-unwrapped/package.nix +++ b/pkgs/by-name/sa/sable-unwrapped/package.nix @@ -20,13 +20,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { strictDeps = true; pname = "sable-unwrapped"; - version = "1.19.4"; + version = "1.20.0"; src = fetchFromGitHub { owner = "SableClient"; repo = "Sable"; tag = "v${finalAttrs.version}"; - hash = "sha256-GI4ZXmqPTWt3WlTQDkjVfRWhiJnd3mdq5paA3/TGMEA="; + hash = "sha256-ams6Uwblo5mUzah9hlCPCUMXtrLtiUtRWwwKH4uabmk="; }; pnpmDeps = fetchPnpmDeps { From 64cd191c4fa39e00955c18eee9c76d6127003258 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 20:58:23 +0000 Subject: [PATCH 46/53] terraform-providers.linode_linode: 3.14.1 -> 4.1.0 --- .../networking/cluster/terraform-providers/providers.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 28c6a1fa04f1..9cbd7d0178e4 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -851,13 +851,13 @@ "vendorHash": "sha256-OgKOjLwDQxJiv+VWdOzjMcUDPu9LOuhyTRyLyM39vLM=" }, "linode_linode": { - "hash": "sha256-aOLto01ntce/l+1ZcQf5Rsdu6ptgpYWpf5JpJ0zRUNs=", + "hash": "sha256-N/SVZ1ajNRT53zxdYBT6Hd/wwAuKhEre0QSZUYbkwGA=", "homepage": "https://registry.terraform.io/providers/linode/linode", "owner": "linode", "repo": "terraform-provider-linode", - "rev": "v3.14.1", + "rev": "v4.1.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-dnvv6sSzEUZ4Hbrq/pAgi/O1RyxCx89omCVzvCe70S0=" + "vendorHash": "sha256-r5T8kmvCb2iBUJqw5m7hrr+ET7U9kIBUbsvEVqZlgrE=" }, "loafoe_htpasswd": { "hash": "sha256-1HCvAGWsYlcYCA8iOmBb/AawxHPLuoxxQWLzNy0x79M=", From d83946a9eea65310a994032c78c77a2ef1aa0a6f Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 17 Jul 2026 23:20:00 +0200 Subject: [PATCH 47/53] forgejo: remove unused coreutils from nativeCheckInputs --- pkgs/by-name/fo/forgejo/generic.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/by-name/fo/forgejo/generic.nix b/pkgs/by-name/fo/forgejo/generic.nix index ec5555d62af9..e1b7277aba7f 100644 --- a/pkgs/by-name/fo/forgejo/generic.nix +++ b/pkgs/by-name/fo/forgejo/generic.nix @@ -13,7 +13,6 @@ brotli, buildGoModule, coreutils, - fetchpatch, forgejo, git, gzip, @@ -80,9 +79,6 @@ buildGoModule rec { git openssh writableTmpDirAsHomeHook - ] - ++ lib.optionals (lib.versionAtLeast version "16") [ - coreutils ]; patches = [ From e44b628f92c414d4be04ea1c0d66f807997155f3 Mon Sep 17 00:00:00 2001 From: Chris Moultrie <821688+tebriel@users.noreply.github.com> Date: Mon, 2 Mar 2026 11:22:48 -0500 Subject: [PATCH 48/53] python3Packages.flask-dramatiq: 0.6.0 -> 0.8.0 --- .../python-modules/flask-dramatiq/default.nix | 33 ++++++++++--------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/pkgs/development/python-modules/flask-dramatiq/default.nix b/pkgs/development/python-modules/flask-dramatiq/default.nix index 3dece04ef7a3..86514a6bad44 100644 --- a/pkgs/development/python-modules/flask-dramatiq/default.nix +++ b/pkgs/development/python-modules/flask-dramatiq/default.nix @@ -2,11 +2,13 @@ lib, buildPythonPackage, dramatiq, - fetchFromGitLab, + fetchFromGitHub, flask-migrate, + flask-sqlalchemy, flask, + httpx, periodiq, - poetry-core, + hatchling, postgresql, postgresqlTestHook, psycopg2, @@ -16,35 +18,33 @@ requests, }: -buildPythonPackage { +buildPythonPackage (finalAttrs: { pname = "flask-dramatiq"; - version = "0.6.0"; + version = "0.8.0"; pyproject = true; - src = fetchFromGitLab { - owner = "bersace"; + src = fetchFromGitHub { + owner = "pallets-eco"; repo = "flask-dramatiq"; - rev = "840209e9bf582b4dda468e8bba515f248f3f8534"; - hash = "sha256-qjV1zyVzHPXMt+oUeGBdP9XVlbcSz2MF9Zygj543T4w="; + tag = "v${finalAttrs.version}"; + hash = "sha256-Gt9yynbmFWMISP1U0jRjU6oY3ImrLxYa2D0xf0llCEg="; }; postPatch = '' - substituteInPlace pyproject.toml \ - --replace 'poetry>=0.12' 'poetry-core' \ - --replace 'poetry.masonry.api' 'poetry.core.masonry.api' - patchShebangs --build ./example.py ''; - build-system = [ poetry-core ]; + build-system = [ hatchling ]; pythonRelaxDeps = [ "dramatiq" ]; dependencies = [ dramatiq ]; nativeCheckInputs = [ + flask-sqlalchemy flask flask-migrate + httpx periodiq postgresql postgresqlTestHook @@ -54,7 +54,8 @@ buildPythonPackage { pytestCheckHook requests ] - ++ dramatiq.optional-dependencies.rabbitmq; + ++ dramatiq.optional-dependencies.rabbitmq + ++ dramatiq.optional-dependencies.watch; postgresqlTestSetupPost = '' substituteInPlace config.py \ @@ -72,8 +73,8 @@ buildPythonPackage { meta = { description = "Adds Dramatiq support to your Flask application"; - homepage = "https://gitlab.com/bersace/flask-dramatiq"; + homepage = "https://github.com/pallets-eco/flask-dramatiq"; license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ traxys ]; }; -} +}) From a73b37840cc2d97bedd8f78411fab8daa10b1f5a Mon Sep 17 00:00:00 2001 From: Chris Moultrie <821688+tebriel@users.noreply.github.com> Date: Mon, 2 Mar 2026 11:23:09 -0500 Subject: [PATCH 49/53] python3Packages.periodiq: 0.13.0 -> 0.14.0 --- .../python-modules/periodiq/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/periodiq/default.nix b/pkgs/development/python-modules/periodiq/default.nix index 701bc88bc670..a8b718302086 100644 --- a/pkgs/development/python-modules/periodiq/default.nix +++ b/pkgs/development/python-modules/periodiq/default.nix @@ -2,7 +2,7 @@ lib, buildPythonPackage, fetchFromGitLab, - poetry-core, + uv-build, dramatiq, pendulum, setuptools, @@ -13,27 +13,28 @@ buildPythonPackage rec { pname = "periodiq"; - version = "0.13.0"; + version = "0.14.0"; pyproject = true; src = fetchFromGitLab { owner = "bersace"; repo = "periodiq"; tag = "v${version}"; - hash = "sha256-Pyh/T3/HGPYyaXjyM0wkQ1V7p5ibqxE1Q62QwCIJ8To="; + hash = "sha256-XYQ0cR0gdiX7GePqpMDG/Ml0CK+SBcNbsNB99FZ/D3I="; }; postPatch = '' substituteInPlace pyproject.toml \ - --replace-fail 'poetry>=0.12' 'poetry-core' \ - --replace-fail 'poetry.masonry.api' 'poetry.core.masonry.api' + --replace-fail "uv_build>=0.11,<0.12" uv_build ''; - pythonRelaxDeps = [ "dramatiq" ]; + pythonRelaxDeps = [ + "dramatiq" + ]; - nativeBuildInputs = [ poetry-core ]; + build-system = [ uv-build ]; - propagatedBuildInputs = [ + dependencies = [ dramatiq pendulum setuptools From a16d05931dbdad7245e45674906c4a16d3e7b8af Mon Sep 17 00:00:00 2001 From: Chris Moultrie <821688+tebriel@users.noreply.github.com> Date: Mon, 2 Mar 2026 10:38:47 -0500 Subject: [PATCH 50/53] fittrackee: 0.11.2 -> 1.3.3 --- doc/release-notes/rl-2611.section.md | 3 +- pkgs/by-name/fi/fittrackee/package.nix | 77 +++++++++++++++----------- 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/doc/release-notes/rl-2611.section.md b/doc/release-notes/rl-2611.section.md index 2d03b3d265fd..092c950e980f 100644 --- a/doc/release-notes/rl-2611.section.md +++ b/doc/release-notes/rl-2611.section.md @@ -80,8 +80,7 @@ ### Breaking changes {#sec-nixpkgs-release-26.11-lib-breaking} -- Create the first release note entry in this section! - +- `fittrackee` 1.0.0 now requires postgres with postgis. The [upgrade guide](https://docs.fittrackee.org/en/upgrading-to-1.0.0.html) has steps to prepare for this upgrade. ### Deprecations {#sec-nixpkgs-release-26.11-lib-deprecations} diff --git a/pkgs/by-name/fi/fittrackee/package.nix b/pkgs/by-name/fi/fittrackee/package.nix index f261ac07eae6..ed8611772707 100644 --- a/pkgs/by-name/fi/fittrackee/package.nix +++ b/pkgs/by-name/fi/fittrackee/package.nix @@ -1,49 +1,51 @@ { - fetchFromGitHub, + fetchFromCodeberg, + fetchNpmDeps, lib, stdenv, + nodejs_24, + npmHooks, postgresql, postgresqlTestHook, python3Packages, }: python3Packages.buildPythonApplication (finalAttrs: { pname = "fittrackee"; - version = "0.11.2"; + version = "1.3.3"; pyproject = true; - src = fetchFromGitHub { - owner = "SamR1"; + src = fetchFromCodeberg { + owner = "FitTrackee"; repo = "FitTrackee"; tag = "v${finalAttrs.version}"; - hash = "sha256-A9gebHxNCpYUUIm7IjyySojIIyuTxfYCUeUufpUM1iA="; + hash = "sha256-XWR9gg52pfg0lHoFikQ2wVhvkPCTjTTndBYqBzYPB8s="; }; + makeCacheWritable = true; + npmRoot = "fittrackee_client"; + + npmDeps = fetchNpmDeps { + inherit (finalAttrs) pname version src; + hash = "sha256-HEgof2ln+mBxM63Dv8Lc/bfx3ozoJCRYYyJOz6jh+Vs="; + sourceRoot = "${finalAttrs.src.name}/fittrackee_client"; + }; + + nativeBuildInputs = [ + nodejs_24 + npmHooks.npmConfigHook + ]; + + preBuild = '' + pushd fittrackee_client + npm run build-only + popd + ''; + build-system = [ python3Packages.poetry-core ]; - # The upstream project changed the behavior of the CLI when --set-admin and --set-role are used together. - # Previously, it would raise an error, but now it issues a deprecation warning. - # This patch updates the test assertion to expect the new deprecation warning message. - # See upstream commit 6eda1b6119b3e41bdf8896e74b4a07d3c9e97609. - postPatch = '' - substituteInPlace fittrackee/tests/users/test_users_commands.py \ - --replace '"--set-admin and --set-role can not be used together."' '"WARNING: --set-admin is deprecated. Please use --set-role option instead."' - ''; - - pythonRelaxDeps = [ - "authlib" - "fitdecode" - "flask" - "flask-limiter" - "flask-migrate" - "nh3" - "lxml" - "pyopenssl" - "pytz" - "sqlalchemy" - "xmltodict" - ]; + pythonRelaxDeps = true; dependencies = with python3Packages; @@ -53,21 +55,31 @@ python3Packages.buildPythonApplication (finalAttrs: { click dramatiq dramatiq-abort + feedgenerator fitdecode flask + flask-babel flask-bcrypt flask-dramatiq flask-limiter flask-migrate flask-sqlalchemy + geoalchemy2 + geopandas gpxpy gunicorn humanize jsonschema + lxml + mistune nh3 + numpy + pandas psycopg2-binary pyjwt pyopenssl + pyproj + python-magic pytz shortuuid sqlalchemy @@ -76,7 +88,9 @@ python3Packages.buildPythonApplication (finalAttrs: { xmltodict ] ++ dramatiq.optional-dependencies.redis - ++ flask-limiter.optional-dependencies.redis; + ++ flask-limiter.optional-dependencies.redis + ++ geoalchemy2.optional-dependencies.shapely + ++ staticmap3.optional-dependencies.filecache; pythonImportsCheck = [ "fittrackee" ]; @@ -84,7 +98,7 @@ python3Packages.buildPythonApplication (finalAttrs: { pytestCheckHook freezegun postgresqlTestHook - postgresql + (postgresql.withPackages (ps: with ps; [ postgis ])) time-machine ]; @@ -93,6 +107,7 @@ python3Packages.buildPythonApplication (finalAttrs: { ]; postgresqlTestSetupPost = '' + echo "CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology;" | PGUSER=postgres psql test_db export DATABASE_TEST_URL=postgresql://$PGUSER/$PGDATABASE?host=$PGHOST ''; @@ -105,8 +120,8 @@ python3Packages.buildPythonApplication (finalAttrs: { meta = { description = "Self-hosted outdoor activity tracker"; - homepage = "https://github.com/SamR1/FitTrackee"; - changelog = "https://github.com/SamR1/FitTrackee/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + homepage = "https://docs.fittrackee.org/"; + changelog = "https://codeberg.org/FitTrackee/FitTrackee/src/tag/${finalAttrs.src.tag}/CHANGELOG.md"; license = lib.licenses.agpl3Only; maintainers = with lib.maintainers; [ tebriel From da91c257c29d16d299c721e086e6081ebbd6e480 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Fri, 17 Jul 2026 21:51:42 +0000 Subject: [PATCH 51/53] tdlib: 1.8.65 -> 1.8.66 --- pkgs/by-name/td/tdlib/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/td/tdlib/package.nix b/pkgs/by-name/td/tdlib/package.nix index 9fb8828d6d60..a65f7254d08d 100644 --- a/pkgs/by-name/td/tdlib/package.nix +++ b/pkgs/by-name/td/tdlib/package.nix @@ -38,7 +38,7 @@ in stdenv.mkDerivation { pname = if tde2eOnly then "tde2e" else "tdlib"; - version = "1.8.65"; + version = "1.8.66"; src = fetchFromGitHub { owner = "tdlib"; @@ -47,8 +47,8 @@ stdenv.mkDerivation { # The tdlib authors do not set tags for minor versions, but # external programs depending on tdlib constrain the minor # version, hence we set a specific commit with a known version. - rev = "a8f21f5230172634becc1739050ef23ecd6ea291"; - hash = "sha256-cCNXRyeu6ZMf/0oxipPPUyniGuLzvWFLWCvklPIYvzk="; + rev = "a9966eb3704a3351568c28013fed67d797c17828"; + hash = "sha256-lCfQIehcH5jNQ7rOR6U4Ht+LCcmQRqkRtl0TFuYVdJg="; }; buildInputs = [ From 0a215e1b9edf18d5de4dd29c68561cd2e6807f25 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 18 Jul 2026 00:14:43 +0200 Subject: [PATCH 52/53] evcc: 0.311.1 -> 0.312.0 https://github.com/evcc-io/evcc/releases/tag/0.312.0 --- pkgs/by-name/ev/evcc/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/ev/evcc/package.nix b/pkgs/by-name/ev/evcc/package.nix index 89a475328079..3b14b2c3110f 100644 --- a/pkgs/by-name/ev/evcc/package.nix +++ b/pkgs/by-name/ev/evcc/package.nix @@ -17,16 +17,16 @@ }: let - version = "0.311.1"; + version = "0.312.0"; src = fetchFromGitHub { owner = "evcc-io"; repo = "evcc"; tag = version; - hash = "sha256-dxP28NPW+V30XIzh2w++Glrb2xfZ0tpp4H+qOM13yt8="; + hash = "sha256-GUHKrjCGm9LRQX5INdzSMPBV19FtaV8DTN3HIEUrxR4="; }; - vendorHash = "sha256-Eh07T9FAoeoUfhJsK6DPmwE2rJX55Ijzp4ydxJc8/bQ="; + vendorHash = "sha256-x4iwvzf7iv6TyLEkTnqztDQrBD+3lT1yycB7yTD4xO4="; commonMeta = { license = lib.licenses.mit; From e8638ad0b5c1ec70e110141ceec8c968e123babe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Thu, 16 Jul 2026 12:29:39 +0000 Subject: [PATCH 53/53] python3Packages.nvchecker: 2.20 -> 2.21 Co-authored-by: Michael Daniels --- .../python-modules/nvchecker/default.nix | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix index 77f0fbf89911..1317b88aa8c0 100644 --- a/pkgs/development/python-modules/nvchecker/default.nix +++ b/pkgs/development/python-modules/nvchecker/default.nix @@ -2,7 +2,9 @@ lib, awesomeversion, buildPythonPackage, + cacert, docutils, + dulwich, fetchFromGitHub, flaky, installShellFiles, @@ -12,6 +14,7 @@ packaging, platformdirs, pycurl, + pygit2, pytest-asyncio, pytestCheckHook, pytest-httpbin, @@ -22,16 +25,16 @@ zstandard, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "nvchecker"; - version = "2.20"; + version = "2.21"; pyproject = true; src = fetchFromGitHub { owner = "lilydjwg"; repo = "nvchecker"; - tag = "v${version}"; - hash = "sha256-udwflm3C7C6Q7rSA0x0+8uf1F5quy2okf2IyZqKtA3E="; + tag = "v${finalAttrs.version}"; + hash = "sha256-XQrroiuDM9ISmfQLUbYIAzBOSYtO6q1MXqMfC3X8BUI="; }; __darwinAllowLocalNetworking = true; @@ -57,6 +60,12 @@ buildPythonPackage rec { htmlparser = [ lxml ]; rpmrepo = [ lxml ] ++ lib.optionals (pythonOlder "3.14") [ zstandard ]; jq = [ jq ]; + git_pygit2 = [ pygit2 ]; + git_dulwich = [ dulwich ]; + }; + + env = lib.optionalAttrs finalAttrs.doInstallCheck { + SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; }; nativeCheckInputs = [ @@ -64,7 +73,8 @@ buildPythonPackage rec { pytest-asyncio pytest-httpbin pytestCheckHook - ]; + ] + ++ builtins.concatLists (builtins.attrValues finalAttrs.passthru.optional-dependencies); postBuild = '' patchShebangs docs/myrst2man.py @@ -84,8 +94,8 @@ buildPythonPackage rec { meta = { description = "New version checker for software"; homepage = "https://github.com/lilydjwg/nvchecker"; - changelog = "https://github.com/lilydjwg/nvchecker/releases/tag/${src.tag}"; + changelog = "https://github.com/lilydjwg/nvchecker/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ mdaniels5757 ]; }; -} +})