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 =
info:
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;
shortRev = builtins.substring 0 7 info.rev;
lastModified = info.lastModified;
@ -44,6 +44,11 @@ let
{ outPath = fetchTarball info.url;
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
# FIXME: add Mercurial, tarball inputs.
throw "flake input has unsupported input type '${info.type}'";