Merge pull request #112893 from NixOS/haskell-updates

Update Haskell package set to Stackage Nightly 2021-02-10 (plus other fixes)
This commit is contained in:
Peter Simons 2021-02-12 20:36:57 +01:00 committed by GitHub
commit 81af1b95e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 1790 additions and 967 deletions

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/f8773aba1736a7929a7262fdd6217be67f679c98.tar.gz";
sha256 = "1flmp0r1isgp8mf85iwiwps6sa3wczb6k0zphprhnvbi2dzg9x87";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/c0fe8e827d5ec71141700f5d5a90a6f6616ecbc5.tar.gz";
sha256 = "16is1cipkfiabbh01i247vqfviwzjpfhgf6pkli61wwlhnk0q95s";
}

@ -0,0 +1,264 @@
{ lib, stdenv, pkgsBuildTarget, targetPackages
# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
, bash
, libiconv ? null, ncurses
, # GHC can be built with system libffi or a bundled one.
libffi ? null
, useLLVM ? !stdenv.targetPlatform.isx86
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
buildLlvmPackages, llvmPackages
, # 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 ? !(lib.any (lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
# aarch64 outputs otherwise exceed 2GB limit
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
, # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
}:
assert !enableIntegerSimple -> gmp != null;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
inherit (bootPkgs) ghc;
# TODO(@Ericson2314) Make unconditional
targetPrefix = lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
'' + 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
'' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn"
'' + lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC
GhcRtsHcOpts += -fPIC
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99
'';
# Splicer will pull out correct variations
libDeps = platform: lib.optional enableTerminfo ncurses
++ [libffi]
++ lib.optional (!enableIntegerSimple) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildLlvmPackages.llvm;
targetCC = builtins.head toolsForTarget;
# ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# see #84670 and #49071 for more background.
useLdGold = targetPlatform.isLinux && !(targetPlatform.useLLVM or false) && !targetPlatform.isMusl;
in
stdenv.mkDerivation (rec {
version = "8.10.4";
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "03li4k10hxgyxcdyyz2092wx09spr1599hi0sxbh4m889qdqgbsj";
};
enableParallelBuilding = true;
outputs = [ "out" "doc" ];
patches = [
# See upstream patch at
# https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4885. Since we build
# from source distributions, the auto-generated configure script needs to be
# patched as well, therefore we use an in-tree patch instead of pulling the
# upstream patch. Don't forget to check backport status of the upstream patch
# when adding new GHC releases in nixpkgs.
./respect-ar-path.patch
] ++ 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";
sha256 = "0r4zjj0bv1x1m2dgxp3adsf2xkr94fjnyj1igsivd9ilbs5ja0b5";
})
];
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
done
# GHC is a bit confused on its cross terminology, as these would normally be
# the *host* tools.
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${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"
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
'' + 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 ''
echo "patching llvm-targets for musl targets..."
echo "Cloning these existing '*-linux-gnu*' targets:"
grep linux-gnu llvm-targets | sed 's/^/ /'
echo "(go go gadget sed)"
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
echo "llvm-targets now contains these '*-linux-musl*' targets:"
grep linux-musl llvm-targets | sed 's/^/ /'
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
for x in configure aclocal.m4; do
substituteInPlace $x \
--replace '*-android*|*-gnueabi*)' \
'*-android*|*-gnueabi*|*-musleabi*)'
done
'';
# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ]
++ 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"
] ++ lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
] ++ lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
];
# Make sure we never relax`$PATH` and hooks support for compatibility.
strictDeps = true;
# Dont add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3 sphinx
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
];
# For building runtime libs
depsBuildTarget = toolsForTarget;
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
propagatedBuildInputs = [ targetPackages.stdenv.cc ]
++ lib.optional useLLVM llvmPackages.llvm;
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" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
checkTarget = "test";
hardeningDisable = [ "format" ] ++ lib.optional stdenv.targetPlatform.isMusl "pie";
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
# Patch scripts to include "readelf" and "cat" in $PATH.
for i in "$out/bin/"*; do
test ! -h $i || continue
egrep --quiet '^#!' <(head -n 1 $i) || continue
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
done
'';
passthru = {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
inherit enableShared;
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
meta = {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with lib.maintainers; [ marcweber andres peti ];
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
dontStrip = true;
dontPatchELF = true;
noAuditTmpdir = true;
})

@ -1410,10 +1410,16 @@ self: super: {
# https://github.com/haskell/haskell-language-server/issues/611
haskell-language-server = dontCheck super.haskell-language-server;
# 2021-01-20
# apply-refact 0.9.0.0 get's a build error with hls-hlint-plugin 0.8.0
# https://github.com/haskell/haskell-language-server/issues/1240
apply-refact = super.apply-refact_0_8_2_1;
# 2021-02-08: Jailbreaking because of
# https://github.com/haskell/haskell-language-server/issues/1329
hls-tactics-plugin = doJailbreak super.hls-tactics-plugin;
# 2021-02-11: Jailbreaking because of syntax error on bound revision
hls-explicit-imports-plugin = doJailbreak super.hls-explicit-imports-plugin;
# 2021-02-08: Overrides because nightly is to old for hls 0.9.0
lsp-test = doDistribute (dontCheck self.lsp-test_0_11_0_7);
haskell-lsp = doDistribute self.haskell-lsp_0_23_0_0;
haskell-lsp-types = doDistribute self.haskell-lsp-types_0_23_0_0;
# 1. test requires internet
# 2. dependency shake-bench hasn't been published yet so we also need unmarkBroken and doDistribute
@ -1567,4 +1573,12 @@ self: super: {
# Allow building with older versions of http-client.
http-client-restricted = doJailbreak super.http-client-restricted;
# 2020-02-11: https://github.com/ekmett/lens/issues/969
# A change in vector 0.2.12 broke the lens doctests.
# This is fixed on lens master. Remove this override on assert fail.
lens = assert super.lens.version == "4.19.2"; doJailbreak (dontCheck super.lens);
# Test suite fails, upstream not reachable for simple fix (not responsive on github)
vivid-osc = dontCheck super.vivid-osc;
vivid-supercollider = dontCheck super.vivid-supercollider;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

@ -98,5 +98,8 @@ self: super: {
# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
# vector 0.12.2 indroduced doctest checks that dont work on older compilers
vector = dontCheck super.vector;
mmorph = super.mmorph_1_1_3;
}

@ -127,4 +127,6 @@ self: super: {
# Older compilers need the latest ghc-lib to build this package.
hls-hlint-plugin = addBuildDepend super.hls-hlint-plugin self.ghc-lib;
# vector 0.12.2 indroduced doctest checks that dont work on older compilers
vector = dontCheck super.vector;
}

@ -84,7 +84,7 @@ self: super: {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/alex-3.2.5.patch";
sha256 = "0q8x49k3jjwyspcmidwr6b84s4y43jbf4wqfxfm6wz8x2dxx6nwh";
});
doctest = appendPatch (dontCheck (doJailbreak super.doctest_0_17)) (pkgs.fetchpatch {
doctest = appendPatch (dontCheck (doJailbreak super.doctest_0_18)) (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/doctest-0.17.patch";
sha256 = "16s2jcbk9hsww38i2wzxghbf0zpp5dc35hp6rd2n7d4z5xfavp62";
});

@ -1,6 +1,6 @@
# pkgs/development/haskell-modules/configuration-hackage2nix.yaml
compiler: ghc-8.10.3
compiler: ghc-8.10.4
core-packages:
- array-0.5.4.0
@ -13,17 +13,17 @@ core-packages:
- directory-1.3.6.0
- exceptions-0.10.4
- filepath-1.4.2.1
- ghc-8.10.3
- ghc-boot-8.10.3
- ghc-boot-th-8.10.3
- ghc-8.10.4
- ghc-boot-8.10.4
- ghc-boot-th-8.10.4
- ghc-compact-0.1.0.0
- ghc-heap-8.10.3
- ghc-heap-8.10.4
- ghc-prim-0.6.1
- ghci-8.10.3
- ghci-8.10.4
- haskeline-0.8.0.1
- hpc-0.6.1.0
- integer-gmp-1.0.3.0
- libiserv-8.10.3
- libiserv-8.10.4
- mtl-2.2.2
- parsec-3.1.14.0
- pretty-1.1.3.6
@ -73,12 +73,10 @@ default-package-overrides:
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and
# not yet available in Nixpkgs
- gi-gdkx11 < 4
- hls-plugin-api == 0.6.0.0 # Needed for hls 0.8.0
- hls-eval-plugin == 0.1.0.0 # Needed for hls 0.8.0
- hls-hlint-plugin == 0.1.0.0 # Needed for hls 0.8.0
- ghcide == 0.7.0.0 # Needed for hls 0.8.0
- ghcide < 0.7.4 # for hls 0.9.0
- hls-explicit-imports-plugin < 0.1.0.1 # for hls 0.9.0
# Stackage Nightly 2021-02-02
# Stackage Nightly 2021-02-10
- abstract-deque ==0.3
- abstract-par ==0.3.3
- AC-Angle ==1.0
@ -107,6 +105,7 @@ default-package-overrides:
- aeson-with ==0.1.2.0
- aeson-yak ==0.1.1.3
- aeson-yaml ==1.1.0.0
- Agda ==2.6.1.3
- agda2lagda ==0.2020.11.1
- al ==0.1.4.2
- alarmclock ==0.7.0.5
@ -235,14 +234,14 @@ default-package-overrides:
- arithmoi ==0.11.0.1
- array-memoize ==0.6.0
- arrow-extras ==0.1.0.1
- ascii ==1.0.1.0
- ascii ==1.0.1.2
- ascii-case ==1.0.0.2
- ascii-char ==1.0.0.6
- asciidiagram ==1.3.3.3
- ascii-group ==1.0.0.2
- ascii-predicates ==1.0.0.2
- ascii-progress ==0.3.3.0
- ascii-superset ==1.0.1.0
- ascii-superset ==1.0.1.2
- ascii-th ==1.0.0.2
- asif ==6.0.4
- asn1-encoding ==0.9.6
@ -271,7 +270,7 @@ default-package-overrides:
- authenticate ==1.3.5
- authenticate-oauth ==1.6.0.1
- auto ==0.4.3.1
- autoexporter ==1.1.19
- autoexporter ==1.1.20
- auto-update ==0.1.6
- avers ==0.0.17.1
- avro ==0.5.2.0
@ -358,13 +357,13 @@ default-package-overrides:
- bordacount ==0.1.0.0
- boring ==0.1.3
- both ==0.1.1.1
- bound ==2.0.2
- bound ==2.0.3
- BoundedChan ==1.0.3.0
- bounded-queue ==1.0.0
- boundingboxes ==0.2.3
- bower-json ==1.0.0.1
- boxes ==0.1.5
- brick ==0.59
- brick ==0.60.2
- broadcast-chan ==0.2.1.1
- bsb-http-chunked ==0.0.0.4
- bson ==0.4.0.1
@ -373,8 +372,8 @@ default-package-overrides:
- buffer-pipe ==0.0
- bugsnag-haskell ==0.0.4.1
- bugsnag-hs ==0.2.0.3
- bugzilla-redhat ==0.3.0
- burrito ==1.2.0.0
- bugzilla-redhat ==0.3.1
- burrito ==1.2.0.1
- butcher ==1.3.3.2
- bv ==0.5
- bv-little ==1.1.1
@ -397,6 +396,7 @@ default-package-overrides:
- bzlib-conduit ==0.3.0.2
- c14n ==0.1.0.1
- c2hs ==0.28.7
- cabal-appimage ==0.3.0.2
- cabal-debian ==5.1
- cabal-doctest ==1.0.8
- cabal-file ==0.1.1
@ -477,7 +477,7 @@ default-package-overrides:
- cmdargs ==0.10.20
- codec-beam ==0.2.0
- codec-rpm ==0.2.2
- code-page ==0.2
- code-page ==0.2.1
- co-log ==0.4.0.1
- co-log-concurrent ==0.5.0.0
- co-log-core ==0.2.1.1
@ -493,6 +493,7 @@ default-package-overrides:
- comonad ==5.0.8
- comonad-extras ==4.0.1
- compactmap ==0.1.4.2.1
- compdata ==0.12.1
- compensated ==0.8.1
- compiler-warnings ==0.1.0
- composable-associations ==0.1.0.0
@ -603,7 +604,7 @@ default-package-overrides:
- data-accessor-mtl ==0.2.0.4
- data-accessor-template ==0.2.1.16
- data-accessor-transformers ==0.2.1.7
- data-ascii ==1.0.0.2
- data-ascii ==1.0.0.4
- data-binary-ieee754 ==0.4.4
- data-bword ==0.1.0.1
- data-checked ==0.3
@ -618,7 +619,7 @@ default-package-overrides:
- datadog ==0.2.5.0
- data-dword ==0.3.2
- data-endian ==0.1.1
- data-fix ==0.3.0
- data-fix ==0.3.1
- data-forest ==0.1.0.8
- data-has ==0.4.0.0
- data-hash ==0.2.0.1
@ -656,7 +657,7 @@ default-package-overrides:
- derive-topdown ==0.0.2.2
- deriving-aeson ==0.2.6
- deriving-compat ==0.5.10
- derulo ==1.0.9
- derulo ==1.0.10
- dhall ==1.38.0
- dhall-bash ==1.0.36
- dhall-json ==1.7.5
@ -843,7 +844,7 @@ default-package-overrides:
- flexible-defaults ==0.0.3
- FloatingHex ==0.5
- floatshow ==0.2.4
- flow ==1.0.21
- flow ==1.0.22
- flush-queue ==1.0.0
- fmlist ==0.9.4
- fmt ==0.6.1.2
@ -897,6 +898,7 @@ default-package-overrides:
- generic-data ==0.9.2.0
- generic-data-surgery ==0.3.0.0
- generic-deriving ==1.13.1
- generic-functor ==0.2.0.0
- generic-lens ==2.0.0.0
- generic-lens-core ==2.0.0.0
- generic-monoid ==0.1.0.1
@ -939,9 +941,9 @@ default-package-overrides:
- ghcid ==0.8.7
- ghci-hexcalc ==0.1.1.0
- ghcjs-codemirror ==0.0.0.2
- ghc-lib ==8.10.3.20201220
- ghc-lib-parser ==8.10.3.20201220
- ghc-lib-parser-ex ==8.10.0.17
- ghc-lib ==8.10.4.20210206
- ghc-lib-parser ==8.10.4.20210206
- ghc-lib-parser-ex ==8.10.0.19
- ghc-parser ==0.2.2.0
- ghc-paths ==0.1.0.12
- ghc-prof ==1.4.1.7
@ -975,7 +977,7 @@ default-package-overrides:
- gi-pango ==1.0.23
- githash ==0.1.5.0
- github ==0.26
- github-release ==1.3.5
- github-release ==1.3.6
- github-rest ==1.0.3
- github-types ==0.2.1
- github-webhooks ==0.15.0
@ -1015,7 +1017,7 @@ default-package-overrides:
- hackage-db ==2.1.0
- hackage-security ==0.6.0.1
- haddock-library ==1.9.0
- hadolint ==1.21.0
- hadolint ==1.22.1
- hadoop-streaming ==0.2.0.3
- hakyll-convert ==0.3.0.3
- half ==0.3.1
@ -1067,7 +1069,7 @@ default-package-overrides:
- hebrew-time ==0.1.2
- hedgehog ==1.0.4
- hedgehog-corpus ==0.2.0
- hedgehog-fakedata ==0.0.1.3
- hedgehog-fakedata ==0.0.1.4
- hedgehog-fn ==1.0
- hedgehog-quickcheck ==0.1.1
- hedis ==0.14.2
@ -1119,7 +1121,7 @@ default-package-overrides:
- hourglass ==0.2.12
- hourglass-orphans ==0.1.0.0
- hp2pretty ==0.9
- hpack ==0.34.3
- hpack ==0.34.4
- hpack-dhall ==0.5.2
- hpc-codecov ==0.2.0.1
- hpc-lcov ==1.0.1
@ -1237,13 +1239,13 @@ default-package-overrides:
- hw-string-parse ==0.0.0.4
- hw-succinct ==0.1.0.1
- hw-xml ==0.5.1.0
- hxt ==9.3.1.18
- hxt-charproperties ==9.4.0.0
- hxt ==9.3.1.21
- hxt-charproperties ==9.5.0.0
- hxt-css ==0.1.0.3
- hxt-curl ==9.1.1.1
- hxt-expat ==9.1.1
- hxt-http ==9.1.5.2
- hxt-regex-xmlschema ==9.2.0.3
- hxt-regex-xmlschema ==9.2.0.7
- hxt-tagsoup ==9.1.4
- hxt-unicode ==9.0.2.4
- hybrid-vectors ==0.2.2
@ -1336,7 +1338,7 @@ default-package-overrides:
- js-dgtable ==0.5.2
- js-flot ==0.8.3
- js-jquery ==3.3.1
- json-feed ==1.0.11
- json-feed ==1.0.12
- jsonpath ==0.2.0.0
- json-rpc ==1.0.3
- json-rpc-generic ==0.2.1.5
@ -1403,7 +1405,7 @@ default-package-overrides:
- lens-family-core ==2.0.0
- lens-family-th ==0.5.1.0
- lens-misc ==0.0.2.0
- lens-process ==0.3.0.2
- lens-process ==0.4.0.0
- lens-properties ==4.11.1
- lens-regex ==0.1.1
- lens-regex-pcre ==1.1.0.0
@ -1432,7 +1434,7 @@ default-package-overrides:
- ListLike ==4.7.4
- list-predicate ==0.1.0.1
- listsafe ==0.1.0.1
- list-singleton ==1.0.0.4
- list-singleton ==1.0.0.5
- list-t ==1.0.4
- ListTree ==0.2.3
- little-logger ==0.3.1
@ -1545,7 +1547,7 @@ default-package-overrides:
- mock-time ==0.1.0
- mod ==0.1.2.1
- model ==0.5
- modern-uri ==0.3.3.0
- modern-uri ==0.3.3.1
- modular ==0.1.0.8
- monad-chronicle ==1.0.0.1
- monad-control ==1.0.2.3
@ -1610,7 +1612,7 @@ default-package-overrides:
- mwc-random ==0.14.0.0
- mwc-random-monad ==0.7.3.1
- mx-state-codes ==1.0.0.0
- mysql ==0.1.7.2
- mysql ==0.1.7.3
- mysql-simple ==0.4.5
- n2o ==0.11.1
- nagios-check ==0.3.2
@ -1644,9 +1646,9 @@ default-package-overrides:
- network-simple-tls ==0.4
- network-transport ==0.5.4
- network-transport-composed ==0.2.1
- network-uri ==2.6.3.0
- network-uri ==2.6.4.1
- newtype ==0.2.2.0
- newtype-generics ==0.5.4
- newtype-generics ==0.6
- nicify-lib ==1.0.1
- NineP ==0.0.2.1
- nix-paths ==1.0.1
@ -1741,8 +1743,8 @@ default-package-overrides:
- partial-handler ==1.0.3
- partial-isomorphisms ==0.2.2.1
- partial-semigroup ==0.5.1.8
- password ==2.1.0.0
- password-instances ==2.0.0.1
- password ==2.1.1.0
- password-instances ==2.0.0.2
- path ==0.7.0
- path-binary-instance ==0.1.0.1
- path-extensions ==0.1.1.0
@ -1764,6 +1766,7 @@ default-package-overrides:
- peano ==0.1.0.1
- pem ==0.2.4
- percent-format ==0.0.1
- peregrin ==0.3.1
- perfect-hash-generator ==0.2.0.6
- perfect-vector-shuffle ==0.1.1.1
- persist ==0.1.1.5
@ -1776,7 +1779,7 @@ default-package-overrides:
- persistent-pagination ==0.1.1.2
- persistent-postgresql ==2.11.0.1
- persistent-qq ==2.9.2.1
- persistent-sqlite ==2.11.0.0
- persistent-sqlite ==2.11.1.0
- persistent-template ==2.9.1.0
- persistent-test ==2.0.3.5
- persistent-typed-db ==0.1.0.2
@ -1861,7 +1864,7 @@ default-package-overrides:
- probability ==0.2.7
- process-extras ==0.7.4
- product-isomorphic ==0.0.3.3
- product-profunctors ==0.11.0.1
- product-profunctors ==0.11.0.2
- profiterole ==0.1
- profunctors ==5.5.2
- projectroot ==0.2.0.1
@ -1895,7 +1898,7 @@ default-package-overrides:
- pushbullet-types ==0.4.1.0
- pusher-http-haskell ==2.0.0.3
- pvar ==1.0.0.0
- PyF ==0.9.0.2
- PyF ==0.9.0.3
- qchas ==1.1.0.1
- qm-interpolated-string ==0.3.0.0
- qrcode-core ==0.9.4
@ -1916,12 +1919,12 @@ default-package-overrides:
- quickcheck-transformer ==0.3.1.1
- quickcheck-unicode ==1.0.1.0
- quiet ==0.2
- quote-quot ==0.1.0.0
- quote-quot ==0.2.0.0
- radius ==0.7.1.0
- rainbow ==0.34.2.2
- rainbox ==0.26.0.0
- ral ==0.1
- rampart ==1.1.0.1
- rampart ==1.1.0.2
- ramus ==0.1.2
- rando ==0.0.0.4
- random ==1.1
@ -1937,9 +1940,9 @@ default-package-overrides:
- rank2classes ==1.4.1
- Rasterific ==0.7.5.3
- rasterific-svg ==0.3.3.2
- ratel ==1.0.12
- ratel ==1.0.13
- rate-limit ==1.4.2
- ratel-wai ==1.1.3
- ratel-wai ==1.1.4
- rattle ==0.2
- rawfilepath ==0.2.4
- rawstring-qm ==0.2.3.0
@ -2019,10 +2022,10 @@ default-package-overrides:
- rocksdb-haskell-jprupp ==2.1.3
- rocksdb-query ==0.4.2
- roles ==0.2.0.0
- rope-utf16-splay ==0.3.1.0
- rope-utf16-splay ==0.3.2.0
- rosezipper ==0.2
- rot13 ==0.2.0.1
- rpmbuild-order ==0.4.3.1
- rpmbuild-order ==0.4.3.2
- RSA ==2.4.1
- runmemo ==1.0.0.1
- rvar ==0.2.0.6
@ -2039,7 +2042,7 @@ default-package-overrides:
- salak ==0.3.6
- salak-yaml ==0.3.5.3
- saltine ==0.1.1.1
- salve ==1.0.10
- salve ==1.0.11
- sample-frame ==0.0.3
- sample-frame-np ==0.0.4.1
- sampling ==0.3.5
@ -2188,7 +2191,7 @@ default-package-overrides:
- speedy-slice ==0.3.1
- Spintax ==0.3.5
- splice ==0.6.1.1
- splint ==1.0.1.2
- splint ==1.0.1.3
- split ==0.2.3.4
- splitmix ==0.1.0.3
- spoon ==0.3.1
@ -2254,7 +2257,7 @@ default-package-overrides:
- stripe-haskell ==2.6.2
- stripe-http-client ==2.6.2
- stripe-tests ==2.6.2
- strive ==5.0.12
- strive ==5.0.13
- structs ==0.1.4
- structured ==0.1
- structured-cli ==2.6.0.0
@ -2293,7 +2296,7 @@ default-package-overrides:
- tardis ==0.4.1.0
- tasty ==1.2.3
- tasty-ant-xml ==1.1.7
- tasty-bench ==0.1
- tasty-bench ==0.2.1
- tasty-dejafu ==2.0.0.7
- tasty-discover ==4.2.2
- tasty-expected-failure ==0.12.2
@ -2334,7 +2337,7 @@ default-package-overrides:
- test-framework-smallcheck ==0.2
- test-fun ==0.1.0.0
- testing-type-modifiers ==0.1.0.1
- texmath ==0.12.1
- texmath ==0.12.1.1
- text-ansi ==0.1.1
- text-binary ==0.2.1.1
- text-builder ==0.6.6.1
@ -2358,7 +2361,7 @@ default-package-overrides:
- tf-random ==0.5
- th-abstraction ==0.4.2.0
- th-bang-compat ==0.0.1.0
- th-compat ==0.1
- th-compat ==0.1.1
- th-constraint-compat ==0.0.1.0
- th-data-compat ==0.1.0.0
- th-desugar ==1.11
@ -2406,7 +2409,7 @@ default-package-overrides:
- tinylog ==0.15.0
- titlecase ==1.0.1
- tldr ==0.9.0
- tls ==1.5.4
- tls ==1.5.5
- tls-debug ==0.4.8
- tls-session-manager ==0.0.4
- tlynx ==0.5.0.1
@ -2428,6 +2431,7 @@ default-package-overrides:
- traverse-with-class ==1.0.1.0
- tree-diff ==0.1
- tree-fun ==0.8.1.0
- tree-view ==0.5
- trifecta ==2.1
- triplesec ==0.2.2.1
- tsv2csv ==0.1.0.2
@ -2453,7 +2457,7 @@ default-package-overrides:
- type-level-numbers ==0.1.1.1
- type-map ==0.1.6.0
- type-natural ==1.0.0.0
- type-of-html ==1.6.1.2
- type-of-html ==1.6.2.0
- type-of-html-static ==0.1.0.2
- type-operators ==0.2.0.0
- typerep-map ==0.3.3.0
@ -2497,6 +2501,7 @@ default-package-overrides:
- unliftio ==0.2.14
- unliftio-core ==0.2.0.1
- unliftio-pool ==0.2.1.1
- unliftio-streams ==0.1.1.1
- unlit ==0.4.0.0
- unordered-containers ==0.2.13.0
- unsafe ==0.0
@ -2530,12 +2535,13 @@ default-package-overrides:
- valor ==0.1.0.0
- vault ==0.3.1.4
- vec ==0.3
- vector ==0.12.1.2
- vector ==0.12.2.0
- vector-algorithms ==0.8.0.4
- vector-binary-instances ==0.2.5.1
- vector-buffer ==0.4.1
- vector-builder ==0.3.8
- vector-bytes-instances ==0.1.1
- vector-circular ==0.1.3
- vector-instances ==3.4
- vector-mmap ==0.0.3
- vector-rotcev ==0.1.0.0
@ -2573,7 +2579,7 @@ default-package-overrides:
- wai-slack-middleware ==0.2.0
- wai-websockets ==3.0.1.2
- wakame ==0.1.0.0
- warp ==3.3.13
- warp ==3.3.14
- warp-tls ==3.3.0
- warp-tls-uid ==0.2.0.6
- wave ==0.2.0
@ -2595,7 +2601,7 @@ default-package-overrides:
- Win32 ==2.6.1.0
- Win32-notify ==0.3.0.3
- windns ==0.1.0.1
- witch ==0.0.0.4
- witch ==0.0.0.5
- witherable-class ==0
- within ==0.2.0.1
- with-location ==0.1.0
@ -2610,12 +2616,12 @@ default-package-overrides:
- word-wrap ==0.4.1
- world-peace ==1.0.2.0
- wrap ==0.0.0
- wreq ==0.5.3.2
- wreq ==0.5.3.3
- writer-cps-exceptions ==0.1.0.1
- writer-cps-mtl ==0.1.1.6
- writer-cps-transformers ==0.5.6.1
- wss-client ==0.3.0.0
- wuss ==1.1.17
- wuss ==1.1.18
- X11 ==1.9.2
- X11-xft ==0.3.1
- x11-xim ==0.0.9.0
@ -2661,7 +2667,7 @@ default-package-overrides:
- yesod-form ==1.6.7
- yesod-gitrev ==0.2.1
- yesod-newsfeed ==1.7.0.0
- yesod-page-cursor ==2.0.0.2
- yesod-page-cursor ==2.0.0.3
- yesod-paginator ==1.1.1.0
- yesod-persistent ==1.6.0.5
- yesod-sitemap ==1.6.0
@ -2697,6 +2703,7 @@ default-package-overrides:
extra-packages:
- Cabal == 2.2.* # required for jailbreak-cabal etc.
- Cabal == 2.4.* # required for cabal-install etc.
- Cabal == 3.2.* # required for cabal-install etc.
- dhall == 1.29.0 # required for ats-pkg
- dhall == 1.37.1 # required for spago 0.19.0.
- Diff < 0.4 # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
@ -2711,8 +2718,10 @@ extra-packages:
- dependent-map == 0.2.4.0 # required by Hasura 1.3.1, 2020-08-20
- dependent-sum == 0.4 # required by Hasura 1.3.1, 2020-08-20
- network == 2.6.3.1 # required by pkgs/games/hedgewars/default.nix, 2020-11-15
- apply-refact == 0.8.2.1 # Needed for hls 0.8.0
- mmorph == 1.1.3 # Newest working version of mmorph on ghc 8.6.5. needed for hls
- haskell-lsp == 0.23.0.0 # required by hls-plugin-api 0.7.0.0, 2021-02-08
- haskell-lsp-types == 0.23.0.0 # required by hls-plugin-api 0.7.0.0, 2021-02-08
- lsp-test == 0.11.0.7 # required by hls-plugin-api 0.7.0.0, 2021-02-08
package-maintainers:
peti:
@ -5127,6 +5136,7 @@ broken-packages:
- fay-websockets
- fb-persistent
- fbmessenger-api
- fbrnch
- fca
- fcache
- fcd
@ -11028,6 +11038,7 @@ broken-packages:
- unix-fcntl
- unix-handle
- unix-process-conduit
- unix-simple
- unlifted-list
- unliftio-streams
- unm-hip
@ -11198,9 +11209,6 @@ broken-packages:
- visual-prof
- visualize-cbn
- vitrea
- vivid
- vivid-osc
- vivid-supercollider
- vk-aws-route53
- VKHS
- voicebase

File diff suppressed because it is too large Load Diff

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

@ -114,6 +114,16 @@ in {
buildLlvmPackages = buildPackages.llvmPackages_9;
llvmPackages = pkgs.llvmPackages_9;
};
ghc8104 = callPackage ../development/compilers/ghc/8.10.4.nix {
# aarch64 ghc865Binary gets SEGVs due to haskell#15449 or similar
bootPkgs = if stdenv.isAarch64 || stdenv.isAarch32 then
packages.ghc8102BinaryMinimal
else
packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx;
buildLlvmPackages = buildPackages.llvmPackages_9;
llvmPackages = pkgs.llvmPackages_9;
};
ghc901 = callPackage ../development/compilers/ghc/9.0.1.nix {
bootPkgs = packages.ghc8102Binary;
inherit (buildPackages.python3Packages) sphinx;
@ -221,6 +231,11 @@ in {
ghc = bh.compiler.ghc8103;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
};
ghc8104 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc8104;
ghc = bh.compiler.ghc8104;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.10.x.nix { };
};
ghc901 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc901;
ghc = bh.compiler.ghc901;