diff options
Diffstat (limited to 'pkgs/development/compilers/ghc/8.10.2.nix')
-rw-r--r-- | pkgs/development/compilers/ghc/8.10.2.nix | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/pkgs/development/compilers/ghc/8.10.2.nix b/pkgs/development/compilers/ghc/8.10.2.nix index fac12099d5dbd..6e194b68faa26 100644 --- a/pkgs/development/compilers/ghc/8.10.2.nix +++ b/pkgs/development/compilers/ghc/8.10.2.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgsBuildTarget, targetPackages +{ lib, stdenv, pkgsBuildTarget, targetPackages # build-tools , bootPkgs @@ -18,7 +18,7 @@ , # If enabled, GHC will be built with the GPL-free but slower integer-simple # library instead of the faster but GPLed integer-gmp library. - enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp + enableIntegerSimple ? !(lib.any (lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp , # If enabled, use -fPIC when compiling static libs. enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform @@ -35,7 +35,7 @@ , # What flavour to build. An empty string indicates no # specific flavour and falls back to ghc default values. - ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) + ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) (if useLLVM then "perf-cross" else "perf-cross-ncg") , # Whether to disable the large address space allocator @@ -51,7 +51,7 @@ let inherit (bootPkgs) ghc; # TODO(@Ericson2314) Make unconditional - targetPrefix = stdenv.lib.optionalString + targetPrefix = lib.optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-"; @@ -62,30 +62,30 @@ let endif DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"} INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"} - '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) '' + '' + lib.optionalString (targetPlatform != hostPlatform) '' Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"} CrossCompilePrefix = ${targetPrefix} HADDOCK_DOCS = NO BUILD_SPHINX_HTML = NO BUILD_SPHINX_PDF = NO - '' + stdenv.lib.optionalString (!enableProfiledLibs) '' + '' + lib.optionalString (!enableProfiledLibs) '' GhcLibWays = "v dyn" - '' + stdenv.lib.optionalString enableRelocatedStaticLibs '' + '' + lib.optionalString enableRelocatedStaticLibs '' GhcLibHcOpts += -fPIC GhcRtsHcOpts += -fPIC - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' EXTRA_CC_OPTS += -std=gnu99 ''; # Splicer will pull out correct variations - libDeps = platform: stdenv.lib.optional enableTerminfo ncurses + libDeps = platform: lib.optional enableTerminfo ncurses ++ [libffi] - ++ stdenv.lib.optional (!enableIntegerSimple) gmp - ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; + ++ lib.optional (!enableIntegerSimple) gmp + ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv; toolsForTarget = [ pkgsBuildTarget.targetPackages.stdenv.cc - ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm; + ] ++ lib.optional useLLVM buildLlvmPackages.llvm; targetCC = builtins.head toolsForTarget; @@ -110,7 +110,7 @@ stdenv.mkDerivation (rec { # https://gitlab.haskell.org/ghc/ghc/-/issues/18549 patches = [ ./issue-18549.patch - ] ++ stdenv.lib.optionals stdenv.isDarwin [ + ] ++ lib.optionals stdenv.isDarwin [ # Make Block.h compile with c++ compilers. Remove with the next release (fetchpatch { url = "https://gitlab.haskell.org/ghc/ghc/-/commit/97d0b0a367e4c6a52a17c3299439ac7de129da24.patch"; @@ -130,7 +130,7 @@ stdenv.mkDerivation (rec { export CC="${targetCC}/bin/${targetCC.targetPrefix}cc" export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx" # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177 - export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString useLdGold ".gold"}" + export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}" export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as" export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar" export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm" @@ -140,13 +140,13 @@ stdenv.mkDerivation (rec { echo -n "${buildMK}" > mk/build.mk sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure - '' + stdenv.lib.optionalString (!stdenv.isDarwin) '' + '' + lib.optionalString (!stdenv.isDarwin) '' export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}" - '' + stdenv.lib.optionalString stdenv.isDarwin '' + '' + lib.optionalString stdenv.isDarwin '' export NIX_LDFLAGS+=" -no_dtrace_dof" - '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt '' + '' + lib.optionalString targetPlatform.useAndroidPrebuilt '' sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets - '' + stdenv.lib.optionalString targetPlatform.isMusl '' + '' + lib.optionalString targetPlatform.isMusl '' echo "patching llvm-targets for musl targets..." echo "Cloning these existing '*-linux-gnu*' targets:" grep linux-gnu llvm-targets | sed 's/^/ /' @@ -166,29 +166,29 @@ stdenv.mkDerivation (rec { # TODO(@Ericson2314): Always pass "--target" and always prefix. configurePlatforms = [ "build" "host" ] - ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; + ++ lib.optional (targetPlatform != hostPlatform) "target"; # `--with` flags for libraries needed for RTS linker configureFlags = [ "--datadir=$doc/share/doc/ghc" "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" - ] ++ stdenv.lib.optionals (libffi != null) [ + ] ++ lib.optionals (libffi != null) [ "--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" - ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ + ] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [ "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" - ] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ + ] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" - ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ + ] ++ lib.optionals (targetPlatform != hostPlatform) [ "--enable-bootstrap-with-devel-snapshot" - ] ++ stdenv.lib.optionals useLdGold [ + ] ++ lib.optionals useLdGold [ "CFLAGS=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold" "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold" - ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [ + ] ++ lib.optionals (disableLargeAddressSpace) [ "--disable-large-address-space" ]; @@ -209,18 +209,18 @@ stdenv.mkDerivation (rec { buildInputs = [ perl bash ] ++ (libDeps hostPlatform); propagatedBuildInputs = [ targetPackages.stdenv.cc ] - ++ stdenv.lib.optional useLLVM llvmPackages.llvm; + ++ lib.optional useLLVM llvmPackages.llvm; - depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform); - depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform); + depsTargetTarget = map lib.getDev (libDeps targetPlatform); + depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform); # required, because otherwise all symbols from HSffi.o are stripped, and # that in turn causes GHCi to abort - stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; + stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols"; checkTarget = "test"; - hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie"; + hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie"; postInstall = '' # Install the bash completion file. @@ -230,7 +230,7 @@ stdenv.mkDerivation (rec { for i in "$out/bin/"*; do test ! -h $i || continue egrep --quiet '^#!' <(head -n 1 $i) || continue - sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i + sed -i -e '2i export PATH="$PATH:${lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i done ''; @@ -247,12 +247,12 @@ stdenv.mkDerivation (rec { meta = { homepage = "http://haskell.org/ghc"; description = "The Glasgow Haskell Compiler"; - maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ]; + maintainers = with lib.maintainers; [ marcweber andres peti ]; timeout = 24 * 3600; inherit (ghc.meta) license platforms; }; -} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt { +} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt { dontStrip = true; dontPatchELF = true; noAuditTmpdir = true; |