fetchRadiclePatch: init (#438646)

This commit is contained in:
Matthias Beyer
2025-09-10 08:28:23 +02:00
committed by GitHub
4 changed files with 62 additions and 0 deletions

View File

@@ -914,6 +914,21 @@ fetchFromRadicle {
} }
``` ```
## `fetchRadiclePatch` {#fetchradiclepatch}
`fetchRadiclePatch` works very similarly to `fetchFromRadicle` with almost the same arguments
expected. However, instead of a `rev` or `tag` argument, a `revision` argument is expected, which
contains the full revision id of the Radicle patch to fetch.
```nix
fetchRadiclePatch {
seed = "rosa.radicle.xyz";
repo = "z4V1sjrXqjvFdnCUbxPFqd5p4DtH5"; # radicle-explorer
revision = "d97d872386c70607beda2fb3fc2e60449e0f4ce4"; # patch: d77e064
hash = "sha256-ttnNqj0lhlSP6BGzEhhUOejKkkPruM9yMwA5p9Di4bk=";
}
```
## `requireFile` {#requirefile} ## `requireFile` {#requirefile}
`requireFile` allows requesting files that cannot be fetched automatically, but whose content is known. `requireFile` allows requesting files that cannot be fetched automatically, but whose content is known.

View File

@@ -1675,6 +1675,9 @@
"fetchfromradicle": [ "fetchfromradicle": [
"index.html#fetchfromradicle" "index.html#fetchfromradicle"
], ],
"fetchradiclepatch": [
"index.html#fetchradiclepatch"
],
"requirefile": [ "requirefile": [
"index.html#requirefile" "index.html#requirefile"
], ],

View File

@@ -0,0 +1,43 @@
{
fetchFromRadicle,
jq,
lib,
}:
lib.makeOverridable (
{
revision,
postFetch ? "",
nativeBuildInputs ? [ ],
...
}@args:
assert lib.assertMsg (
!args ? rev && !args ? tag
) "fetchRadiclePatch does not accept `rev` or `tag` arguments.";
fetchFromRadicle (
{
nativeBuildInputs = [ jq ] ++ nativeBuildInputs;
rev = revision;
leaveDotGit = true;
postFetch = ''
{ read -r head; read -r base; } < <(jq -r '.oid, .base' $out/0)
git -C $out fetch --depth=1 "$url" "$base" "$head"
git -C $out diff "$base" "$head" > patch
rm -r $out
mv patch $out
${postFetch}
'';
}
// removeAttrs args [
"revision"
"postFetch"
"nativeBuildInputs"
"leaveDotGit"
]
)
// {
inherit revision;
}
)

View File

@@ -692,6 +692,7 @@ with pkgs;
fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz { }; fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz { };
fetchFromRadicle = callPackage ../build-support/fetchradicle { }; fetchFromRadicle = callPackage ../build-support/fetchradicle { };
fetchRadiclePatch = callPackage ../build-support/fetchradiclepatch { };
fetchgx = callPackage ../build-support/fetchgx { }; fetchgx = callPackage ../build-support/fetchgx { };