diff options
author | Jan Malakhovski <oxij@oxij.org> | 2018-05-26 00:20:17 +0000 |
---|---|---|
committer | Jan Malakhovski <oxij@oxij.org> | 2018-05-26 00:20:17 +0000 |
commit | ad35019501e6b263e08ecb4c66f1ee6e3eee80f1 (patch) | |
tree | 492149cd4a5da50945a5bc7d5fa62de432590dea /pkgs/development/compilers/ghc/8.2.2.nix | |
parent | 98f2f08b4b9b204912c1c097a08cd26151fae0bb (diff) | |
parent | 97e376bf9cafa2d6c812221677f2e38163d0acb8 (diff) | |
download | nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.gz nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.bz2 nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.lz nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.xz nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.tar.zst nixlib-ad35019501e6b263e08ecb4c66f1ee6e3eee80f1.zip |
Merge branch 'master' into staging
Fixed conflicts: - lib/systems/for-meta.nix: in favor of staging - pkgs/os-specific/darwin/xcode/default.nix: in favor of master
Diffstat (limited to 'pkgs/development/compilers/ghc/8.2.2.nix')
-rw-r--r-- | pkgs/development/compilers/ghc/8.2.2.nix | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix index 6acf3f10ff49..87de0fd53f62 100644 --- a/pkgs/development/compilers/ghc/8.2.2.nix +++ b/pkgs/development/compilers/ghc/8.2.2.nix @@ -23,10 +23,11 @@ , # Whether to build dynamic libs for the standard library (on the target # platform). Static libs are always built. - enableShared ? - !(targetPlatform.isDarwin - # On iOS, dynamic linking is not supported - && (targetPlatform.isAarch64 || targetPlatform.isAarch32)) + enableShared ? true + +, # What flavour to build. An empty string indicates no + # specific flavour and falls back to ghc default values. + ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross" , # Whether to backport https://phabricator.haskell.org/D4388 for # deterministic profiling symbol names, at the cost of a slightly # non-standard GHC API @@ -44,11 +45,14 @@ let "${targetPlatform.config}-"; buildMK = '' + BuildFlavour = ${ghcFlavour} + ifneq \"\$(BuildFlavour)\" \"\" + include mk/flavours/\$(BuildFlavour).mk + endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} '' + stdenv.lib.optionalString enableIntegerSimple '' INTEGER_LIBRARY = integer-simple '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' - BuildFlavour = perf-cross Stage1Only = YES HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO @@ -151,7 +155,10 @@ stdenv.mkDerivation rec { # Make sure we never relax`$PATH` and hooks support for compatability. strictDeps = true; - nativeBuildInputs = [ alex autoconf autoreconfHook automake ghc happy hscolour perl python3 sphinx ]; + nativeBuildInputs = [ + autoconf autoreconfHook automake perl python3 sphinx + ghc alex happy hscolour + ]; # For building runtime libs depsBuildTarget = toolsForTarget; @@ -173,10 +180,11 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - # zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't - # treat that as a unary `{x,y,z,..}` repetition. postInstall = '' - paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"} + for bin in "$out"/lib/${name}/bin/*; do + isELF "$bin" || continue + paxmark m "$bin" + done # Install the bash completion file. install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc |