Merge pull request #83164 from NixOS/haskell-updates

Update Haskell package set to LTS 15.5 (plus other fixes)
This commit is contained in:
Peter Simons 2020-03-27 21:31:27 +01:00 committed by GitHub
commit 1d963cde66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 1839 additions and 726 deletions

View File

@ -1,6 +1,6 @@
{ fetchurl }: { fetchurl }:
fetchurl { fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/fcb0ed924c8504d54870d6dc2092b9dab8305732.tar.gz"; url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e0bc864e0b6edb5e5ce1ec4bfa763a442b343bf5.tar.gz";
sha256 = "0b7dxgj40y9svddrx14scnxls20ww4f717zhz3lwigb16dm4crpi"; sha256 = "1lmjxam58srrv9cjqajqz4bishx8hy99db3cx83i95qb3qiiiz6m";
} }

View File

@ -149,15 +149,21 @@ stdenv.mkDerivation (rec {
# TODO(@Ericson2314): Always pass "--target" and always prefix. # TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ] configurePlatforms = [ "build" "host" ]
++ stdenv.lib.optional (targetPlatform != hostPlatform) "target"; ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
# `--with` flags for libraries needed for RTS linker # `--with` flags for libraries needed for RTS linker
configureFlags = [ configureFlags = [
"--datadir=$doc/share/doc/ghc" "--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib" "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib" ] ++ stdenv.lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib" "--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [ ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib" "--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [ ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot" "--enable-bootstrap-with-devel-snapshot"
] ++ stdenv.lib.optionals useLdGold [ ] ++ stdenv.lib.optionals useLdGold [

View File

@ -1,12 +1,15 @@
{ stdenv { stdenv
, fetchurl, perl, gcc , fetchurl, perl, gcc
, ncurses5, gmp, glibc, libiconv , ncurses5, gmp, glibc, libiconv
, llvmPackages
}: }:
# Prebuilt only does native # Prebuilt only does native
assert stdenv.targetPlatform == stdenv.hostPlatform; assert stdenv.targetPlatform == stdenv.hostPlatform;
let let
useLLVM = !stdenv.targetPlatform.isx86;
libPath = stdenv.lib.makeLibraryPath ([ libPath = stdenv.lib.makeLibraryPath ([
ncurses5 gmp ncurses5 gmp
] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv); ] ++ stdenv.lib.optional (stdenv.hostPlatform.isDarwin) libiconv);
@ -24,27 +27,33 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "8.6.3"; version = "8.6.5";
name = "ghc-${version}-binary"; name = "ghc-${version}-binary";
# https://downloads.haskell.org/~ghc/8.6.5/
src = fetchurl ({ src = fetchurl ({
i686-linux = { i686-linux = {
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb8-linux.tar.xz"; url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-deb9-linux.tar.xz";
sha256 = "0bw8a7fxcbskf93rb4m542ff66vrmx5i5kj77qx37cbhijx70w5m"; sha256 = "1p2h29qghql19ajk755xa0yxkn85slbds8m9n5196ris743vkp8w";
}; };
x86_64-linux = { x86_64-linux = {
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb8-linux.tar.xz"; url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-deb9-linux.tar.xz";
sha256 = "1m9gaga2pzi2cx5gvasg0rx1dlvr68gmi20l67652kag6xjsa719"; sha256 = "1pqlx6rdjs2110g0y1i9f8x18lmdizibjqd15f5xahcz39hgaxdw";
};
aarch64-linux = {
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-aarch64-ubuntu18.04-linux.tar.xz";
sha256 = "11n7l2a36i5vxzzp85la2555q4m34l747g0pnmd81cp46y85hlhq";
}; };
x86_64-darwin = { x86_64-darwin = {
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz"; url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
sha256 = "1hbzk57v45176kxcx848p5jn5p1xbp2129ramkbzsk6plyhnkl3r"; sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz";
}; };
}.${stdenv.hostPlatform.system} }.${stdenv.hostPlatform.system}
or (throw "cannot bootstrap GHC on this platform")); or (throw "cannot bootstrap GHC on this platform"));
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];
propagatedBuildInputs = stdenv.lib.optionals useLLVM [ llvmPackages.llvm ];
# Cannot patchelf beforehand due to relative RPATHs that anticipate # Cannot patchelf beforehand due to relative RPATHs that anticipate
# the final install location/ # the final install location/
@ -168,5 +177,5 @@ stdenv.mkDerivation rec {
}; };
meta.license = stdenv.lib.licenses.bsd3; meta.license = stdenv.lib.licenses.bsd3;
meta.platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"]; meta.platforms = ["x86_64-linux" "aarch64-linux" "i686-linux" "x86_64-darwin"];
} }

View File

@ -76,7 +76,7 @@ default-package-overrides:
# gi-gdkx11-4.x requires gtk-4.x, which is still under development and # gi-gdkx11-4.x requires gtk-4.x, which is still under development and
# not yet available in Nixpkgs # not yet available in Nixpkgs
- gi-gdkx11 < 4 - gi-gdkx11 < 4
# LTS Haskell 15.4 # LTS Haskell 15.5
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
- AC-Angle ==1.0 - AC-Angle ==1.0
@ -88,7 +88,7 @@ default-package-overrides:
- adjunctions ==4.4 - adjunctions ==4.4
- adler32 ==0.1.2.0 - adler32 ==0.1.2.0
- advent-of-code-api ==0.2.7.0 - advent-of-code-api ==0.2.7.0
- aeson ==1.4.6.0 - aeson ==1.4.7.0
- aeson-attoparsec ==0.0.0 - aeson-attoparsec ==0.0.0
- aeson-better-errors ==0.9.1.0 - aeson-better-errors ==0.9.1.0
- aeson-casing ==0.2.0.0 - aeson-casing ==0.2.0.0
@ -267,7 +267,7 @@ default-package-overrides:
- auto-update ==0.1.6 - auto-update ==0.1.6
- avers ==0.0.17.1 - avers ==0.0.17.1
- avro ==0.4.7.0 - avro ==0.4.7.0
- aws-cloudfront-signed-cookies ==0.2.0.1 - aws-cloudfront-signed-cookies ==0.2.0.4
- base16-bytestring ==0.1.1.6 - base16-bytestring ==0.1.1.6
- base32string ==0.9.1 - base32string ==0.9.1
- base58string ==0.10.0 - base58string ==0.10.0
@ -407,7 +407,7 @@ default-package-overrides:
- Chart-diagrams ==1.9.3 - Chart-diagrams ==1.9.3
- chaselev-deque ==0.5.0.5 - chaselev-deque ==0.5.0.5
- ChasingBottoms ==1.3.1.7 - ChasingBottoms ==1.3.1.7
- checkers ==0.5.4 - checkers ==0.5.5
- checksum ==0.0 - checksum ==0.0
- chimera ==0.3.0.0 - chimera ==0.3.0.0
- choice ==0.2.2 - choice ==0.2.2
@ -448,6 +448,7 @@ default-package-overrides:
- colorful-monoids ==0.2.1.2 - colorful-monoids ==0.2.1.2
- colorize-haskell ==1.0.1 - colorize-haskell ==1.0.1
- colour ==2.3.5 - colour ==2.3.5
- colourista ==0.0.0.0
- combinatorial ==0.1.0.1 - combinatorial ==0.1.0.1
- comfort-array ==0.4 - comfort-array ==0.4
- comfort-graph ==0.0.3.1 - comfort-graph ==0.0.3.1
@ -466,11 +467,11 @@ default-package-overrides:
- concurrent-output ==1.10.11 - concurrent-output ==1.10.11
- concurrent-split ==0.0.1.1 - concurrent-split ==0.0.1.1
- cond ==0.4.1.1 - cond ==0.4.1.1
- conduit ==1.3.1.2 - conduit ==1.3.2
- conduit-algorithms ==0.0.11.0 - conduit-algorithms ==0.0.11.0
- conduit-combinators ==1.3.0 - conduit-combinators ==1.3.0
- conduit-concurrent-map ==0.1.1 - conduit-concurrent-map ==0.1.1
- conduit-extra ==1.3.4 - conduit-extra ==1.3.5
- conduit-parse ==0.2.1.0 - conduit-parse ==0.2.1.0
- conduit-zstd ==0.0.1.1 - conduit-zstd ==0.0.1.1
- conferer ==0.2.0.0 - conferer ==0.2.0.0
@ -617,7 +618,7 @@ default-package-overrides:
- distributed-closure ==0.4.2.0 - distributed-closure ==0.4.2.0
- distribution-opensuse ==1.1.1 - distribution-opensuse ==1.1.1
- distributive ==0.6.1 - distributive ==0.6.1
- dl-fedora ==0.7.3 - dl-fedora ==0.7.4
- dlist ==0.8.0.7 - dlist ==0.8.0.7
- dlist-instances ==0.1.1.1 - dlist-instances ==0.1.1.1
- dlist-nonempty ==0.1.1 - dlist-nonempty ==0.1.1
@ -806,7 +807,7 @@ default-package-overrides:
- generic-random ==1.3.0.0 - generic-random ==1.3.0.0
- generics-sop ==0.5.0.0 - generics-sop ==0.5.0.0
- generics-sop-lens ==0.2 - generics-sop-lens ==0.2
- genvalidity ==0.10.0.1 - genvalidity ==0.10.0.2
- genvalidity-aeson ==0.3.0.0 - genvalidity-aeson ==0.3.0.0
- genvalidity-bytestring ==0.5.0.1 - genvalidity-bytestring ==0.5.0.1
- genvalidity-containers ==0.8.0.2 - genvalidity-containers ==0.8.0.2
@ -834,12 +835,12 @@ default-package-overrides:
- ghc-compact ==0.1.0.0 - ghc-compact ==0.1.0.0
- ghc-core ==0.5.6 - ghc-core ==0.5.6
- ghc-exactprint ==0.6.2 - ghc-exactprint ==0.6.2
- ghcid ==0.8.3 - ghcid ==0.8.5
- ghci-hexcalc ==0.1.1.0 - ghci-hexcalc ==0.1.1.0
- ghcjs-codemirror ==0.0.0.2 - ghcjs-codemirror ==0.0.0.2
- ghc-lib ==8.8.3.20200224 - ghc-lib ==8.8.3.20200224
- ghc-lib-parser ==8.8.3.20200224 - ghc-lib-parser ==8.8.3.20200224
- ghc-lib-parser-ex ==8.8.5.6 - ghc-lib-parser-ex ==8.8.5.8
- ghc-paths ==0.1.0.12 - ghc-paths ==0.1.0.12
- ghc-prof ==1.4.1.6 - ghc-prof ==1.4.1.6
- ghc-source-gen ==0.3.0.0 - ghc-source-gen ==0.3.0.0
@ -1150,7 +1151,7 @@ default-package-overrides:
- io-streams-haproxy ==1.0.1.0 - io-streams-haproxy ==1.0.1.0
- ip ==1.7.1 - ip ==1.7.1
- ip6addr ==1.0.1 - ip6addr ==1.0.1
- iproute ==1.7.8 - iproute ==1.7.9
- IPv6Addr ==1.1.3 - IPv6Addr ==1.1.3
- ipynb ==0.1 - ipynb ==0.1
- ipython-kernel ==0.10.1.0 - ipython-kernel ==0.10.1.0
@ -1727,7 +1728,7 @@ default-package-overrides:
- reinterpret-cast ==0.1.0 - reinterpret-cast ==0.1.0
- relapse ==1.0.0.0 - relapse ==1.0.0.0
- relational-query ==0.12.2.2 - relational-query ==0.12.2.2
- relational-schemas ==0.1.7.0 - relational-schemas ==0.1.8.0
- relude ==0.6.0.0 - relude ==0.6.0.0
- renderable ==0.2.0.1 - renderable ==0.2.0.1
- replace-attoparsec ==1.2.0.0 - replace-attoparsec ==1.2.0.0
@ -1770,7 +1771,7 @@ default-package-overrides:
- safe-json ==1.1.0 - safe-json ==1.1.0
- safe-money ==0.9 - safe-money ==0.9
- SafeSemaphore ==0.10.1 - SafeSemaphore ==0.10.1
- salak ==0.3.5.3 - salak ==0.3.6
- salak-yaml ==0.3.5.3 - salak-yaml ==0.3.5.3
- saltine ==0.1.1.0 - saltine ==0.1.1.0
- salve ==1.0.8 - salve ==1.0.8
@ -2179,7 +2180,7 @@ default-package-overrides:
- unix-time ==0.4.7 - unix-time ==0.4.7
- unliftio ==0.2.12.1 - unliftio ==0.2.12.1
- unliftio-core ==0.1.2.0 - unliftio-core ==0.1.2.0
- unliftio-pool ==0.2.1.0 - unliftio-pool ==0.2.1.1
- unlit ==0.4.0.0 - unlit ==0.4.0.0
- unordered-containers ==0.2.10.0 - unordered-containers ==0.2.10.0
- unordered-intmap ==0.1.1 - unordered-intmap ==0.1.1
@ -2373,6 +2374,7 @@ extra-packages:
- dhall == 1.29.0 # required for spago 0.14.0. - dhall == 1.29.0 # required for spago 0.14.0.
- doctemplates == 0.8 # required by pandoc-2.9.x - doctemplates == 0.8 # required by pandoc-2.9.x
- generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x - generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x
- ghc-tcplugins-extra ==0.3.2 # required for polysemy-plugin 0.2.5.0
- gloss < 1.9.3 # new versions don't compile with GHC 7.8.x - gloss < 1.9.3 # new versions don't compile with GHC 7.8.x
- haddock == 2.22.* # required on GHC 8.0.x - haddock == 2.22.* # required on GHC 8.0.x
- haddock-api == 2.22.* # required on GHC 7.8.x - haddock-api == 2.22.* # required on GHC 7.8.x
@ -2466,6 +2468,8 @@ package-maintainers:
- shakespeare - shakespeare
abbradar: abbradar:
- Agda - Agda
roberth:
- arion-compose
cdepillabout: cdepillabout:
- pretty-simple - pretty-simple
- spago - spago
@ -2860,7 +2864,6 @@ broken-packages:
- arguedit - arguedit
- ariadne - ariadne
- arion - arion
- arion-compose
- armada - armada
- armor - armor
- arpa - arpa
@ -7118,6 +7121,7 @@ broken-packages:
- llvm-base-types - llvm-base-types
- llvm-base-util - llvm-base-util
- llvm-data-interop - llvm-data-interop
- llvm-dsl
- llvm-extension - llvm-extension
- llvm-extra - llvm-extra
- llvm-ffi - llvm-ffi
@ -10109,6 +10113,7 @@ broken-packages:
- touched - touched
- Tournament - Tournament
- toxcore - toxcore
- toxcore-c
- toxiproxy-haskell - toxiproxy-haskell
- toysolver - toysolver
- tpar - tpar

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ let
# These are attributes in compiler and packages that don't support integer-simple. # These are attributes in compiler and packages that don't support integer-simple.
integerSimpleExcludes = [ integerSimpleExcludes = [
"ghc822Binary" "ghc822Binary"
"ghc863Binary" "ghc865Binary"
"ghc844" "ghc844"
"ghcjs" "ghcjs"
"ghcjs86" "ghcjs86"
@ -42,7 +42,7 @@ in {
ghc822Binary = callPackage ../development/compilers/ghc/8.2.2-binary.nix { }; ghc822Binary = callPackage ../development/compilers/ghc/8.2.2-binary.nix { };
ghc863Binary = callPackage ../development/compilers/ghc/8.6.3-binary.nix { }; ghc865Binary = callPackage ../development/compilers/ghc/8.6.5-binary.nix { };
ghc844 = callPackage ../development/compilers/ghc/8.4.4.nix { ghc844 = callPackage ../development/compilers/ghc/8.4.4.nix {
bootPkgs = packages.ghc822Binary; bootPkgs = packages.ghc822Binary;
@ -57,31 +57,31 @@ in {
llvmPackages = pkgs.llvmPackages_6; llvmPackages = pkgs.llvmPackages_6;
}; };
ghc881 = callPackage ../development/compilers/ghc/8.8.1.nix { ghc881 = callPackage ../development/compilers/ghc/8.8.1.nix {
bootPkgs = packages.ghc863Binary; bootPkgs = packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
buildLlvmPackages = buildPackages.llvmPackages_7; buildLlvmPackages = buildPackages.llvmPackages_7;
llvmPackages = pkgs.llvmPackages_7; llvmPackages = pkgs.llvmPackages_7;
}; };
ghc882 = callPackage ../development/compilers/ghc/8.8.2.nix { ghc882 = callPackage ../development/compilers/ghc/8.8.2.nix {
bootPkgs = packages.ghc863Binary; bootPkgs = packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
buildLlvmPackages = buildPackages.llvmPackages_7; buildLlvmPackages = buildPackages.llvmPackages_7;
llvmPackages = pkgs.llvmPackages_7; llvmPackages = pkgs.llvmPackages_7;
}; };
ghc883 = callPackage ../development/compilers/ghc/8.8.3.nix { ghc883 = callPackage ../development/compilers/ghc/8.8.3.nix {
bootPkgs = packages.ghc863Binary; bootPkgs = packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
buildLlvmPackages = buildPackages.llvmPackages_7; buildLlvmPackages = buildPackages.llvmPackages_7;
llvmPackages = pkgs.llvmPackages_7; llvmPackages = pkgs.llvmPackages_7;
}; };
ghc8101 = callPackage ../development/compilers/ghc/8.10.1.nix { ghc8101 = callPackage ../development/compilers/ghc/8.10.1.nix {
bootPkgs = packages.ghc863Binary; bootPkgs = packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
buildLlvmPackages = buildPackages.llvmPackages_9; buildLlvmPackages = buildPackages.llvmPackages_9;
llvmPackages = pkgs.llvmPackages_9; llvmPackages = pkgs.llvmPackages_9;
}; };
ghcHEAD = callPackage ../development/compilers/ghc/head.nix { ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
bootPkgs = packages.ghc863Binary; bootPkgs = packages.ghc865Binary;
inherit (buildPackages.python3Packages) sphinx; inherit (buildPackages.python3Packages) sphinx;
buildLlvmPackages = buildPackages.llvmPackages_6; buildLlvmPackages = buildPackages.llvmPackages_6;
llvmPackages = pkgs.llvmPackages_6; llvmPackages = pkgs.llvmPackages_6;
@ -117,9 +117,9 @@ in {
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
packageSetConfig = bootstrapPackageSet; packageSetConfig = bootstrapPackageSet;
}; };
ghc863Binary = callPackage ../development/haskell-modules { ghc865Binary = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc863Binary; buildHaskellPackages = bh.packages.ghc865Binary;
ghc = bh.compiler.ghc863Binary; ghc = bh.compiler.ghc865Binary;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { }; compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { };
packageSetConfig = bootstrapPackageSet; packageSetConfig = bootstrapPackageSet;
}; };