Skip to content

Commit

Permalink
Merge pull request NixOS#141286 from NixOS/haskell-updates
Browse files Browse the repository at this point in the history
haskellPackages: update stackage and hackage
  • Loading branch information
maralorn committed Oct 15, 2021
2 parents 10977a6 + a366623 commit e435302
Show file tree
Hide file tree
Showing 11 changed files with 1,204 additions and 230 deletions.
8 changes: 4 additions & 4 deletions pkgs/data/misc/hackage/pin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"commit": "ba457d86df5e8781485cf1b109f249ecf00ee4c6",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/ba457d86df5e8781485cf1b109f249ecf00ee4c6.tar.gz",
"sha256": "1h1qnllhdfp6n71b36jw8kaw7kani76z3mmbigrvy8cmkbvj2mdc",
"msg": "Update from Hackage at 2021-10-08T09:46:02Z"
"commit": "67f421ee170f4f161832c146be8ef87499ff0d37",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/67f421ee170f4f161832c146be8ef87499ff0d37.tar.gz",
"sha256": "0rzwh0iff4xn499vvzv960gmrd85z6amjbbsyhb5qcldcap5jpjs",
"msg": "Update from Hackage at 2021-10-11T20:00:11Z"
}
4 changes: 2 additions & 2 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "1022ff2x9jvi2a0820lbgmmh54cxh1vbn0qfdwr50w7ggvjp88i6";
sha256 = "1yn84q0iy81b2sczbf4gx8b56f9ghb9kgwjc0n7l5xn5lb2wqlqa";
# delete android and Android directories which cause issues on
# darwin (case insensitive directory). Since we don't need them
# during the build process, we can delete it to prevent a hash
Expand Down Expand Up @@ -1990,7 +1990,7 @@ EOT

# Needs Cabal >= 3.4
chs-cabal = super.chs-cabal.override {
Cabal = self.Cabal_3_6_1_0;
Cabal = self.Cabal_3_6_2_0;
};

# 2021-08-18: streamly-posix was released with hspec 2.8.2, but it works with older versions too.
Expand Down
6 changes: 3 additions & 3 deletions pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,15 @@ self: super: {

# cabal-install needs more recent versions of Cabal and base16-bytestring.
cabal-install = super.cabal-install.overrideScope (self: super: {
Cabal = self.Cabal_3_6_1_0;
Cabal = self.Cabal_3_6_2_0;
});

# cabal-install-parsers is written for Cabal 3.6
cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_1_0; };
cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_2_0; };

# older version of cabal-install-parsers for reverse dependencies that use Cabal 3.4
cabal-install-parsers_0_4_2 = super.cabal-install-parsers_0_4_2.override {
Cabal = self.Cabal_3_4_0_0;
Cabal = self.Cabal_3_4_1_0;
};

# Jailbreak to fix the build.
Expand Down
4 changes: 2 additions & 2 deletions pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ self: super: {
# cabal-install needs more recent versions of Cabal and random, but an older
# version of base16-bytestring.
cabal-install = super.cabal-install.overrideScope (self: super: {
Cabal = self.Cabal_3_6_1_0;
Cabal = self.Cabal_3_6_2_0;
});

# Ignore overly restrictive upper version bounds.
Expand Down Expand Up @@ -98,7 +98,7 @@ self: super: {
darcs = dontDistribute super.darcs;

# The package needs the latest Cabal version.
cabal-install-parsers = super.cabal-install-parsers.overrideScope (self: super: { Cabal = self.Cabal_3_6_1_0; });
cabal-install-parsers = super.cabal-install-parsers.overrideScope (self: super: { Cabal = self.Cabal_3_6_2_0; });

# cabal-fmt requires Cabal3
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_2_1_0; };
Expand Down
13 changes: 12 additions & 1 deletion pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ self: super: {

# cabal-install needs more recent versions of Cabal and base16-bytestring.
cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
Cabal = self.Cabal_3_6_1_0;
Cabal = self.Cabal_3_6_2_0;
});

# Jailbreaks & Version Updates
Expand All @@ -72,6 +72,17 @@ self: super: {
vector-binary-instances = doJailbreak super.vector-binary-instances;
vector-th-unbox = doJailbreak super.vector-th-unbox;
zlib = doJailbreak super.zlib;
weeder = self.weeder_2_3_0;
generic-lens-core = self.generic-lens-core_2_2_0_0;
generic-lens = self.generic-lens_2_2_0_0;

# Doesn't allow Dhall 1.39.*
weeder_2_3_0 = super.weeder_2_3_0.override {
dhall = self.dhall_1_40_1;
};

# Upstream also disables test for GHC 9: https://github.com/kcsongor/generic-lens/pull/130
generic-lens_2_2_0_0 = dontCheck super.generic-lens_2_2_0_0;

# Apply patches from head.hackage.
alex = appendPatch (dontCheck super.alex) (pkgs.fetchpatch {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1284,6 +1284,7 @@ broken-packages:
- escape-artist
- escoger
- espial
- esqueleto-pgcrypto
- ess
- estimators
- EstProgress
Expand Down Expand Up @@ -1534,7 +1535,6 @@ broken-packages:
- funcons-values
- function-instances-algebra
- functor
- functor-combinators
- functor-friends
- functor-infix
- functorm
Expand Down Expand Up @@ -1676,6 +1676,7 @@ broken-packages:
- git-cuk
- git-date
- gitdo
- github
- github-backup
- github-data
- github-tools
Expand Down Expand Up @@ -3847,7 +3848,6 @@ broken-packages:
- process-leksah
- process-listlike
- processmemory
- procex
- procrastinating-variable
- procstat
- prof2pretty
Expand Down Expand Up @@ -4384,6 +4384,7 @@ broken-packages:
- shopify
- shortcut-links
- shorten-strings
- short-vec
- show-prettyprint
- Shpadoinkle-backend-snabbdom
- Shpadoinkle-isreal
Expand Down Expand Up @@ -4716,6 +4717,7 @@ broken-packages:
- SVD2HS
- svfactor
- svg-builder-fork
- svgcairo
- svgutils
- svm-light-utils
- svm-simple
Expand Down Expand Up @@ -5288,6 +5290,7 @@ broken-packages:
- warc
- warp-dynamic
- warp-grpc
- warp-quic
- warp-static
- warp-systemd
- wasm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ default-package-overrides:
- ghc-api-compat == 8.10.7
# 2021-09-14: Pin hiedb to version needed by ghcide
- hiedb == 0.4.0.*
# 2021-10-13: weeder 2.3.0 require GHC == 9.0.*; remove pin when GHC version changes
- weeder < 2.3.0

extra-packages:
- base16-bytestring < 1 # required for cabal-install etc.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,7 @@ dont-distribute-packages:
- base64-bytes
- baserock-schema
- batchd
- batching
- battlenet-yesod
- battleships
- bayes-stack
Expand Down Expand Up @@ -732,7 +733,9 @@ dont-distribute-packages:
- claferwiki
- clash
- clash-ghc
- clash-ghc_1_4_4
- clash-lib
- clash-lib_1_4_4
- clash-multisignal
- clash-prelude-quickcheck
- clash-shake
Expand Down Expand Up @@ -935,6 +938,7 @@ dont-distribute-packages:
- delta
- delta-h
- dep-t-advice
- dependent-literals-plugin
- dependent-state
- dephd
- deptrack-devops
Expand Down Expand Up @@ -1117,6 +1121,7 @@ dont-distribute-packages:
- filesystem-enumerator
- find-clumpiness
- findhttp
- finite-table
- firstify
- fix-parser-simple
- fixed-point-vector
Expand Down Expand Up @@ -2426,6 +2431,7 @@ dont-distribute-packages:
- nomyx-language
- nomyx-library
- nomyx-server
- notifications-tray-icon
- notmuch-haskell
- notmuch-web
- numeric-ode
Expand Down Expand Up @@ -2453,6 +2459,7 @@ dont-distribute-packages:
- one-liner_2_0
- online
- online-csv
- opc-xml-da-client
- open-adt-tutorial
- open-union
- openpgp-Crypto
Expand Down Expand Up @@ -2559,6 +2566,7 @@ dont-distribute-packages:
- polh-lexicon
- polydata
- polysemy-RandomFu
- polysemy-check
- polysemy-http
- polysemy-log-co
- polysemy-methodology-co-log
Expand Down Expand Up @@ -2907,13 +2915,13 @@ dont-distribute-packages:
- servant-auth-token-persistent
- servant-auth-token-rocksdb
- servant-auth-wordpress
- servant-cli
- servant-client-namedargs
- servant-csharp
- servant-db-postgresql
- servant-ede
- servant-event-stream
- servant-examples
- servant-github-webhook
- servant-http2-client
- servant-matrix-param
- servant-polysemy
Expand Down Expand Up @@ -2941,6 +2949,7 @@ dont-distribute-packages:
- shelduck
- shellmate-extras
- shine-varying
- short-vec-lens
- showdown
- shpider
- shuffle
Expand Down
17 changes: 17 additions & 0 deletions pkgs/development/haskell-modules/configuration-nix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -978,4 +978,21 @@ self: super: builtins.intersectAttrs super {
doCheck = with pkgs.stdenv; hostPlatform == buildPlatform
&& buildPlatform.isx86;
};

# procex relies on close_range which has been introduced in Linux 5.9,
# the test suite seems to force the use of this feature (or the fallback
# mechanism is broken), so we can't run the test suite on machines with a
# Kernel < 5.9. To check for this, we use uname -r to obtain the Kernel
# version and sort -V to compare against our minimum version. If the
# Kernel turns out to be older, we disable the test suite.
procex = overrideCabal super.procex (drv: {
postConfigure = ''
minimumKernel=5.9
higherVersion=`printf "%s\n%s\n" "$minimumKernel" "$(uname -r)" | sort -rV | head -n1`
if [[ "$higherVersion" = "$minimumKernel" ]]; then
echo "Used Kernel doesn't support close_range, disabling tests"
unset doCheck
fi
'' + (drv.postConfigure or "");
});
}
Loading

0 comments on commit e435302

Please sign in to comment.