From 258889fd5cea71f105880bd1017af810c522df7c Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 2 Jan 2026 14:33:00 +0100 Subject: [PATCH 1/8] radicle-httpd: use finalAttrs pattern --- pkgs/by-name/ra/radicle-httpd/package.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index 7ff24edcab0d..be2fe96de635 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -10,22 +10,24 @@ stdenv, xdg-utils, }: -rustPlatform.buildRustPackage rec { + +rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-httpd"; version = "0.20.0"; - env.RADICLE_VERSION = version; + + env.RADICLE_VERSION = finalAttrs.version; # You must update the radicle-explorer source hash when changing this. src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; node = "z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; sparseCheckout = [ "radicle-httpd" ]; hash = "sha256-9rJH4ECqOJ9wnYxCbEFHXo3PlhbPdeOnF+Pf1MzX25c="; }; - sourceRoot = "${src.name}/radicle-httpd"; + sourceRoot = "${finalAttrs.src.name}/radicle-httpd"; cargoHash = "sha256-1GWWtrSYzTXUAgjeWaxyOuDqTDuTMWleug8SmxTHXbI="; @@ -79,4 +81,4 @@ rustPlatform.buildRustPackage rec { ]; mainProgram = "radicle-httpd"; }; -} +}) From f71fbc8ad41d25457f0a6e2a5bed27ae1f963f0c Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 2 Jan 2026 14:39:27 +0100 Subject: [PATCH 2/8] radicle-httpd: add versionCheckHook --- pkgs/by-name/ra/radicle-httpd/package.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index be2fe96de635..b6ca2feba0b1 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -9,6 +9,7 @@ rustPlatform, stdenv, xdg-utils, + versionCheckHook, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -61,6 +62,10 @@ rustPlatform.buildRustPackage (finalAttrs: { done ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + meta = { description = "Radicle JSON HTTP API Daemon"; longDescription = '' From f1f7c8bfdd67fe5238f541a77755ce3970f55187 Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 2 Jan 2026 14:45:11 +0100 Subject: [PATCH 3/8] radicle-httpd: add updateScript --- pkgs/by-name/ra/radicle-httpd/package.nix | 2 ++ pkgs/by-name/ra/radicle-httpd/update.sh | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100755 pkgs/by-name/ra/radicle-httpd/update.sh diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index b6ca2feba0b1..0f816353176d 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -66,6 +66,8 @@ rustPlatform.buildRustPackage (finalAttrs: { versionCheckProgramArg = "--version"; doInstallCheck = true; + passthru.updateScript = ./update.sh; + meta = { description = "Radicle JSON HTTP API Daemon"; longDescription = '' diff --git a/pkgs/by-name/ra/radicle-httpd/update.sh b/pkgs/by-name/ra/radicle-httpd/update.sh new file mode 100755 index 000000000000..a4a805f1d7c1 --- /dev/null +++ b/pkgs/by-name/ra/radicle-httpd/update.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p coreutils gnused gitMinimal nix-update + +set -euo pipefail + +dirname="$(dirname "${BASH_SOURCE[0]}")" + +url=$(nix-instantiate --eval --raw -A radicle-httpd.src.url) +old_node=$(nix-instantiate --eval --raw -A radicle-httpd.src.node) + +ref=$(git ls-remote "$url" 'refs/namespaces/*/refs/tags/v0*' \ + | cut -f2 | grep -Ev '\^\{\}$' | sort -t/ -k6rV | head -1) +[[ "$ref" =~ ^refs/namespaces/([^/]+)/refs/tags/v([^/]+)$ ]] +new_node="${BASH_REMATCH[1]}" +version="${BASH_REMATCH[2]}" + +sed -i "s/${old_node}/${new_node}/g" "${dirname}/package.nix" +nix-update --version="$version" radicle-httpd +nix-update --version=skip radicle-explorer From 72a832d4f3386c3fb9c793d3d2fd2df690561a3a Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 2 Jan 2026 13:54:02 +0000 Subject: [PATCH 4/8] radicle-httpd: 0.20.0 -> 0.22.0 --- pkgs/by-name/ra/radicle-explorer/package.nix | 2 +- pkgs/by-name/ra/radicle-httpd/package.nix | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/by-name/ra/radicle-explorer/package.nix b/pkgs/by-name/ra/radicle-explorer/package.nix index 15686e7c5a94..3976622b6d68 100644 --- a/pkgs/by-name/ra/radicle-explorer/package.nix +++ b/pkgs/by-name/ra/radicle-explorer/package.nix @@ -75,7 +75,7 @@ lib.fix ( # radicle-httpd using a more limited sparse checkout we need to carry a # separate hash. src = radicle-httpd.src.override { - hash = "sha256-1OhZ0x21NlZIiTPCRpvdUsx5UmeLecTjVzH8DWllPr8="; + hash = "sha256-PzokSJkcyFDAaih5gekp4GCQMm0sfF7fAK7iZbX1/S4="; sparseCheckout = [ ]; }; diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index 0f816353176d..a3b1670ac501 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -14,7 +14,7 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "radicle-httpd"; - version = "0.20.0"; + version = "0.22.0"; env.RADICLE_VERSION = finalAttrs.version; @@ -22,15 +22,15 @@ rustPlatform.buildRustPackage (finalAttrs: { src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; - node = "z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM"; + node = "z6MkwPUeUS2fJMfc2HZN1RQTQcTTuhw4HhPySB8JeUg2mVvx"; tag = "v${finalAttrs.version}"; sparseCheckout = [ "radicle-httpd" ]; - hash = "sha256-9rJH4ECqOJ9wnYxCbEFHXo3PlhbPdeOnF+Pf1MzX25c="; + hash = "sha256-NA5U+Ac6imbtNabvaeYATfUbbmT48uqWAcbJ+ukJcDs="; }; sourceRoot = "${finalAttrs.src.name}/radicle-httpd"; - cargoHash = "sha256-1GWWtrSYzTXUAgjeWaxyOuDqTDuTMWleug8SmxTHXbI="; + cargoHash = "sha256-9xyuoOuoFWu7oItQporJuGA8EIfEMrCvPaRPnwYMzmM="; nativeBuildInputs = [ asciidoctor From ae05fb90b11becb380cd614af9183bef33c40283 Mon Sep 17 00:00:00 2001 From: Defelo Date: Wed, 7 Jan 2026 22:00:18 +0100 Subject: [PATCH 5/8] radicle-httpd: link nixos test --- pkgs/by-name/ra/radicle-httpd/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index a3b1670ac501..490120aa2580 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -10,6 +10,7 @@ stdenv, xdg-utils, versionCheckHook, + nixosTests, }: rustPlatform.buildRustPackage (finalAttrs: { @@ -66,7 +67,10 @@ rustPlatform.buildRustPackage (finalAttrs: { versionCheckProgramArg = "--version"; doInstallCheck = true; - passthru.updateScript = ./update.sh; + passthru = { + tests = { inherit (nixosTests) radicle; }; + updateScript = ./update.sh; + }; meta = { description = "Radicle JSON HTTP API Daemon"; From b5e15007cf3bbfa48c27fde517301a8e66ec00b6 Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 2 Jan 2026 14:55:38 +0100 Subject: [PATCH 6/8] radicle-httpd: add defelo as maintainer --- pkgs/by-name/ra/radicle-httpd/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index 490120aa2580..1db4bcd36534 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -89,6 +89,7 @@ rustPlatform.buildRustPackage (finalAttrs: { maintainers = with lib.maintainers; [ gador lorenzleutgeb + defelo ]; mainProgram = "radicle-httpd"; }; From 4cbc4ab9c8f16c608cd6582737712012d90a4b62 Mon Sep 17 00:00:00 2001 From: Defelo Date: Fri, 2 Jan 2026 14:56:00 +0100 Subject: [PATCH 7/8] radicle-explorer: add defelo as maintainer --- pkgs/by-name/ra/radicle-explorer/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ra/radicle-explorer/package.nix b/pkgs/by-name/ra/radicle-explorer/package.nix index 3976622b6d68..908549bc7d56 100644 --- a/pkgs/by-name/ra/radicle-explorer/package.nix +++ b/pkgs/by-name/ra/radicle-explorer/package.nix @@ -114,6 +114,7 @@ lib.fix ( maintainers = with lib.maintainers; [ tazjin lorenzleutgeb + defelo ]; }; } From c4680ce32479a7b49f12b9ed917a2d69262dc476 Mon Sep 17 00:00:00 2001 From: Defelo Date: Thu, 8 Jan 2026 20:46:09 +0100 Subject: [PATCH 8/8] radicle-httpd: use canonical release tag --- pkgs/by-name/ra/radicle-httpd/package.nix | 3 +-- pkgs/by-name/ra/radicle-httpd/update.sh | 17 ++--------------- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/pkgs/by-name/ra/radicle-httpd/package.nix b/pkgs/by-name/ra/radicle-httpd/package.nix index 1db4bcd36534..ad75b7928b4b 100644 --- a/pkgs/by-name/ra/radicle-httpd/package.nix +++ b/pkgs/by-name/ra/radicle-httpd/package.nix @@ -23,8 +23,7 @@ rustPlatform.buildRustPackage (finalAttrs: { src = fetchFromRadicle { seed = "seed.radicle.xyz"; repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; - node = "z6MkwPUeUS2fJMfc2HZN1RQTQcTTuhw4HhPySB8JeUg2mVvx"; - tag = "v${finalAttrs.version}"; + tag = "releases/${finalAttrs.version}"; sparseCheckout = [ "radicle-httpd" ]; hash = "sha256-NA5U+Ac6imbtNabvaeYATfUbbmT48uqWAcbJ+ukJcDs="; }; diff --git a/pkgs/by-name/ra/radicle-httpd/update.sh b/pkgs/by-name/ra/radicle-httpd/update.sh index a4a805f1d7c1..212d9bf7210c 100755 --- a/pkgs/by-name/ra/radicle-httpd/update.sh +++ b/pkgs/by-name/ra/radicle-httpd/update.sh @@ -1,19 +1,6 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p coreutils gnused gitMinimal nix-update +#!nix-shell -i bash -p coreutils gnugrep common-updater-scripts nix-update -set -euo pipefail - -dirname="$(dirname "${BASH_SOURCE[0]}")" - -url=$(nix-instantiate --eval --raw -A radicle-httpd.src.url) -old_node=$(nix-instantiate --eval --raw -A radicle-httpd.src.node) - -ref=$(git ls-remote "$url" 'refs/namespaces/*/refs/tags/v0*' \ - | cut -f2 | grep -Ev '\^\{\}$' | sort -t/ -k6rV | head -1) -[[ "$ref" =~ ^refs/namespaces/([^/]+)/refs/tags/v([^/]+)$ ]] -new_node="${BASH_REMATCH[1]}" -version="${BASH_REMATCH[2]}" - -sed -i "s/${old_node}/${new_node}/g" "${dirname}/package.nix" +version=$(list-git-tags | grep -oP '^releases/\K\d+\.\d+\.\d+$' | sort -rV | head -1) nix-update --version="$version" radicle-httpd nix-update --version=skip radicle-explorer