-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathlib.nix
More file actions
67 lines (51 loc) · 1.77 KB
/
lib.nix
File metadata and controls
67 lines (51 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{ stdenv, lib, cacert, glibcLocales, stackage2nix, stackage2nixWrapper }:
rec {
stackage2nixGeneric = { drv, pname, installPhase, name, src }:
stdenv.mkDerivation {
name = "${pname}-${name}";
phases = [ "installPhase" ];
buildInputs = [ drv ];
preferLocalBuild = true;
SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
LANG = "en_US.UTF-8";
LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
inherit installPhase;
};
stackage2nixWrapperSrc = { name, src }: stackage2nixGeneric {
drv = stackage2nixWrapper;
pname = "stackage2nixWrapper";
installPhase = ''
export HOME="$TMP"
mkdir -p $out
cd $out
stackage2nix "${src}"
'';
inherit name src;
};
stackage2nixSrc = { name, src }: stackage2nixGeneric {
drv = stackage2nix;
pname = "stackage2nix";
installPhase = ''
export HOME="$TMP"
mkdir -p $out
cd $out
stackage2nix "${src}"
'';
inherit name src;
};
stackage2nixSrcArgs = { name, src, stackage-lts, all-cabal-hashes, hackage-db }: stackage2nixGeneric {
drv = stackage2nix;
pname = "stackage2nixArgs";
installPhase = ''
export HOME="$TMP"
mkdir -p $out
cd $out
stackage2nix --all-cabal-hashes ${all-cabal-hashes} --lts-haskell ${stackage-lts} --hackage-db ${hackage-db}
'';
inherit name src;
};
callStackage2nix = name: src: import (stackage2nixSrc { inherit name src; });
callStackage2nixWrapper = name: src: import (stackage2nixWrapperSrc { inherit name src; });
callStackage2nixArgs = name: src: stackage-lts: all-cabal-hashes: hackage-db:
import (stackage2nixSrcArgs { inherit name src stackage-lts all-cabal-hashes hackage-db; });
}