diff options
author | makefu <github@syntax-fehler.de> | 2019-09-06 15:11:25 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2019-09-06 15:11:25 +0200 |
commit | 8901bab8ad2f1db1ac7a1fabec091be3a14a1c20 (patch) | |
tree | 1116f0bc3ad2da388a6d066f95a55740baf1865f /krebs/5pkgs/simple/nix-prefetch-github.nix | |
parent | fce2c4275caf7df064fb13a4280291a9aefaef1f (diff) | |
parent | e388d02623b98bad5db52b29ea1ef1f494fddae8 (diff) |
Merge remote-tracking branch 'tv/master'
Diffstat (limited to 'krebs/5pkgs/simple/nix-prefetch-github.nix')
-rw-r--r-- | krebs/5pkgs/simple/nix-prefetch-github.nix | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/krebs/5pkgs/simple/nix-prefetch-github.nix b/krebs/5pkgs/simple/nix-prefetch-github.nix new file mode 100644 index 000000000..14096c33f --- /dev/null +++ b/krebs/5pkgs/simple/nix-prefetch-github.nix @@ -0,0 +1,25 @@ +{ curl, jq, nix, writeDashBin }: + +writeDashBin "nix-prefetch-github" '' + # usage: nix-prefetch-github OWNER REPO [REF] + set -efu + + owner=$1 + repo=$2 + ref=''${3-master} + + info_url=https://api.github.com/repos/$owner/$repo/commits/$ref + info=$(${curl}/bin/curl -fsS "$info_url") + rev=$(printf %s "$info" | ${jq}/bin/jq -r .sha) + + name=$owner-$repo-$ref + url=https://github.com/$owner/$repo/tarball/$rev + sha256=$(${nix}/bin/nix-prefetch-url --name "$name" --unpack "$url") + + export owner repo rev sha256 + ${jq}/bin/jq -n ' + env | { + owner, repo, rev, sha256 + } + ' +'' |