Add support for flake inputs with type = "gitlab"

This commit is contained in:
Maximilian Bosch 2020-09-18 14:18:10 +02:00
parent 535e7c0116
commit 0e29814f1e
No known key found for this signature in database
GPG key ID: 091DBF4D1FC46B8E

View file

@ -16,7 +16,7 @@ let
fetchTree = fetchTree =
info: info:
if info.type == "github" then if info.type == "github" then
{ outPath = fetchTarball "https://api.github.com/repos/${info.owner}/${info.repo}/tarball/${info.rev}"; { outPath = fetchTarball "https://api.${info.url or "github.com"}/repos/${info.owner}/${info.repo}/tarball/${info.rev}";
rev = info.rev; rev = info.rev;
shortRev = builtins.substring 0 7 info.rev; shortRev = builtins.substring 0 7 info.rev;
lastModified = info.lastModified; lastModified = info.lastModified;
@ -44,6 +44,11 @@ let
{ outPath = fetchTarball info.url; { outPath = fetchTarball info.url;
narHash = info.narHash; narHash = info.narHash;
} }
else if info.type == "gitlab" then
{ inherit (info) rev narHash lastModified;
outPath = fetchTarball "https://${info.url or "gitlab.com"}/${info.owner}/${info.repo}/-/archive/${info.rev}/${info.repo}-${info.rev}.tar.gz";
shortRev = builtins.substring 0 7 info.rev;
}
else else
# FIXME: add Mercurial, tarball inputs. # FIXME: add Mercurial, tarball inputs.
throw "flake input has unsupported input type '${info.type}'"; throw "flake input has unsupported input type '${info.type}'";