Merge #102614: haskell.compiler.ghc8102BinaryMinimal: init
This commit is contained in:
commit
a31fd3cb7f
@ -2,6 +2,14 @@
|
|||||||
, fetchurl, perl, gcc
|
, fetchurl, perl, gcc
|
||||||
, ncurses6, gmp, glibc, libiconv, numactl
|
, ncurses6, gmp, glibc, libiconv, numactl
|
||||||
, llvmPackages
|
, llvmPackages
|
||||||
|
|
||||||
|
# minimal = true; will remove files that aren't strictly necessary for
|
||||||
|
# regular builds and GHC bootstrapping.
|
||||||
|
# This is "useful" for staying within hydra's output limits for at least the
|
||||||
|
# aarch64-linux architecture.
|
||||||
|
# Examples of unnecessary files are the bundled documentation and files that
|
||||||
|
# are only needed for profiling builds.
|
||||||
|
, minimal ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
# Prebuilt only does native
|
# Prebuilt only does native
|
||||||
@ -172,6 +180,13 @@ stdenv.mkDerivation rec {
|
|||||||
for file in $(find "$out" -name setup-config); do
|
for file in $(find "$out" -name setup-config); do
|
||||||
substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
|
substituteInPlace $file --replace /usr/bin/ranlib "$(type -P ranlib)"
|
||||||
done
|
done
|
||||||
|
'' +
|
||||||
|
stdenv.lib.optionalString minimal ''
|
||||||
|
# Remove profiling objects
|
||||||
|
find $out -type f -name '*.p_o' -delete
|
||||||
|
rm $out/lib/ghc-*/bin/ghc-iserv-prof
|
||||||
|
# Remove docs
|
||||||
|
rm -r $out/share/{doc,man}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
@ -195,11 +210,18 @@ stdenv.mkDerivation rec {
|
|||||||
enableShared = true;
|
enableShared = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = let
|
||||||
|
platforms = ["x86_64-linux" "armv7l-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
|
||||||
|
in {
|
||||||
homepage = "http://haskell.org/ghc";
|
homepage = "http://haskell.org/ghc";
|
||||||
description = "The Glasgow Haskell Compiler";
|
description = "The Glasgow Haskell Compiler";
|
||||||
license = stdenv.lib.licenses.bsd3;
|
license = stdenv.lib.licenses.bsd3;
|
||||||
platforms = ["x86_64-linux" "armv7l-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
|
|
||||||
|
# The minimal variation can not be distributed because it removes the
|
||||||
|
# documentation, including licensing information that is required for
|
||||||
|
# distribution.
|
||||||
|
inherit platforms;
|
||||||
|
hydraPlatforms = stdenv.lib.optionals (!minimal) platforms;
|
||||||
maintainers = with stdenv.lib.maintainers; [ lostnet ];
|
maintainers = with stdenv.lib.maintainers; [ lostnet ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,11 @@ in {
|
|||||||
llvmPackages = pkgs.llvmPackages_9;
|
llvmPackages = pkgs.llvmPackages_9;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ghc8102BinaryMinimal = callPackage ../development/compilers/ghc/8.10.2-binary.nix {
|
||||||
|
llvmPackages = pkgs.llvmPackages_9;
|
||||||
|
minimal = true;
|
||||||
|
};
|
||||||
|
|
||||||
ghc865 = callPackage ../development/compilers/ghc/8.6.5.nix {
|
ghc865 = callPackage ../development/compilers/ghc/8.6.5.nix {
|
||||||
bootPkgs = packages.ghc822Binary;
|
bootPkgs = packages.ghc822Binary;
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
@ -75,7 +80,7 @@ in {
|
|||||||
ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
|
ghc884 = callPackage ../development/compilers/ghc/8.8.4.nix {
|
||||||
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
|
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
|
||||||
bootPkgs = if stdenv.isAarch64 then
|
bootPkgs = if stdenv.isAarch64 then
|
||||||
packages.ghc8102Binary
|
packages.ghc8102BinaryMinimal
|
||||||
else
|
else
|
||||||
packages.ghc865Binary;
|
packages.ghc865Binary;
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
@ -91,7 +96,7 @@ in {
|
|||||||
ghc8102 = callPackage ../development/compilers/ghc/8.10.2.nix {
|
ghc8102 = callPackage ../development/compilers/ghc/8.10.2.nix {
|
||||||
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
|
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
|
||||||
bootPkgs = if stdenv.isAarch64 then
|
bootPkgs = if stdenv.isAarch64 then
|
||||||
packages.ghc8102Binary
|
packages.ghc8102BinaryMinimal
|
||||||
else
|
else
|
||||||
packages.ghc865Binary;
|
packages.ghc865Binary;
|
||||||
inherit (buildPackages.python3Packages) sphinx;
|
inherit (buildPackages.python3Packages) sphinx;
|
||||||
@ -164,6 +169,12 @@ in {
|
|||||||
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
|
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
|
||||||
packageSetConfig = bootstrapPackageSet;
|
packageSetConfig = bootstrapPackageSet;
|
||||||
};
|
};
|
||||||
|
ghc8102BinaryMinimal = callPackage ../development/haskell-modules {
|
||||||
|
buildHaskellPackages = bh.packages.ghc8102BinaryMinimal;
|
||||||
|
ghc = bh.compiler.ghc8102BinaryMinimal;
|
||||||
|
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
|
||||||
|
packageSetConfig = bootstrapPackageSet;
|
||||||
|
};
|
||||||
ghc865 = callPackage ../development/haskell-modules {
|
ghc865 = callPackage ../development/haskell-modules {
|
||||||
buildHaskellPackages = bh.packages.ghc865;
|
buildHaskellPackages = bh.packages.ghc865;
|
||||||
ghc = bh.compiler.ghc865;
|
ghc = bh.compiler.ghc865;
|
||||||
|
Loading…
Reference in New Issue
Block a user