fetchFromSourcehut: init

This commit is contained in:
luc65r 2020-10-31 11:28:06 +01:00 committed by Lucas Ransan
parent 8aca4a8fa7
commit 83a0627f33
No known key found for this signature in database
GPG Key ID: 37E8293E1B8B2307
3 changed files with 31 additions and 0 deletions

View File

@ -68,3 +68,7 @@ This is used with Savannah repositories. The arguments expected are very similar
## `fetchFromRepoOrCz` ## `fetchFromRepoOrCz`
This is used with repo.or.cz repositories. The arguments expected are very similar to fetchFromGitHub above. This is used with repo.or.cz repositories. The arguments expected are very similar to fetchFromGitHub above.
## `fetchFromSourcehut`
This is used with sourcehut repositories. The arguments expected are very similar to fetchFromGitHub above. Don't forget the tilde (~) in front of the user name!

View File

@ -0,0 +1,25 @@
{ fetchzip, lib }:
{ owner
, repo, rev
, domain ? "sr.ht"
, vc ? "git"
, name ? "source"
, ... # For hash agility
} @ args:
with lib;
assert (lib.assertOneOf "vc" vc [ "hg" "git" ]);
let
baseUrl = "https://${vc}.${domain}/${owner}/${repo}";
in fetchzip (recursiveUpdate {
inherit name;
url = "${baseUrl}/archive/${rev}.tar.gz";
meta.homepage = "${baseUrl}/";
extraPostFetch = optionalString (vc == "hg") ''
rm -f "$out/.hg_archival.txt"
''; # impure file; see #12002
} (removeAttrs args [ "owner" "repo" "rev" "domain" "vc" ])) // { inherit rev; }

View File

@ -475,6 +475,8 @@ in
fetchFromSavannah = callPackage ../build-support/fetchsavannah {}; fetchFromSavannah = callPackage ../build-support/fetchsavannah {};
fetchFromSourcehut = callPackage ../build-support/fetchsourcehut { };
fetchFromGitLab = callPackage ../build-support/fetchgitlab {}; fetchFromGitLab = callPackage ../build-support/fetchgitlab {};
fetchFromGitiles = callPackage ../build-support/fetchgitiles {}; fetchFromGitiles = callPackage ../build-support/fetchgitiles {};