Merge pull request #126195 from NixOS/haskell-updates-ghc-8.10.5

ghc: 8.10.4 -> 8.10.6
This commit is contained in:
maralorn 2021-08-16 14:50:25 +02:00 committed by GitHub
commit d5f8216275
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 94 additions and 15 deletions

View File

@ -2,7 +2,7 @@
# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx, xattr
, bash
, libiconv ? null, ncurses
@ -135,12 +135,12 @@ let
in
stdenv.mkDerivation (rec {
version = "8.10.4";
version = "8.10.6";
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "03li4k10hxgyxcdyyz2092wx09spr1599hi0sxbh4m889qdqgbsj";
sha256 = "43afba72a533408b42c1492bd047b5e37e5f7204e41a5cedd3182cc841610ce9";
};
enableParallelBuilding = true;
@ -155,9 +155,6 @@ stdenv.mkDerivation (rec {
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
# Fix documentation configuration which causes a syntax error with sphinx 4.*
# See https://gitlab.haskell.org/ghc/ghc/-/issues/19962, remove at 8.10.6.
./sphinx-4-configuration.patch
] ++ lib.optionals stdenv.isDarwin [
# Make Block.h compile with c++ compilers. Remove with the next release
(fetchpatch {
@ -192,6 +189,9 @@ stdenv.mkDerivation (rec {
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
'' + 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
'' + lib.optionalString targetPlatform.isMusl ''

View File

@ -1,4 +1,4 @@
{ lib, supportedGhcVersions ? [ "884" "8104" ], stdenv, haskellPackages
{ lib, supportedGhcVersions ? [ "884" "8106" ], stdenv, haskellPackages
, haskell }:
#
# The recommended way to override this package is

View File

@ -0,0 +1,73 @@
{ lib
, stdenv
, fetchzip
, buildPythonPackage
, python
, ed
, unifdef
}:
buildPythonPackage rec {
pname = "xattr";
version = "61.60.1";
src = fetchzip rec {
url = "https://opensource.apple.com/tarballs/python_modules/python_modules-${version}.tar.gz";
sha256 = "19kydl7w4vpdi7zmfd5z9vjkq24jfk2cv4j0pppw69j06czhdwwi";
};
sourceRoot = "${src.name}/Modules/xattr-0.6.4";
format = "other";
nativeBuildInputs = [
ed
unifdef
];
makeFlags = [
"OBJROOT=$(PWD)"
"DSTROOT=${placeholder "out"}"
"OSL=${placeholder "doc"}/share/xattr/OpenSourceLicenses"
"OSV=${placeholder "doc"}/share/xattr/OpenSourceVersions"
];
# need to use `out` instead of `bin` since buildPythonPackage ignores the latter
outputs = [ "out" "doc" "python" ];
# We need to patch a reference to gnutar in an included Makefile
postUnpack = ''
chmod u+w $sourceRoot/..
'';
postPatch = ''
substituteInPlace ../Makefile.inc --replace gnutar tar
substituteInPlace Makefile --replace "/usr" ""
'';
preInstall = ''
# prevent setup.py from trying to download setuptools
sed -i xattr-*/setup.py -e '/ez_setup/d'
# create our custom target dirs we patch in
mkdir -p "$doc/share/xattr/"OpenSource{Licenses,Versions}
mkdir -p "$python/lib/${python.libPrefix}"
'';
# move python package to its own output to reduce clutter
postInstall = ''
mv "$out/lib/python" "$python/${python.sitePackages}"
rmdir "$out/lib"
'';
makeWrapperArgs = [
"--prefix" "PYTHONPATH" ":" "${placeholder "python"}/${python.sitePackages}"
];
meta = with lib; {
description = "Display and manipulate extended attributes";
license = [ licenses.psfl licenses.mit ]; # see $doc/share/xattr/OpenSourceLicenses
maintainers = [ maintainers.sternenseemann ];
homepage = "https://opensource.apple.com/source/python_modules/";
platforms = lib.platforms.darwin;
};
}

View File

@ -11420,7 +11420,7 @@ with pkgs;
# Please update doc/languages-frameworks/haskell.section.md, “Our
# current default compiler is”, if you bump this:
haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8104;
haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8106;
inherit (haskellPackages) ghc;

View File

@ -156,6 +156,8 @@ impure-cmds // appleSourcePackages // chooseLibs // {
usr-include = callPackage ../os-specific/darwin/usr-include { };
xattr = pkgs.python3Packages.callPackage ../os-specific/darwin/xattr { };
inherit (pkgs.callPackages ../os-specific/darwin/xcode { })
xcode_8_1 xcode_8_2
xcode_9_1 xcode_9_2 xcode_9_4 xcode_9_4_1

View File

@ -68,7 +68,7 @@ in {
buildLlvmPackages = buildPackages.llvmPackages_7;
llvmPackages = pkgs.llvmPackages_7;
};
ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
ghc8106 = callPackage ../development/compilers/ghc/8.10.6.nix {
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
# Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 || stdenv.targetPlatform.isMusl then
@ -76,6 +76,10 @@ in {
else
packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr;
buildLlvmPackages = buildPackages.llvmPackages_9;
llvmPackages = pkgs.llvmPackages_9;
};
@ -147,9 +151,9 @@ in {
ghc = bh.compiler.ghc884;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
};
ghc8104 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc8104;
ghc = bh.compiler.ghc8104;
ghc8106 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc8106;
ghc = bh.compiler.ghc8106;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
};
ghc901 = callPackage ../development/haskell-modules {

View File

@ -50,7 +50,7 @@ let
# list of all compilers to test specific packages on
all = with compilerNames; [
ghc884
ghc8104
ghc8106
ghc901
];
@ -300,12 +300,12 @@ let
# package sets (like Cabal, jailbreak-cabal) are
# working as expected.
cabal-install = all;
Cabal_3_6_0_0 = with compilerNames; [ ghc884 ghc8104 ];
Cabal_3_6_0_0 = with compilerNames; [ ghc884 ghc8106 ];
cabal2nix-unstable = all;
funcmp = all;
# Doesn't currently work on ghc-9.0:
# https://github.com/haskell/haskell-language-server/issues/297
haskell-language-server = with compilerNames; [ ghc884 ghc8104 ];
haskell-language-server = with compilerNames; [ ghc884 ghc8106 ];
hoogle = all;
hsdns = all;
jailbreak-cabal = all;