git.iko.soy/typeable/nixpkgs-stackage
on master help sign in
Upd callStackage2nix calls impure wrapper
commitdb3ad9179cbd89420d95025f3962fd6aeb71f01d authorDmitry Bushev <bushevdv@gmail.com> dateSun 17 Jun 2018, 20:28 (8 years ago) parentb6ab45e
2 files changed+16−8
default.nix+5−1 lib.nix+11−7
default.nix+5−1
@@ -9,6 +9,8 @@ let
99 else if configureFlags == null then []
1010 else configureFlags);
1111
12+ stackage2nixPackages = import ./stackage2nix/stackage-packages.nix { nixpkgs = self; };
13+
1214in {
1315 haskell = super.haskell // {
1416 packages = super.haskell.packages // {
@@ -18,7 +20,9 @@ in {
1820 };
1921 };
2022
21− stackage2nix = import ./stackage2nix/impure.nix {
23+ stackage2nix = super.haskell.lib.disableSharedExecutables stackage2nixPackages.stackage2nix;
24+
25+ stackage2nixWrapper = import ./stackage2nix/impure.nix {
2226 cacheVersion = builtins.readFile ./cache-version.txt;
2327 inherit self;
2428 };
lib.nix+11−7
@@ -1,22 +1,26 @@
1−{ stdenv, lib, cacert, glibcLocales, stackage2nix }:
1+{ stdenv, lib, cacert, glibcLocales, stackage2nixWrapper }:
22
33rec {
44
55 stackageSrc2nix = { name, src }:
66 stdenv.mkDerivation {
7− name = "stackage2nix-${name}";
8− buildInputs = [ stackage2nix ];
9− preferLocalBuild = true;
7+ name = "stackage2nixWrapper-${name}";
8+
109 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";
10+ buildInputs = [ stackage2nixWrapper ];
11+ preferLocalBuild = true;
12+
1413 installPhase = ''
1514 export HOME="$TMP"
1615 mkdir -p "$out"
1716 cd $out
1817 stackage2nix "${src}"
1918 '';
19+
20+ SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt";
21+ LANG = "en_US.UTF-8";
22+ LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
23+
2024 };
2125
2226 callStackage2nix = name: src: import (stackageSrc2nix { inherit name src; });