Merge pull request #94872 from NixOS/haskell-updates
Update Haskell package set to LTS 16.8 (plus other fixes)
This commit is contained in:
commit
99ec166142
@ -24,7 +24,7 @@
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableProfiliedLibs ? !stdenv.targetPlatform.isAarch64
|
||||
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
@ -68,7 +68,7 @@ let
|
||||
HADDOCK_DOCS = NO
|
||||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' + stdenv.lib.optionalString (!enableProfiliedLibs) ''
|
||||
'' + stdenv.lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
|
@ -23,6 +23,9 @@
|
||||
, # 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
|
||||
@ -30,9 +33,6 @@
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableProfiliedLibs ? !stdenv.targetPlatform.isAarch64
|
||||
|
||||
, # 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)
|
||||
@ -68,7 +68,7 @@ let
|
||||
HADDOCK_DOCS = NO
|
||||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' + stdenv.lib.optionalString (!enableProfiliedLibs) ''
|
||||
'' + stdenv.lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
|
@ -24,7 +24,7 @@
|
||||
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
|
||||
|
||||
# aarch64 outputs otherwise exceed 2GB limit
|
||||
, enableProfiliedLibs ? !stdenv.targetPlatform.isAarch64
|
||||
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
|
||||
|
||||
, # Whether to build dynamic libs for the standard library (on the target
|
||||
# platform). Static libs are always built.
|
||||
@ -68,7 +68,7 @@ let
|
||||
HADDOCK_DOCS = NO
|
||||
BUILD_SPHINX_HTML = NO
|
||||
BUILD_SPHINX_PDF = NO
|
||||
'' + stdenv.lib.optionalString (!enableProfiliedLibs) ''
|
||||
'' + stdenv.lib.optionalString (!enableProfiledLibs) ''
|
||||
GhcLibWays = "v dyn"
|
||||
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
|
||||
GhcLibHcOpts += -fPIC
|
||||
|
@ -20,9 +20,9 @@
|
||||
# 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 ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms)
|
||||
, # If enabled, GHC will be built with the GPL-free but slightly slower native
|
||||
# bignum backend instead of the faster but GPLed gmp backend.
|
||||
enableNativeBignum ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms)
|
||||
, gmp
|
||||
|
||||
, # If enabled, use -fPIC when compiling static libs.
|
||||
@ -35,7 +35,7 @@
|
||||
, # Whether to build terminfo.
|
||||
enableTerminfo ? !stdenv.targetPlatform.isWindows
|
||||
|
||||
, version ? "8.11.20200505"
|
||||
, version ? "8.11.20200731"
|
||||
, # 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)
|
||||
@ -46,7 +46,7 @@
|
||||
disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
|
||||
}:
|
||||
|
||||
assert !enableIntegerSimple -> gmp != null;
|
||||
assert !enableNativeBignum -> gmp != null;
|
||||
|
||||
let
|
||||
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
|
||||
@ -64,7 +64,7 @@ let
|
||||
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"}
|
||||
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
|
||||
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
|
||||
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
|
||||
CrossCompilePrefix = ${targetPrefix}
|
||||
@ -81,7 +81,7 @@ let
|
||||
# Splicer will pull out correct variations
|
||||
libDeps = platform: stdenv.lib.optional enableTerminfo ncurses
|
||||
++ [libffi]
|
||||
++ stdenv.lib.optional (!enableIntegerSimple) gmp
|
||||
++ stdenv.lib.optional (!enableNativeBignum) gmp
|
||||
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
|
||||
++ stdenv.lib.optional enableDwarf elfutils;
|
||||
|
||||
@ -103,8 +103,8 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://gitlab.haskell.org/ghc/ghc.git/";
|
||||
rev = "40c71c2cf38b4e134d81b7184a4d5e02949ae70c";
|
||||
sha256 = "04h9rcyzm9w3an1z00hjs062dp7dl19b8pkyxjsypr7a2i9dmvkb";
|
||||
rev = "380638a33691ba43fdcd2e18bca636750e5f66f1";
|
||||
sha256 = "029cgiyhddvwnx5zx31i0vgj13zsvzb8fna99zr6ifscz6x7rid1";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -173,7 +173,7 @@ stdenv.mkDerivation (rec {
|
||||
"--with-system-libffi"
|
||||
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
|
||||
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
|
||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableIntegerSimple) [
|
||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
|
||||
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
|
||||
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
|
||||
] ++ stdenv.lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
|
||||
|
@ -1336,7 +1336,7 @@ self: super: {
|
||||
})).override {
|
||||
# we are faster than stack here
|
||||
hie-bios = dontCheck self.hie-bios_0_6_1;
|
||||
lsp-test = dontCheck self.lsp-test_0_11_0_3;
|
||||
lsp-test = dontCheck self.lsp-test_0_11_0_4;
|
||||
});
|
||||
|
||||
haskell-language-server = (overrideCabal super.haskell-language-server
|
||||
@ -1356,7 +1356,7 @@ self: super: {
|
||||
ghcide = self.hls-ghcide;
|
||||
# we are faster than stack here
|
||||
hie-bios = dontCheck self.hie-bios_0_6_1;
|
||||
lsp-test = dontCheck self.lsp-test_0_11_0_3;
|
||||
lsp-test = dontCheck self.lsp-test_0_11_0_4;
|
||||
};
|
||||
|
||||
# https://github.com/kowainik/policeman/issues/57
|
||||
|
@ -67,9 +67,9 @@ self: super: {
|
||||
unliftio-core = doJailbreak super.unliftio-core;
|
||||
|
||||
# Use the latest version to fix the build.
|
||||
dhall = self.dhall_1_33_1;
|
||||
dhall = self.dhall_1_34_0;
|
||||
lens = self.lens_4_19_2;
|
||||
optics-core = self.optics-core_0_3;
|
||||
optics-core = self.optics-core_0_3_0_1;
|
||||
repline = self.repline_0_4_0_0;
|
||||
singletons = self.singletons_2_7;
|
||||
th-desugar = self.th-desugar_1_11;
|
||||
|
@ -26,6 +26,7 @@ self: super: {
|
||||
filepath = null;
|
||||
ghc-boot = null;
|
||||
ghc-boot-th = null;
|
||||
ghc-bignum = null;
|
||||
ghc-compact = null;
|
||||
ghc-heap = null;
|
||||
ghci = null;
|
||||
|
@ -72,7 +72,7 @@ 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
|
||||
# LTS Haskell 16.7
|
||||
# LTS Haskell 16.8
|
||||
- abstract-deque ==0.3
|
||||
- abstract-par ==0.3.3
|
||||
- AC-Angle ==1.0
|
||||
@ -323,7 +323,7 @@ default-package-overrides:
|
||||
- bins ==0.1.2.0
|
||||
- bitarray ==0.0.1.1
|
||||
- bits ==0.5.2
|
||||
- bitset-word8 ==0.1.1.1
|
||||
- bitset-word8 ==0.1.1.2
|
||||
- bits-extra ==0.0.2.0
|
||||
- bitvec ==1.0.3.0
|
||||
- blake2 ==0.3.0
|
||||
@ -439,9 +439,9 @@ default-package-overrides:
|
||||
- cipher-des ==0.0.6
|
||||
- cipher-rc4 ==0.1.4
|
||||
- circle-packing ==0.1.0.6
|
||||
- clash-ghc ==1.2.3
|
||||
- clash-lib ==1.2.3
|
||||
- clash-prelude ==1.2.3
|
||||
- clash-ghc ==1.2.4
|
||||
- clash-lib ==1.2.4
|
||||
- clash-prelude ==1.2.4
|
||||
- classy-prelude ==1.5.0
|
||||
- classy-prelude-conduit ==1.5.0
|
||||
- classy-prelude-yesod ==1.5.0
|
||||
@ -518,9 +518,9 @@ default-package-overrides:
|
||||
- control-monad-omega ==0.3.2
|
||||
- convertible ==1.1.1.0
|
||||
- cookie ==0.4.5
|
||||
- core-data ==0.2.1.5
|
||||
- core-program ==0.2.4.2
|
||||
- core-text ==0.2.3.3
|
||||
- core-data ==0.2.1.7
|
||||
- core-program ==0.2.4.4
|
||||
- core-text ==0.2.3.5
|
||||
- countable ==1.0
|
||||
- cpio-conduit ==0.7.0
|
||||
- cpphs ==1.20.9.1
|
||||
@ -787,7 +787,7 @@ default-package-overrides:
|
||||
- file-path-th ==0.1.0.0
|
||||
- filepattern ==0.1.2
|
||||
- fileplow ==0.1.0.0
|
||||
- filtrable ==0.1.3.0
|
||||
- filtrable ==0.1.4.0
|
||||
- fin ==0.1.1
|
||||
- FindBin ==0.0.5
|
||||
- fingertree ==0.1.4.2
|
||||
@ -976,6 +976,7 @@ default-package-overrides:
|
||||
- hadoop-streaming ==0.2.0.3
|
||||
- hakyll ==4.13.4.0
|
||||
- half ==0.3
|
||||
- hall-symbols ==0.1.0.6
|
||||
- hamtsolo ==1.0.3
|
||||
- HandsomeSoup ==0.4.2
|
||||
- hapistrano ==0.4.1.0
|
||||
@ -1046,7 +1047,7 @@ default-package-overrides:
|
||||
- hint ==0.9.0.3
|
||||
- hjsmin ==0.2.0.4
|
||||
- hkd-default ==1.1.0.0
|
||||
- hkgr ==0.2.6
|
||||
- hkgr ==0.2.6.1
|
||||
- hlibcpuid ==0.2.0
|
||||
- hlibgit2 ==0.18.0.16
|
||||
- hmatrix ==0.20.0.0
|
||||
@ -1144,7 +1145,7 @@ default-package-overrides:
|
||||
- http-link-header ==1.0.3.1
|
||||
- http-media ==0.8.0.0
|
||||
- http-reverse-proxy ==0.6.0
|
||||
- http-streams ==0.8.7.1
|
||||
- http-streams ==0.8.7.2
|
||||
- http-types ==0.12.3
|
||||
- human-readable-duration ==0.2.1.4
|
||||
- HUnit ==1.6.0.0
|
||||
@ -1511,7 +1512,7 @@ default-package-overrides:
|
||||
- MusicBrainz ==0.4.1
|
||||
- mustache ==2.3.1
|
||||
- mutable-containers ==0.3.4
|
||||
- mwc-probability ==2.3.0
|
||||
- mwc-probability ==2.3.1
|
||||
- mwc-random ==0.14.0.0
|
||||
- mx-state-codes ==1.0.0.0
|
||||
- mysql ==0.1.7
|
||||
@ -1732,11 +1733,11 @@ default-package-overrides:
|
||||
- pretty-class ==1.0.1.1
|
||||
- pretty-hex ==1.1
|
||||
- prettyprinter ==1.6.2
|
||||
- prettyprinter-ansi-terminal ==1.1.1.2
|
||||
- prettyprinter-ansi-terminal ==1.1.2
|
||||
- prettyprinter-compat-annotated-wl-pprint ==1
|
||||
- prettyprinter-compat-ansi-wl-pprint ==1.0.1
|
||||
- prettyprinter-compat-wl-pprint ==1.0.0.1
|
||||
- prettyprinter-convert-ansi-wl-pprint ==1.1
|
||||
- prettyprinter-convert-ansi-wl-pprint ==1.1.1
|
||||
- pretty-relative-time ==0.2.0.0
|
||||
- pretty-show ==1.10
|
||||
- pretty-simple ==3.2.3.0
|
||||
@ -1825,7 +1826,7 @@ default-package-overrides:
|
||||
- rawstring-qm ==0.2.3.0
|
||||
- raw-strings-qq ==1.1
|
||||
- rcu ==0.2.4
|
||||
- rdf ==0.1.0.3
|
||||
- rdf ==0.1.0.4
|
||||
- rdtsc ==1.3.0.1
|
||||
- re2 ==0.3
|
||||
- readable ==0.3.1
|
||||
@ -1914,7 +1915,7 @@ default-package-overrides:
|
||||
- salve ==1.0.10
|
||||
- sample-frame ==0.0.3
|
||||
- sample-frame-np ==0.0.4.1
|
||||
- sampling ==0.3.4
|
||||
- sampling ==0.3.5
|
||||
- say ==0.1.0.1
|
||||
- sbp ==2.6.3
|
||||
- scalpel ==0.6.2
|
||||
@ -2137,6 +2138,7 @@ default-package-overrides:
|
||||
- syb ==0.7.1
|
||||
- symbol ==0.2.4
|
||||
- symengine ==0.1.2.0
|
||||
- symmetry-operations-symbols ==0.0.1.4
|
||||
- sysinfo ==0.1.1
|
||||
- system-argv0 ==0.1.1
|
||||
- systemd ==2.3.0
|
||||
@ -2231,10 +2233,10 @@ default-package-overrides:
|
||||
- th-nowq ==0.1.0.5
|
||||
- th-orphans ==0.13.10
|
||||
- th-printf ==0.7
|
||||
- thread-hierarchy ==0.3.0.1
|
||||
- thread-hierarchy ==0.3.0.2
|
||||
- thread-local-storage ==0.2
|
||||
- threads ==0.5.1.6
|
||||
- thread-supervisor ==0.1.0.0
|
||||
- thread-supervisor ==0.1.0.1
|
||||
- threepenny-gui ==0.9.0.0
|
||||
- th-reify-compat ==0.0.1.5
|
||||
- th-reify-many ==0.1.9
|
||||
@ -2426,9 +2428,9 @@ default-package-overrides:
|
||||
- wave ==0.2.0
|
||||
- wcwidth ==0.0.2
|
||||
- webdriver ==0.9.0.1
|
||||
- webex-teams-api ==0.2.0.0
|
||||
- webex-teams-conduit ==0.2.0.0
|
||||
- webex-teams-pipes ==0.2.0.0
|
||||
- webex-teams-api ==0.2.0.1
|
||||
- webex-teams-conduit ==0.2.0.1
|
||||
- webex-teams-pipes ==0.2.0.1
|
||||
- webrtc-vad ==0.1.0.3
|
||||
- websockets ==0.12.7.1
|
||||
- websockets-snap ==0.10.3.1
|
||||
@ -3745,6 +3747,7 @@ broken-packages:
|
||||
- chart-histogram
|
||||
- Chart-simple
|
||||
- chart-svg
|
||||
- chart-svg-various
|
||||
- chart-unit
|
||||
- chatter
|
||||
- chatty-text
|
||||
@ -7615,6 +7618,7 @@ broken-packages:
|
||||
- mDNSResponder-client
|
||||
- mdp
|
||||
- mealstrom
|
||||
- mealy
|
||||
- MeanShift
|
||||
- Measure
|
||||
- mecab
|
||||
@ -8661,6 +8665,8 @@ broken-packages:
|
||||
- postgresql-simple-sop
|
||||
- postgresql-simple-typed
|
||||
- postgresql-syntax
|
||||
- postgresql-tx-query
|
||||
- postgresql-tx-squeal
|
||||
- postgresql-typed
|
||||
- postgresql-typed-lifted
|
||||
- postgrest-ws
|
||||
@ -9334,6 +9340,7 @@ broken-packages:
|
||||
- SCalendar
|
||||
- scalendar
|
||||
- scalp-webhooks
|
||||
- scalpel-search
|
||||
- scan-vector-machine
|
||||
- scc
|
||||
- scenegraph
|
||||
@ -10164,6 +10171,7 @@ broken-packages:
|
||||
- taskell
|
||||
- TaskMonad
|
||||
- tasty-auto
|
||||
- tasty-bdd
|
||||
- tasty-fail-fast
|
||||
- tasty-groundhog-converters
|
||||
- tasty-hedgehog-coverage
|
||||
|
2376
pkgs/development/haskell-modules/hackage-packages.nix
generated
2376
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -8,6 +8,12 @@ let
|
||||
"ghcjs"
|
||||
"ghcjs86"
|
||||
"integer-simple"
|
||||
"native-bignum"
|
||||
"ghcHEAD"
|
||||
];
|
||||
|
||||
nativeBignumIncludes = [
|
||||
"ghcHEAD"
|
||||
];
|
||||
|
||||
haskellLib = import ../development/haskell-modules/lib.nix {
|
||||
@ -97,6 +103,16 @@ in {
|
||||
in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
|
||||
integerSimpleGhcNames
|
||||
(name: compiler.${name}.override { enableIntegerSimple = true; }));
|
||||
|
||||
# Starting from GHC 9, integer-{simple,gmp} is replaced by ghc-bignum
|
||||
# with "native" and "gmp" backends.
|
||||
native-bignum = let
|
||||
nativeBignumGhcNames = pkgs.lib.filter
|
||||
(name: builtins.elem name nativeBignumIncludes)
|
||||
(pkgs.lib.attrNames compiler);
|
||||
in pkgs.recurseIntoAttrs (pkgs.lib.genAttrs
|
||||
nativeBignumGhcNames
|
||||
(name: compiler.${name}.override { enableNativeBignum = true; }));
|
||||
};
|
||||
|
||||
# Default overrides that are applied to all package sets.
|
||||
@ -170,5 +186,16 @@ in {
|
||||
};
|
||||
});
|
||||
|
||||
native-bignum = let
|
||||
nativeBignumGhcNames = pkgs.lib.filter
|
||||
(name: builtins.elem name nativeBignumIncludes)
|
||||
(pkgs.lib.attrNames compiler);
|
||||
in pkgs.lib.genAttrs nativeBignumGhcNames (name: packages.${name}.override {
|
||||
ghc = bh.compiler.native-bignum.${name};
|
||||
buildHaskellPackages = bh.packages.native-bignum.${name};
|
||||
overrides = _self : _super : {
|
||||
integer-gmp = null;
|
||||
};
|
||||
});
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user