Merge pull request #125977 from NixOS/haskell-updates

This commit is contained in:
maralorn 2021-06-12 19:40:39 +02:00 committed by GitHub
commit 06cc4174d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 1657 additions and 366 deletions

View File

@ -38,7 +38,7 @@ git add $broken_config
git add pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
git add pkgs/development/haskell-modules/hackage-packages.nix
git commit -F - << EOF
hackage2nix: Mark failing builds broken
haskellPackages: mark builds failing on hydra as broken
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
EOF

View File

@ -37,7 +37,7 @@ echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackag
if [[ "${1:-}" == "--do-commit" ]]; then
git add pkgs/development/haskell-modules/hackage-packages.nix
git commit -F - << EOF
hackage-packages.nix: Regenerate based on current config
haskellPackages: regenerate package set based on current config
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
EOF

View File

@ -61,7 +61,7 @@ sed -r \
if [[ "${1:-}" == "--do-commit" ]]; then
git add $stackage_config
git commit -F - << EOF
Stackage Nightly: $old_version -> $version
haskellPackages: stackage-nightly $old_version -> $version
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
EOF

View File

@ -1,6 +1,6 @@
{
"commit": "9be76e8f01853e5a2f0600107c9b50d12a17581b",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/9be76e8f01853e5a2f0600107c9b50d12a17581b.tar.gz",
"sha256": "0sy8lx04yb9lk9liscqr44z7lzzq67w3zmkq78a0yv37jadb557k",
"msg": "Update from Hackage at 2021-06-02T14:32:36Z"
"commit": "d1a32be92531e75b1acae3126313cdc013951965",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/d1a32be92531e75b1acae3126313cdc013951965.tar.gz",
"sha256": "190m9drzg7rgkjpimlgvl8hsv2g1jg0m0fdgy8xkrh7xr1vjxxgz",
"msg": "Update from Hackage at 2021-06-06T15:18:11Z"
}

View File

@ -89,9 +89,19 @@ let
targetCC = builtins.head toolsForTarget;
# ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
# But we cannot avoid BFD when using 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;
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
runtimeDeps = [
targetPackages.stdenv.cc.bintools
coreutils
]
# On darwin, we need unwrapped bintools as well (for otool)
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
targetPackages.stdenv.cc.bintools.bintools
];
in
stdenv.mkDerivation (rec {
@ -235,7 +245,7 @@ stdenv.mkDerivation (rec {
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
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
done
'';

View File

@ -98,9 +98,19 @@ let
targetCC = builtins.head toolsForTarget;
# ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
# But we cannot avoid BFD when using 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;
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
runtimeDeps = [
targetPackages.stdenv.cc.bintools
coreutils
]
# On darwin, we need unwrapped bintools as well (for otool)
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
targetPackages.stdenv.cc.bintools.bintools
];
in
stdenv.mkDerivation (rec {
@ -242,7 +252,7 @@ stdenv.mkDerivation (rec {
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
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
done
'';

View File

@ -90,9 +90,19 @@ let
targetCC = builtins.head toolsForTarget;
# ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
# But we cannot avoid BFD when using 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;
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
runtimeDeps = [
targetPackages.stdenv.cc.bintools
coreutils
]
# On darwin, we need unwrapped bintools as well (for otool)
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
targetPackages.stdenv.cc.bintools.bintools
];
in
stdenv.mkDerivation (rec {
@ -225,7 +235,7 @@ stdenv.mkDerivation (rec {
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
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
done
'';

View File

@ -100,9 +100,19 @@ let
targetCC = builtins.head toolsForTarget;
# ld.gold is disabled for musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
# But we cannot avoid BFD when using 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;
useLdGold = targetPlatform.linker == "gold" || (targetPlatform.linker == "bfd" && !targetPlatform.isMusl);
runtimeDeps = [
targetPackages.stdenv.cc.bintools
coreutils
]
# On darwin, we need unwrapped bintools as well (for otool)
++ lib.optionals (stdenv.targetPlatform.linker == "cctools") [
targetPackages.stdenv.cc.bintools.bintools
];
in
stdenv.mkDerivation (rec {
@ -242,7 +252,7 @@ stdenv.mkDerivation (rec {
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
sed -i -e '2i export PATH="$PATH:${lib.makeBinPath runtimeDeps}"' $i
done
'';

View File

@ -8,10 +8,10 @@
}:
mkDerivation {
pname = "cabal2nix";
version = "unstable-2021-05-28";
version = "unstable-2021-06-12";
src = fetchzip {
url = "https://github.com/NixOS/cabal2nix/archive/5fb325e094af91328e02cc2ecfd211feaeb135a7.tar.gz";
sha256 = "1zbd336s99rgk24yjqlp012d0f66s5nf190sjmsl7mfhqx9j2y4l";
url = "https://github.com/NixOS/cabal2nix/archive/01feffa0aeee835504e0c0ccf4bca2e33a698252.tar.gz";
sha256 = "0clckh0qqvjcb8szy1d6qqlxj6sqp28jc2p3vhzhkf95cv491si9";
};
isLibrary = true;
isExecutable = true;

View File

@ -37,6 +37,10 @@ self: super: {
# Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
happy = dontCheck super.happy;
# Disable GClosure based signals implementation on aarch64 as it causes linker issues
# https://github.com/gtk2hs/gtk2hs/issues/305
gtk2hs-buildtools = appendConfigureFlag super.gtk2hs-buildtools "-f-ClosureSignals";
} // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 {
# AARCH64-SPECIFIC OVERRIDES

View File

@ -1925,10 +1925,6 @@ EOT
# https://github.com/haskell-hvr/missingh/issues/56
MissingH = doJailbreak super.MissingH;
# Too strict bound on containers
# https://github.com/batterseapower/parallel-io/issues/14#issuecomment-853441933
parallel-io = doJailbreak super.parallel-io;
# Disable flaky tests
# https://github.com/DavidEichmann/alpaca-netcode/issues/2
alpaca-netcode = overrideCabal super.alpaca-netcode {
@ -1953,4 +1949,10 @@ EOT
# https://github.com/HeinrichApfelmus/reactive-banana/issues/215
reactive-banana = doJailbreak super.reactive-banana;
# Too strict version bounds on QuickCheck and semirings
# https://github.com/erikd/wide-word/issues/57
wide-word = doJailbreak super.wide-word;
hackage-db_2_1_0 = doDistribute super.hackage-db_2_1_0;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -87,4 +87,8 @@ self: super: {
# Break out of "Cabal < 3.2" constraint.
stylish-haskell = doJailbreak super.stylish-haskell;
# hackage-db 2.1.1 is incompatible with Cabal < 3.4
# See https://github.com/NixOS/cabal2nix/issues/501
hackage-db = self.hackage-db_2_1_0;
}

View File

@ -106,4 +106,8 @@ self: super: {
# https://github.com/haskellari/time-compat/issues/23
time-compat = dontCheck super.time-compat;
# hackage-db 2.1.1 is incompatible with Cabal < 3.4
# See https://github.com/NixOS/cabal2nix/issues/501
hackage-db = super.hackage-db_2_1_0;
}

View File

@ -135,4 +135,8 @@ self: super: {
# vector 0.12.2 indroduced doctest checks that dont work on older compilers
vector = dontCheck super.vector;
# hackage-db 2.1.1 is incompatible with Cabal < 3.4
# See https://github.com/NixOS/cabal2nix/issues/501
hackage-db = super.hackage-db_2_1_0;
}

View File

@ -101,4 +101,18 @@ self: super: {
# 5 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
lens = super.lens_5_0_1;
# 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0
memory = super.memory_0_16_0;
# 0.29 introduced support for GHC 9.0.x, stackage has 0.28
cryptonite = super.cryptonite_0_29;
# GHC 9.0.x doesn't like `import Spec (main)` in Main.hs
# https://github.com/snoyberg/mono-traversable/issues/192
mono-traversable = dontCheck super.mono-traversable;
# Disable tests pending resolution of
# https://github.com/Soostone/retry/issues/71
retry = dontCheck super.retry;
}

View File

@ -370,6 +370,7 @@ broken-packages:
- biohazard
- bio-sequence
- birds-of-paradise
- biscuit-haskell
- bisect-binary
- bishbosh
- bitcoin-hs
@ -998,6 +999,7 @@ broken-packages:
- dhall-fly
- dhall-text
- dhall-to-cabal
- dhcp-lease-parser
- dhrun
- dia-base
- diagrams-boolean
@ -2202,6 +2204,7 @@ broken-packages:
- hs-carbon-examples
- hscd
- hs-cdb
- hscdio
- hsclock
- hScraper
- hscuid
@ -2480,6 +2483,7 @@ broken-packages:
- Irc
- irc-dcc
- irc-fun-types
- iri
- iridium
- iron-mq
- irt
@ -2548,6 +2552,7 @@ broken-packages:
- json-schema
- jsonschema-gen
- jsonsql
- json-syntax
- json-tools
- json-tracer
- jsontsv
@ -3059,6 +3064,7 @@ broken-packages:
- movie-monad
- mpppc
- mpris
- mptcp-pm
- mpvguihs
- mqtt
- mqtt-hs
@ -3390,6 +3396,7 @@ broken-packages:
- pandoc-utils
- pang-a-lambda
- pangraph
- pan-os-syslog
- panpipe
- pansite
- pantry-tmp
@ -4209,6 +4216,7 @@ broken-packages:
- shorten-strings
- show-prettyprint
- Shpadoinkle-backend-snabbdom
- Shpadoinkle-isreal
- Shpadoinkle-streaming
- shwifty
- sifflet
@ -4282,6 +4290,7 @@ broken-packages:
- slug
- slugify
- smallarray
- small-bytearray-builder
- smallcheck-kind-generics
- smallcheck-laws
- smallcheck-lens
@ -4681,6 +4690,7 @@ broken-packages:
- thank-you-stars
- th-build
- th-dict-discovery
- themoviedb
- thentos-cookie-session
- Theora
- theoremquest
@ -4919,6 +4929,7 @@ broken-packages:
- unordered-intmap
- unpacked-either
- unpacked-maybe
- unpacked-maybe-numeric
- unpack-funcs
- unroll-ghc-plugin
- unsafely
@ -5119,7 +5130,6 @@ broken-packages:
- whiskers
- whois
- why3
- wide-word
- WikimediaParser
- windns
- winerror

View File

@ -93,6 +93,9 @@ default-package-overrides:
- futhark < 0.19.5
# 2021-06-05: remove once pandoc 2.14 is in stackage
- pandoc-crossref < 0.3.11.0
# 2021-06-07: stackage still has dhall < 1.39
- dhall-nix < 1.1.21
- dhall-openapi < 1.0.1
extra-packages:
- base16-bytestring < 1 # required for cabal-install etc.
@ -122,6 +125,7 @@ extra-packages:
- gi-gtk < 4.0 # 2021-05-07: For haskell-gi 0.25 without gtk4
- gi-gdkx11 == 3.0.11 # 2021-05-07: For haskell-gi 0.25 without gtk4
- ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version
- hackage-db < 2.1.1 # 2021-06-10: Need older hackage-db as long as Cabal < 3.4, see https://github.com/NixOS/cabal2nix/issues/501
package-maintainers:
abbradar:
@ -393,6 +397,7 @@ unsupported-platforms:
mpi-hs-cereal: [ aarch64-linux, x86_64-darwin ]
mpi-hs-store: [ aarch64-linux, x86_64-darwin ]
mplayer-spot: [ aarch64-linux ]
mptcp-pm: [ x86_64-darwin ]
netlink: [ x86_64-darwin ]
oculus: [ x86_64-darwin ]
pam: [ x86_64-darwin ]

View File

@ -20,7 +20,6 @@ dont-distribute-packages:
- activehs
- actor
- AC-Vector-Fancy
- addy
- adhoc-network
- adict
- ADPfusionForest
@ -117,10 +116,8 @@ dont-distribute-packages:
- atp
- AttoJson
- attoparsec-enumerator
- attoparsec-ip
- attoparsec-iteratee
- attoparsec-text-enumerator
- attoparsec-uri
- atuin
- audiovisual
- aura
@ -168,7 +165,6 @@ dont-distribute-packages:
- Barracuda
- base16-lens
- base32-bytestring
- base62
- base64-bytes
- baserock-schema
- BASIC
@ -309,10 +305,8 @@ dont-distribute-packages:
- buster-network
- butterflies
- bv-sized-lens
- bytebuild
- bytehash
- bytelog
- bytesmith
- bytestring-read
- c0check
- cabal2arch
@ -622,7 +616,6 @@ dont-distribute-packages:
- dewdrop
- dfinity-radix-tree
- dhall-docs
- dhcp-lease-parser
- dia-functions
- diagrams-haddock
- diagrams-html5
@ -1565,7 +1558,6 @@ dont-distribute-packages:
- invertible-hlist
- ion
- IORefCAS
- ip
- ipatch
- ipc
- ipld-cid
@ -1575,7 +1567,6 @@ dont-distribute-packages:
- irc-fun-client
- irc-fun-color
- irc-fun-messages
- iri
- ironforge
- isevaluated
- ismtp
@ -1631,7 +1622,6 @@ dont-distribute-packages:
- json-incremental-decoder
- json-query
- jsons-to-schema
- json-syntax
- json-togo
- json-tokens
- jspath
@ -1886,7 +1876,6 @@ dont-distribute-packages:
- markdown2svg
- markdown-pap
- markov-processes
- markup
- marmalade-upload
- marquise
- marvin
@ -1986,7 +1975,6 @@ dont-distribute-packages:
- mpretty
- mprover
- mps
- mptcp-pm
- msgpack-aeson
- msgpack-idl
- msgpack-rpc
@ -2127,6 +2115,7 @@ dont-distribute-packages:
- openpgp-crypto-api
- OpenSCAD
- openssh-github-keys
- opentelemetry-extra_0_7_0
- opentracing-jaeger
- opentracing-zipkin-v1
- open-union
@ -2146,7 +2135,6 @@ dont-distribute-packages:
- pairing
- panda
- pandoc-japanese-filters
- pan-os-syslog
- papa
- papa-base
- papa-base-implement
@ -2526,7 +2514,6 @@ dont-distribute-packages:
- runtime-arbitrary
- S3
- safe-coloured-text-layout-gen
- safe-numeric
- safer-file-handles
- safer-file-handles-bytestring
- safer-file-handles-text
@ -2565,7 +2552,6 @@ dont-distribute-packages:
- scholdoc
- scholdoc-citeproc
- scholdoc-texmath
- scientific-notation
- SciFlow
- SciFlow-drmaa
- scion
@ -2688,11 +2674,9 @@ dont-distribute-packages:
- skylark-client
- slidemews
- slip32
- small-bytearray-builder
- smallstring
- smartword
- smcdel
- smith
- smith-cli
- smith-client
- Smooth
@ -2842,6 +2826,8 @@ dont-distribute-packages:
- swearjure
- sweet-egison
- switch
- sydtest_0_2_0_0
- sydtest-persistent-postgresql
- sylvia
- symantic-atom
- symantic-lib
@ -3035,7 +3021,6 @@ dont-distribute-packages:
- universe-th
- unix-fcntl
- unix-simple
- unpacked-maybe-numeric
- unpacked-these
- unpacked-validation
- unparse-attoparsec
@ -3048,9 +3033,7 @@ dont-distribute-packages:
- urembed
- uri-enumerator
- uri-enumerator-file
- url-bytes
- UrlDisp
- urlpath
- URLT
- usb
- usb-enumerator
@ -3063,7 +3046,6 @@ dont-distribute-packages:
- uu-cco-examples
- uu-cco-hut-parsing
- uu-cco-uu-parsinglib
- uuid-bytes
- uuid-crypto
- uvector-algorithms
- v4l2
@ -3090,6 +3072,7 @@ dont-distribute-packages:
- vfr-waypoints
- ViennaRNA-extras
- vigilance
- vimeta
- vinyl-operational
- vision
- visual-graphrewrite
@ -3110,7 +3093,6 @@ dont-distribute-packages:
- wai-middleware-cache
- wai-middleware-cache-redis
- wai-middleware-consul
- wai-middleware-content-type
- wai-middleware-rollbar
- wai-middleware-route
- wai-session-tokyocabinet
@ -3144,7 +3126,6 @@ dont-distribute-packages:
- wheb-redis
- wheb-strapped
- whitespace
- wide-word-instances
- wikipedia4epub
- windowslive
- winio
@ -3163,7 +3144,6 @@ dont-distribute-packages:
- wrecker-ui
- wright
- writer-cps-full
- ws
- wss-client
- wtk-gtk
- wumpus-basic
@ -3235,7 +3215,6 @@ dont-distribute-packages:
- yesod-colonnade
- yesod-continuations
- yesod-examples
- yesod-ip
- yesod-mangopay
- yesod-paypal-rest
- yesod-platform

View File

@ -53,7 +53,7 @@ self: super: builtins.intersectAttrs super {
# Use the default version of mysql to build this package (which is actually mariadb).
# test phase requires networking
mysql = dontCheck (super.mysql.override { mysql = pkgs.libmysqlclient; });
mysql = dontCheck super.mysql;
# CUDA needs help finding the SDK headers and libraries.
cuda = overrideCabal super.cuda (drv: {
@ -833,4 +833,16 @@ self: super: builtins.intersectAttrs super {
sed -i 's|"tophat"|"./dist/build/tophat/tophat"|' app-test-bin/*.hs
'' + (drv.postPatch or "");
});
# Runtime dependencies and CLI completion
nvfetcher = generateOptparseApplicativeCompletion "nvfetcher" (overrideCabal
super.nvfetcher (drv: {
buildTools = drv.buildTools or [ ] ++ [ pkgs.makeWrapper ];
postInstall = drv.postInstall or "" + ''
wrapProgram "$out/bin/nvfetcher" --prefix 'PATH' ':' "${
pkgs.lib.makeBinPath [ pkgs.nvchecker pkgs.nix-prefetch-git ]
}"
'';
}));
}

View File

@ -481,7 +481,7 @@ stdenv.mkDerivation ({
# ^^ if the project is not a library, and we have a build target, then use "copy" to install
# just the target specified; "install" will error here, since not all targets have been built.
else ''
${setupCommand} copy
${setupCommand} copy ${buildTarget}
local packageConfDir="$out/lib/${ghc.name}/package.conf.d"
local packageConfFile="$packageConfDir/${pname}-${version}.conf"
mkdir -p "$packageConfDir"

File diff suppressed because it is too large Load Diff

View File

@ -7221,13 +7221,7 @@ in
nvchecker = with python3Packages; toPythonApplication nvchecker;
nvfetcher = with haskell.lib; overrideCabal (justStaticExecutables haskellPackages.nvfetcher) (drv: {
executableToolDepends = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/nvfetcher \
--prefix PATH ":" "${nvchecker}/bin:${nix-prefetch-git}/bin"
'';
});
nvfetcher = haskell.lib.justStaticExecutables haskellPackages.nvfetcher;
miller = callPackage ../tools/text/miller { };

View File

@ -222,6 +222,7 @@ let
# working as expected.
cabal-install = all;
Cabal_3_4_0_0 = with compilerNames; [ ghc884 ghc8104 ];
cabal2nix-unstable = all;
funcmp = all;
# Doesn't currently work on ghc-9.0:
# https://github.com/haskell/haskell-language-server/issues/297