git.iko.soy/nixpkgs-stackage
on master help sign in
Add callStackage2nix
2a6c3ecDmitry Bushev
default.nix+1−1
@@ -13,7 +13,7 @@ in {
13 haskell = super.haskell // {
13 haskell = super.haskell // {
14 packages = super.haskell.packages // {
14 packages = super.haskell.packages // {
15 stackage = super.callPackage ./stackage {} // {
15 stackage = super.callPackage ./stackage {} // {
16− lib = super.callPackage ./stackage2nix/lib.nix {};
16+ lib = super.callPackage ./lib.nix { };
17 };
17 };
18 };
18 };
19 };
19 };
lib.nixnew file+24
@@ -0,0 +1,24 @@
1+{ stdenv, lib, cacert, glibcLocales, stackage2nix }:
2+
3+rec {
4+
5+ stackageSrc2nix = { name, src }:
6+ stdenv.mkDerivation {
7+ name = "stackage2nix-${name}";
8+ buildInputs = [ stackage2nix ];
9+ preferLocalBuild = true;
10+ phases = ["installPhase"];
11+ SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
12+ LANG = "en_US.UTF-8";
13+ LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
14+ installPhase = ''
15+ export HOME="$TMP"
16+ mkdir -p "$out"
17+ cd $out
18+ stackage2nix "${src}"
19+ '';
20+ };
21+
22+ callStackage2nix = name: src: import (stackageSrc2nix { inherit name src; });
23+
24+}
stackage2nix/lib.nix+4
@@ -2,6 +2,7 @@
2, cacheVersion ? "0" }:
2, cacheVersion ? "0" }:
3
3
4{
4{
5+
5 hackage-db = stdenv.mkDerivation {
6 hackage-db = stdenv.mkDerivation {
6 name = "hackage-db";
7 name = "hackage-db";
7 version = cacheVersion;
8 version = cacheVersion;
@@ -16,6 +17,7 @@
16 '';
17 '';
17 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
18 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
18 };
19 };
20+
19 all-cabal-hashes = stdenv.mkDerivation rec {
21 all-cabal-hashes = stdenv.mkDerivation rec {
20 name = "all-cabal-hashes";
22 name = "all-cabal-hashes";
21 version = cacheVersion;
23 version = cacheVersion;
@@ -27,6 +29,7 @@
27 '';
29 '';
28 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
30 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
29 };
31 };
32+
30 stackage-lts = stdenv.mkDerivation {
33 stackage-lts = stdenv.mkDerivation {
31 name = "stackage-lts";
34 name = "stackage-lts";
32 version = cacheVersion;
35 version = cacheVersion;
@@ -38,4 +41,5 @@
38 '';
41 '';
39 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
42 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
40 };
43 };
44+
41}
45}
stackage2nix/stackage2nix.nix+2−2
@@ -10,8 +10,8 @@ mkDerivation {
10 version = "0.5.0";
10 version = "0.5.0";
11 src = fetchgit {
11 src = fetchgit {
12 url = "https://github.com/typeable/stackage2nix.git";
12 url = "https://github.com/typeable/stackage2nix.git";
13− rev = "884ca5b6be6880f6ee7453f7d8d4df3ca1060cb1";
13+ rev = "7bd086b41252e293af1b3d8a15e6b53bc63230bf";
14− sha256 = "1gcln8gmhi2gar5zqngff5hkkmx7005qg2h2nk34457whd6kxdzg";
14+ sha256 = "06hyma8cxncv2l6icdaf2dwh2mxjbgds6l2z2x8kp25gq2qlqx1r";
15 };
15 };
16 isLibrary = true;
16 isLibrary = true;
17 isExecutable = true;
17 isExecutable = true;