summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-08-21 15:09:31 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-08-21 15:09:31 +0200
commitd4e9fd2a906b5227ae51a522a0708a0b6884ed1c (patch)
treeca6bb53bb064b71b5ad9bf94dbcc27c47c2d652c /pkgs/build-support
parent5c53f22492511d1d8de46ecd8f11fca20f1287fd (diff)
parent2d03fbf75202272f37bf648d06922c2c624f126a (diff)
downloadnixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.tar
nixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.tar.gz
nixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.tar.bz2
nixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.tar.lz
nixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.tar.xz
nixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.tar.zst
nixlib-d4e9fd2a906b5227ae51a522a0708a0b6884ed1c.zip
Merge recent master into staging
Hydra: ?compare=1148749

Conflicts (easy):
	nixos/modules/virtualisation/containers.nix
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/cabal/default.nix17
1 files changed, 13 insertions, 4 deletions
diff --git a/pkgs/build-support/cabal/default.nix b/pkgs/build-support/cabal/default.nix
index 69423004d65f..d73b4a1f364c 100644
--- a/pkgs/build-support/cabal/default.nix
+++ b/pkgs/build-support/cabal/default.nix
@@ -18,6 +18,11 @@ let
   optionals             = stdenv.lib.optionals;
   optionalString        = stdenv.lib.optionalString;
   filter                = stdenv.lib.filter;
+
+  defaultSetupHs        = builtins.toFile "Setup.hs" ''
+                            import Distribution.Simple
+                            main = defaultMain
+                          '';
 in
 
 # Cabal shipped with GHC 6.12.4 or earlier doesn't know the "--enable-tests configure" flag.
@@ -179,9 +184,10 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
 
               ${optionalString self.jailbreak "${jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
 
-              for i in Setup.hs Setup.lhs; do
-                test -f $i && ghc --make $i
+              for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
+                test -f $i && break
               done
+              ghc --make -o Setup -odir $TMPDIR $i
 
               for p in $extraBuildInputs $propagatedNativeBuildInputs; do
                 if [ -d "$p/lib/ghc-${ghc.ghc.version}/package.conf.d" ]; then
@@ -199,10 +205,13 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
               done
 
               ${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) ''
-                configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}";
+                configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}"
               ''}
               ${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
-                configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names";
+                configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names"
+              ''}
+              ${optionalString (versionOlder "7.8" ghc.version) ''
+                configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
               ''}
 
               echo "configure flags: $extraConfigureFlags $configureFlags"