git.iko.soy/typeable/nixpkgs-stackage
on master help sign in
Add pure callStackage2nix
commitdfd6733bdd68cea54c33221034d1711595716698 authorDmitry Bushev <bushevdv@gmail.com> dateWed 20 Jun 2018, 10:35 (8 years ago) parentdb3ad91
1 file changed+38−12
lib.nix+38−12
lib.nix+38−12
@@ -1,28 +1,54 @@
1−{ stdenv, lib, cacert, glibcLocales, stackage2nixWrapper }:
1+{ stdenv, lib, cacert, glibcLocales, stackage2nix, stackage2nixWrapper }:
22
33rec {
44
5− stackageSrc2nix = { name, src }:
5+ stackage2nixGeneric = { drv, pname, installPhase, name, src }:
66 stdenv.mkDerivation {
7− name = "stackage2nixWrapper-${name}";
7+
8+ inherit installPhase;
9+
10+ name = "${pname}-${name}";
811
912 phases = ["installPhase"];
10− buildInputs = [ stackage2nixWrapper ];
13+ buildInputs = [ drv ];
1114 preferLocalBuild = true;
1215
13− installPhase = ''
14− export HOME="$TMP"
15− mkdir -p "$out"
16− cd $out
17− stackage2nix "${src}"
18− '';
19−
2016 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
2117 LANG = "en_US.UTF-8";
2218 LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
2319
2420 };
2521
26− callStackage2nix = name: src: import (stackageSrc2nix { inherit name src; });
22+ stackage2nixWrapperSrc = { name, src }: stackage2nixGeneric {
23+ drv = stackage2nixWrapper;
24+ pname = "stackage2nixWrapper";
25+ installPhase = ''
26+ export HOME="$TMP"
27+ mkdir -p $out
28+ cd $out
29+ stackage2nix "${src}"
30+ '';
31+
32+ inherit name src;
33+ };
34+
35+ stackage2nixSrc = { name, src, stackage-lts, all-cabal-hashes, hackage-db }: stackage2nixGeneric {
36+ drv = stackage2nix;
37+ pname = "stackage2nix";
38+ installPhase = ''
39+ export HOME="$TMP"
40+ mkdir -p $out
41+ cd $out
42+ stackage2nix --all-cabal-hashes ${all-cabal-hashes} --lts-haskell ${stackage-lts} --hackage-db ${hackage-db}
43+ '';
44+
45+ inherit name src;
46+ };
47+
48+ callStackage2nixWrapper = name: src: import (stackage2nixWrapperSrc { inherit name src; });
49+
50+ callStackage2nix = name: src: stackage-lts: all-cabal-hashes: hackage-db: import stackage2nixSrc {
51+ inherit name src stackage-lts all-cabal-hashes hackage-db;
52+ };
2753
2854}