diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-06-20 17:57:35 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-06-20 18:40:53 -0400 |
commit | fd7a6ea0aff44e90b999958c58cc3acc8579ae72 (patch) | |
tree | f815aa5f6e594e8eb4c7adf4bd7436fa0c5972a4 /pkgs/development | |
parent | 17621f63eb1c257e84490a825c1e9a212e0826af (diff) | |
download | nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.tar nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.tar.gz nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.tar.bz2 nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.tar.lz nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.tar.xz nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.tar.zst nixlib-fd7a6ea0aff44e90b999958c58cc3acc8579ae72.zip |
haskell: make generic builder follow compiler’s shared config
enableShared in generic-builder.nix should default to what the GHC compiler was compiled with. Add a passthru to all of the GHC compilers to hold the value of enableShared. If enableShared is not set in the GHC we just use false as the default value for enableSharedLibraries. Note: I may have missed some compilers. Only GHC & GHCJS are covered by this commit but this shouldn’t break evaluation of anything else.
Diffstat (limited to 'pkgs/development')
-rw-r--r-- | pkgs/development/compilers/ghc/7.10.3-binary.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/7.10.3.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.0.2.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.2.1-binary.nix | 5 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.2.2.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/8.4.3.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/ghc/head.nix | 1 | ||||
-rw-r--r-- | pkgs/development/compilers/ghcjs-ng/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/compilers/ghcjs/base.nix | 2 | ||||
-rw-r--r-- | pkgs/development/haskell-modules/generic-builder.nix | 2 |
10 files changed, 18 insertions, 4 deletions
diff --git a/pkgs/development/compilers/ghc/7.10.3-binary.nix b/pkgs/development/compilers/ghc/7.10.3-binary.nix index 48e2ca0a585c..53693ff50521 100644 --- a/pkgs/development/compilers/ghc/7.10.3-binary.nix +++ b/pkgs/development/compilers/ghc/7.10.3-binary.nix @@ -153,7 +153,10 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - passthru = { targetPrefix = ""; }; + passthru = { + targetPrefix = ""; + enableShared = true; + }; meta.license = stdenv.lib.licenses.bsd3; meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "armv7l-linux"]; diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix index 3dd320e02572..2a906d918aa3 100644 --- a/pkgs/development/compilers/ghc/7.10.3.nix +++ b/pkgs/development/compilers/ghc/7.10.3.nix @@ -177,6 +177,7 @@ stdenv.mkDerivation rec { inherit bootPkgs targetPrefix; inherit llvmPackages; + inherit enableShared; # Our Cabal compiler name haskellCompilerName = "ghc-7.10.3"; diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix index 53c5a218cb13..8062e93df549 100644 --- a/pkgs/development/compilers/ghc/8.0.2.nix +++ b/pkgs/development/compilers/ghc/8.0.2.nix @@ -183,6 +183,7 @@ stdenv.mkDerivation rec { inherit bootPkgs targetPrefix; inherit llvmPackages; + inherit enableShared; # Our Cabal compiler name haskellCompilerName = "ghc-8.0.2"; diff --git a/pkgs/development/compilers/ghc/8.2.1-binary.nix b/pkgs/development/compilers/ghc/8.2.1-binary.nix index c88d2a8685a6..9bd7dfcb9fc1 100644 --- a/pkgs/development/compilers/ghc/8.2.1-binary.nix +++ b/pkgs/development/compilers/ghc/8.2.1-binary.nix @@ -155,7 +155,10 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - passthru = { targetPrefix = ""; }; + passthru = { + targetPrefix = ""; + enableShared = true; + }; meta.license = stdenv.lib.licenses.bsd3; # AArch64 should work in theory but eventually some builds start segfaulting diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 4e9eff06f26e..0aa573ed6d1d 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -199,6 +199,7 @@ stdenv.mkDerivation rec { inherit bootPkgs targetPrefix; inherit llvmPackages; + inherit enableShared; # Our Cabal compiler name haskellCompilerName = "ghc-8.2.2"; diff --git a/pkgs/development/compilers/ghc/8.4.3.nix b/pkgs/development/compilers/ghc/8.4.3.nix index c57058a63520..864e93756e80 100644 --- a/pkgs/development/compilers/ghc/8.4.3.nix +++ b/pkgs/development/compilers/ghc/8.4.3.nix @@ -193,6 +193,7 @@ stdenv.mkDerivation rec { inherit bootPkgs targetPrefix; inherit llvmPackages; + inherit enableShared; # Our Cabal compiler name haskellCompilerName = "ghc-8.4.3"; diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index c128891ec382..8ccd72ef55a2 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -191,6 +191,7 @@ stdenv.mkDerivation rec { inherit bootPkgs targetPrefix; inherit llvmPackages; + inherit enableShared; # Our Cabal compiler name haskellCompilerName = "ghc-8.5"; diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix index affed7e2d071..65b43f712ae2 100644 --- a/pkgs/development/compilers/ghcjs-ng/default.nix +++ b/pkgs/development/compilers/ghcjs-ng/default.nix @@ -42,6 +42,8 @@ let inherit (bootGhcjs) version; isGhcjs = true; + enableShared = true; + socket-io = nodePackages."socket.io"; # Relics of the old GHCJS build system @@ -96,4 +98,3 @@ in stdenv.mkDerivation { meta.platforms = passthru.bootPkgs.ghc.meta.platforms; } - diff --git a/pkgs/development/compilers/ghcjs/base.nix b/pkgs/development/compilers/ghcjs/base.nix index 98eb58e6aae7..f09a577110b7 100644 --- a/pkgs/development/compilers/ghcjs/base.nix +++ b/pkgs/development/compilers/ghcjs/base.nix @@ -179,6 +179,8 @@ in mkDerivation (rec { # let us assume ghcjs is never actually cross compiled targetPrefix = ""; + enableShared = true; + inherit stage1Packages; mkStage2 = stage2 { inherit ghcjsBoot; diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix index 52128d3fc5d1..3dd023f34302 100644 --- a/pkgs/development/haskell-modules/generic-builder.nix +++ b/pkgs/development/haskell-modules/generic-builder.nix @@ -30,7 +30,7 @@ in , profilingDetail ? "all-functions" # TODO enable shared libs for cross-compiling , enableSharedExecutables ? false -, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version) +, enableSharedLibraries ? (ghc.enableShared or false) , enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin , enableStaticLibraries ? !hostPlatform.isWindows , enableHsc2hsViaAsm ? hostPlatform.isWindows && stdenv.lib.versionAtLeast ghc.version "8.4" |