fetchRadiclePatch: init (#438646)
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -1675,6 +1675,9 @@
|
|||||||
"fetchfromradicle": [
|
"fetchfromradicle": [
|
||||||
"index.html#fetchfromradicle"
|
"index.html#fetchfromradicle"
|
||||||
],
|
],
|
||||||
|
"fetchradiclepatch": [
|
||||||
|
"index.html#fetchradiclepatch"
|
||||||
|
],
|
||||||
"requirefile": [
|
"requirefile": [
|
||||||
"index.html#requirefile"
|
"index.html#requirefile"
|
||||||
],
|
],
|
||||||
|
|||||||
43
pkgs/build-support/fetchradiclepatch/default.nix
Normal file
43
pkgs/build-support/fetchradiclepatch/default.nix
Normal 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;
|
||||||
|
}
|
||||||
|
)
|
||||||
@@ -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 { };
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user