summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaralorn <malte.brandy@maralorn.de>2021-08-16 14:50:25 +0200
committerGitHub <noreply@github.com>2021-08-16 14:50:25 +0200
commitd5f8216275412a74715cca9f68de3ee56c1b02d6 (patch)
tree50e05ef2360bfb5a784023fa38a14662039ed461
parenthaskellPackages: mark builds failing on hydra as broken (diff)
parentghc: 8.10.4 -> 8.10.6 (diff)
downloadnixpkgs-d5f8216275412a74715cca9f68de3ee56c1b02d6.tar.gz
Merge pull request #126195 from NixOS/haskell-updates-ghc-8.10.5
ghc: 8.10.4 -> 8.10.6
-rw-r--r--pkgs/development/compilers/ghc/8.10.6.nix (renamed from pkgs/development/compilers/ghc/8.10.4.nix)12
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix2
-rw-r--r--pkgs/os-specific/darwin/xattr/default.nix73
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/darwin-packages.nix2
-rw-r--r--pkgs/top-level/haskell-packages.nix12
-rw-r--r--pkgs/top-level/release-haskell.nix6
7 files changed, 94 insertions, 15 deletions
diff --git a/pkgs/development/compilers/ghc/8.10.4.nix b/pkgs/development/compilers/ghc/8.10.6.nix
index 07784c426479..f1223deed85e 100644
--- a/pkgs/development/compilers/ghc/8.10.4.nix
+++ b/pkgs/development/compilers/ghc/8.10.6.nix
@@ -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 ''
diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index 23bd3dd3267f..3b57693a28c1 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -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
diff --git a/pkgs/os-specific/darwin/xattr/default.nix b/pkgs/os-specific/darwin/xattr/default.nix
new file mode 100644
index 000000000000..1aa8b49e88aa
--- /dev/null
+++ b/pkgs/os-specific/darwin/xattr/default.nix
@@ -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;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3c22f05c298e..871e4af32fc4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -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;
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index a7f29d672611..2e031e27307a 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -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
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 86a09b4a1fad..d60c20f38e0d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -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 {
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 400635740eae..d68b0605dddb 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -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;