diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-common.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-common.nix | 137 |
1 files changed, 75 insertions, 62 deletions
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index 002142965c1..55934862c94 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -45,18 +45,6 @@ self: super: { # Needs older QuickCheck version attoparsec-varword = dontCheck super.attoparsec-varword; - # https://github.com/koalaman/shellcheck/issues/1778 - ShellCheck = overrideCabal super.ShellCheck (drv: { - patches = [ - # cabal 3.0 support - ( pkgs.fetchpatch { - url = "https://github.com/koalaman/shellcheck/commit/2c026f1ec7c205c731ff2a0ccd85365f37245.patch"; - sha256 = "0z6yf350ngr6rwfkvdy670c476fgzj8a0n4ppdm1xr8r1lij7sfz"; - excludes = [ "Dockerfile" ]; - }) - ]; - }); - # Tests are failing # https://github.com/bos/statistics/issues/123 statistics = dontCheck super.statistics; @@ -83,7 +71,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 = "1jjw6ar8ddcncwzksyx2xky50sm2jg1zjr7iiqk0vn8qq0fn2gwy"; + sha256 = "0adw72lw3ygls87w6i7hirf26gz991dkm992jb5f0h5nvy6d44pl"; }; }).override { dbus = if pkgs.stdenv.isLinux then self.dbus else null; @@ -126,13 +114,8 @@ self: super: { # Depends on broken "hails" package. hails-bin = dontDistribute super.hails-bin; - # Switch levmar build to openblas. bindings-levmar = overrideCabal super.bindings-levmar (drv: { - preConfigure = '' - sed -i bindings-levmar.cabal \ - -e 's,extra-libraries: lapack blas,extra-libraries: openblas,' - ''; - extraLibraries = [ pkgs.openblasCompat ]; + extraLibraries = [ pkgs.blas ]; }); # The Haddock phase fails for one reason or another. @@ -189,6 +172,9 @@ self: super: { # Test suite build depends on ancient tasty 0.11.x. cryptohash-sha512 = dontCheck super.cryptohash-sha512; + # Test suite depends on source code being available + simple-affine-space = dontCheck super.simple-affine-space; + # https://github.com/kazu-yamamoto/simple-sendfile/issues/17 simple-sendfile = dontCheck super.simple-sendfile; @@ -347,6 +333,7 @@ self: super: { nats-queue = dontCheck super.nats-queue; netpbm = dontCheck super.netpbm; network = dontCheck super.network; + network_2_6_3_1 = dontCheck super.network_2_6_3_1; network-dbus = dontCheck super.network-dbus; notcpp = dontCheck super.notcpp; ntp-control = dontCheck super.ntp-control; @@ -385,7 +372,7 @@ self: super: { static-resources = dontCheck super.static-resources; strive = dontCheck super.strive; # fails its own hlint test with tons of warnings svndump = dontCheck super.svndump; - tar = dontCheck super.tar; #http://hydra.nixos.org/build/25088435/nixlog/2 (fails only on 32-bit) + tar = dontCheck super.tar; #https://hydra.nixos.org/build/25088435/nixlog/2 (fails only on 32-bit) th-printf = dontCheck super.th-printf; thumbnail-plus = dontCheck super.thumbnail-plus; tickle = dontCheck super.tickle; @@ -606,6 +593,12 @@ self: super: { elm-server = markBroken super.elm-server; elm-yesod = markBroken super.elm-yesod; + # https://github.com/Euterpea/Euterpea2/issues/40 + Euterpea = appendPatch super.Euterpea (pkgs.fetchpatch { + url = "https://github.com/Euterpea/Euterpea2/pull/38.patch"; + sha256 = "13g462qmj8c7if797gnyvf8h0cddmm3xy0pjldw48w8f8sr4qsj0"; + }); + # https://github.com/athanclark/sets/issues/2 sets = dontCheck super.sets; @@ -716,10 +709,19 @@ self: super: { ''; }); - # The standard libraries are compiled separately - idris = generateOptparseApplicativeCompletion "idris" ( - doJailbreak (dontCheck super.idris) - ); + # The standard libraries are compiled separately. + # The megaparsec-7 override is needed because https://github.com/idris-lang/Idris-dev/issues/4826 declares that + # idris1 has no plans to migrate to megaparsec-8. + # The idris-lang/Idris-dev#4808 patch is for GHC 8.8 compatibility, and can likely be removed with the next release. + idris = generateOptparseApplicativeCompletion "idris" (doJailbreak (dontCheck + (appendPatches + (super.idris.override { megaparsec = self.megaparsec_7_0_5; }) [ + (pkgs.fetchpatch { + url = "https://github.com/idris-lang/Idris-dev/pull/4808.diff"; + sha256 = "060ib1rczy34ip8xf3bv1pf28655f6s0bvvij19jhh5dpcr0pf71"; + excludes = [ ".travis.yml" "Makefile" "appveyor.yml" ]; + }) + ]))); # https://github.com/bos/math-functions/issues/25 math-functions = dontCheck super.math-functions; @@ -1060,45 +1062,14 @@ self: super: { # https://github.com/haskell-hvr/hgettext/issues/14 hgettext = doJailbreak super.hgettext; - # 2.23.0 supports GHC 8.x and up - haddock = super.haddock_2_22_0; - # haddock-api-2.22.0: Break out of “QuickCheck ==2.11.*, hspec >=2.4.4 && <2.6” - haddock-api = dontHaddock (doJailbreak (super.haddock-api_2_22_0)); - # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5". haddock-library = doJailbreak (dontCheck super.haddock-library); + haddock-library_1_9_0 = doJailbreak (dontCheck super.haddock-library_1_9_0); # Generate shell completion. cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix; - - stack = - let - stackWithOverrides = - super.stack.override { - # stack-2.1.3.1 requires pantry-0.2.0.0. - pantry = self.pantry_0_2_0_0; - }; - in - generateOptparseApplicativeCompletion - "stack" - (appendPatches stackWithOverrides [ - # This PR fixes stack up to be able to build with Cabal-3. This patch - # can probably be dropped when the next stack release is made after - # 2.1.3.1. - (pkgs.fetchpatch { - url = "https://github.com/commercialhaskell/stack/pull/5156.diff"; - sha256 = "0knk6f9fh1b4fxkhvx5gfrwclal4vi2va4zy34gpmwnjr7knf42y"; - excludes = [ - "snapshot-lts-12.yaml" - "snapshot-nightly.yaml" - "snapshot.yaml" - ]; - }) - # This patch fixes stack up to be able to build various GHC-8.8 changes. - # This can hopefully be dropped when the next stack release is made - # after 2.1.3.1 (assuming the next stack release uses GHC-8.8). - ./patches/stack-ghc882-support.patch - ]); + stack = generateOptparseApplicativeCompletion "stack" (super.stack.overrideScope (self: super: { http-download = self.http-download_0_2_0_0; })); + http-download_0_2_0_0 = dontCheck super.http-download_0_2_0_0; # musl fixes # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test @@ -1453,8 +1424,8 @@ self: super: { # details. cryptonite = dontCheck super.cryptonite; - # The test suite depends on an impure cabal-install installation - # in $HOME, which we don't have in our build sandbox. + # The test suite depends on an impure cabal-install installation in + # $HOME, which we don't have in our build sandbox. cabal-install-parsers = dontCheck super.cabal-install-parsers; # haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2. @@ -1465,7 +1436,9 @@ self: super: { vty = self.vty_5_28_2; }); + # Test suite requires database persistent-mysql = dontCheck super.persistent-mysql; + persistent-postgresql = dontCheck super.persistent-postgresql; # Fix EdisonAPI and EdisonCore for GHC 8.8: # https://github.com/robdockins/edison/pull/16 @@ -1499,7 +1472,47 @@ self: super: { polysemy = self.polysemy_1_3_0_0; }; - # Fixed at head, but hasn't cut a release in awhile. - darcs = doJailbreak super.darcs; + # Test suite requires running a database server. Testing is done upstream. + hasql-pool = dontCheck super.hasql-pool; + + # This bumps optparse-applicative to <0.16 in the cabal file, as otherwise + # the version bounds are not satisfied. This can be removed if the PR at + # https://github.com/ananthakumaran/webify/pull/27 is merged and a new + # release of webify is published. + webify = appendPatch super.webify (pkgs.fetchpatch { + url = "https://github.com/ananthakumaran/webify/pull/27/commits/6d653e7bdc1ffda75ead46851b5db45e87cb2aa0.patch"; + sha256 = "sha256:0xbfhzhzg94b4r5qy5dg1c40liswwpqarrc2chcwgfbfnrmwkfc2"; + }); + + # Depends on selective >= 0.4, but the default of selective is 0.3 + headed-megaparsec = super.headed-megaparsec.override { + selective = self.selective_0_4_1; + }; + + # Needed for ghcide + haskell-lsp_0_19_0_0 = super.haskell-lsp_0_19_0_0.override { + haskell-lsp-types = self.haskell-lsp-types_0_19_0_0; + }; + + # this will probably need to get updated with every ghcide update, + # we need an override because ghcide is tracking haskell-lsp closely. + ghcide = dontCheck (super.ghcide.override rec { + haskell-lsp-types = self.haskell-lsp-types_0_19_0_0; + haskell-lsp = self.haskell-lsp_0_19_0_0; + }); + + # stackage right now is not new enough for hlint-3.0 + ghc-lib-parser-ex_8_10_0_6 = super.ghc-lib-parser-ex_8_10_0_6.override { + ghc-lib-parser = self.ghc-lib-parser_8_10_1_20200412; + }; + + hlint = super.hlint.override { + ghc-lib-parser = self.ghc-lib-parser_8_10_1_20200412; + ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_6; + extra = self.extra_1_7_1; + filepattern = self.filepattern.override { + extra = self.extra_1_7_1; + }; + }; } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super |