git.iko.soy/nixpkgs-stackage
on master help sign in
Add callStackage2nix
commit2a6c3ecb5f0015491e2a6626d5c89aec2d75defc authorDmitry Bushev <bushevdv@gmail.com> dateThu 11 Jan 2018, 22:24 (9 years ago) parent51a05b4
4 files changed+31−3
default.nix+1−1 lib.nix+24 stackage2nix/lib.nix+4 stackage2nix/stackage2nix.nix+2−2
default.nix+1−1
@@ -13,7 +13,7 @@ in {
1313 haskell = super.haskell // {
1414 packages = super.haskell.packages // {
1515 stackage = super.callPackage ./stackage {} // {
16− lib = super.callPackage ./stackage2nix/lib.nix {};
16+ lib = super.callPackage ./lib.nix { };
1717 };
1818 };
1919 };
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 @@
22, cacheVersion ? "0" }:
33
44{
5+
56 hackage-db = stdenv.mkDerivation {
67 name = "hackage-db";
78 version = cacheVersion;
@@ -16,6 +17,7 @@
1617 '';
1718 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
1819 };
20+
1921 all-cabal-hashes = stdenv.mkDerivation rec {
2022 name = "all-cabal-hashes";
2123 version = cacheVersion;
@@ -27,6 +29,7 @@
2729 '';
2830 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
2931 };
32+
3033 stackage-lts = stdenv.mkDerivation {
3134 name = "stackage-lts";
3235 version = cacheVersion;
@@ -38,4 +41,5 @@
3841 '';
3942 SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
4043 };
44+
4145}
stackage2nix/stackage2nix.nix+2−2
@@ -10,8 +10,8 @@ mkDerivation {
1010 version = "0.5.0";
1111 src = fetchgit {
1212 url = "https://github.com/typeable/stackage2nix.git";
13− rev = "884ca5b6be6880f6ee7453f7d8d4df3ca1060cb1";
14− sha256 = "1gcln8gmhi2gar5zqngff5hkkmx7005qg2h2nk34457whd6kxdzg";
13+ rev = "7bd086b41252e293af1b3d8a15e6b53bc63230bf";
14+ sha256 = "06hyma8cxncv2l6icdaf2dwh2mxjbgds6l2z2x8kp25gq2qlqx1r";
1515 };
1616 isLibrary = true;
1717 isExecutable = true;