summaryrefslogtreecommitdiffstats
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorluc65r <lucas@ransan.tk>2020-10-31 11:28:06 +0100
committerLucas Ransan <lucas@ransan.tk>2021-03-08 15:51:24 +0100
commit83a0627f337a47d52d972bb450f1045a7fc55167 (patch)
treef3e5dba1fb3b4af1a40767968a41428ecb47f39b /pkgs/build-support
parent8aca4a8fa7b053e67c7200f426826cd93afd92a8 (diff)
fetchFromSourcehut: init
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/fetchsourcehut/default.nix25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkgs/build-support/fetchsourcehut/default.nix b/pkgs/build-support/fetchsourcehut/default.nix
new file mode 100644
index 000000000000..ed2f074200cd
--- /dev/null
+++ b/pkgs/build-support/fetchsourcehut/default.nix
@@ -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; }