Avoid top-level `with ...;` in pkgs/build-support/coq/meta-fetch/default.nix

authored by philiptaron.tngl.sh and committed by Valentin Gagarin 4fc5d505 03962f07

+35 -9
+35 -9
pkgs/build-support/coq/meta-fetch/default.nix
··· 1 { lib, stdenv, fetchzip }@args: 2 - let lib' = lib; in 3 - let lib = import ../extra-lib.nix {lib = lib';}; in 4 - with builtins; with lib; 5 let 6 default-fetcher = {domain ? "github.com", owner ? "", repo, rev, name ? "source", sha256 ? null, ...}@args: 7 let ext = if args?sha256 then "zip" else "tar.gz"; 8 fmt = if args?sha256 then "zip" else "tarball"; ··· 17 { cond = (match "(www.)?mpi-sws.org" domain) != null; 18 out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}";} 19 ] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}"); 20 - fetch = x: if args?sha256 then fetchzip (x // { inherit sha256; }) else fetchTarball x; 21 in fetch { inherit url ; }; 22 in 23 { ··· 38 { case = isNull; out = { version = "broken"; src = ""; broken = true; }; } 39 { case = isPathString; out = { version = "dev"; src = arg; }; } 40 { case = pred.union isVersion isShortVersion; 41 - out = let v = if isVersion arg then arg else shortVersion arg; in 42 - let 43 - given-sha256 = release.${v}.sha256 or ""; 44 - sha256 = if given-sha256 == "" then lib.fakeSha256 else given-sha256; 45 - rv = release.${v} // { inherit sha256; }; in 46 { 47 version = rv.version or v; 48 src = rv.src or fetcher (location // { rev = releaseRev v; } // rv);
··· 1 { lib, stdenv, fetchzip }@args: 2 + 3 let 4 + lib = import ../extra-lib.nix { 5 + inherit (args) lib; 6 + }; 7 + 8 + inherit (lib) 9 + attrNames 10 + fakeSha256 11 + filter 12 + findFirst 13 + head 14 + isAttrs 15 + isPath 16 + isString 17 + last 18 + length 19 + optionalAttrs 20 + pathExists 21 + pred 22 + sort 23 + switch 24 + switch-if 25 + versionAtLeast 26 + versions 27 + ; 28 + 29 + inherit (lib.strings) match split; 30 + 31 default-fetcher = {domain ? "github.com", owner ? "", repo, rev, name ? "source", sha256 ? null, ...}@args: 32 let ext = if args?sha256 then "zip" else "tar.gz"; 33 fmt = if args?sha256 then "zip" else "tarball"; ··· 42 { cond = (match "(www.)?mpi-sws.org" domain) != null; 43 out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}";} 44 ] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}"); 45 + fetch = x: if args?sha256 then fetchzip (x // { inherit sha256; }) else builtins.fetchTarball x; 46 in fetch { inherit url ; }; 47 in 48 { ··· 63 { case = isNull; out = { version = "broken"; src = ""; broken = true; }; } 64 { case = isPathString; out = { version = "dev"; src = arg; }; } 65 { case = pred.union isVersion isShortVersion; 66 + out = let 67 + v = if isVersion arg then arg else shortVersion arg; 68 + given-sha256 = release.${v}.sha256 or ""; 69 + sha256 = if given-sha256 == "" then fakeSha256 else given-sha256; 70 + rv = release.${v} // { inherit sha256; }; 71 + in 72 { 73 version = rv.version or v; 74 src = rv.src or fetcher (location // { rev = releaseRev v; } // rv);