diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-08-23 10:09:14 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-08-26 09:07:03 +0000 |
commit | 63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f (patch) | |
tree | d58934cb48f9c953b19a0d0d5cffc0d0c5561471 /nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix | |
parent | c4eef3dacb2a3d359561f30917d9e3cc4e041be9 (diff) | |
parent | 91a22f76cd1716f9d0149e8a5c68424bb691de15 (diff) | |
download | nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.gz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.bz2 nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.lz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.xz nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.tar.zst nixlib-63dabcc77ef9a56655e1ca2ab2e25e6163a72c1f.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix')
-rw-r--r-- | nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix | 137 |
1 files changed, 90 insertions, 47 deletions
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix index 522d9a484ded..d2fcb916020c 100644 --- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix +++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix @@ -14,6 +14,9 @@ let else builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this"; jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p); + + # Workaround for a ghc-9.6 issue: https://gitlab.haskell.org/ghc/ghc/-/issues/23392 + disableParallelBuilding = overrideCabal (drv: { enableParallelBuilding = false; }); in self: super: { @@ -62,38 +65,24 @@ self: super: { # Version deviations from Stackage LTS # - doctest = doDistribute super.doctest_0_21_1; - inspection-testing = doDistribute self.inspection-testing_0_5_0_1; # allows base >= 4.18 - OneTuple = doDistribute (dontCheck super.OneTuple_0_4_1_1); # allows base >= 4.18 - primitive = doDistribute (dontCheck self.primitive_0_7_4_0); # allows base >= 4.18 - http-api-data = doDistribute self.http-api-data_0_5_1; # allows base >= 4.18 - attoparsec-iso8601 = doDistribute self.attoparsec-iso8601_1_1_0_0; # for http-api-data-0.5.1 - tagged = doDistribute self.tagged_0_8_7; # allows template-haskell-2.20 + doctest = doDistribute super.doctest_0_22_0; + http-api-data = doDistribute self.http-api-data_0_6; # allows base >= 4.18 some = doDistribute self.some_1_0_5; - tasty-inspection-testing = doDistribute self.tasty-inspection-testing_0_2; th-abstraction = doDistribute self.th-abstraction_0_5_0_0; th-desugar = doDistribute self.th-desugar_1_15; - turtle = doDistribute self.turtle_1_6_1; - aeson = doDistribute self.aeson_2_1_2_1; - memory = doDistribute self.memory_0_18_0; semigroupoids = doDistribute self.semigroupoids_6_0_0_1; bifunctors = doDistribute self.bifunctors_5_6_1; - cabal-plan = doDistribute self.cabal-plan_0_7_3_0; base-compat = doDistribute self.base-compat_0_13_0; base-compat-batteries = doDistribute self.base-compat-batteries_0_13_0; - semialign = doDistribute self.semialign_1_3; - assoc = doDistribute self.assoc_1_1; - strict = doDistribute self.strict_0_5; + + # Too strict upper bound on template-haskell + # https://github.com/mokus0/th-extras/pull/21 + th-extras = doJailbreak super.th-extras; ghc-lib = doDistribute self.ghc-lib_9_6_2_20230523; ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_2_20230523; ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_0; - # allows mtl, template-haskell, text and transformers - hedgehog = doDistribute self.hedgehog_1_2; - # allows base >= 4.18 - tasty-hedgehog = doDistribute self.tasty-hedgehog_1_4_0_1; - # v0.1.6 forbids base >= 4.18 singleton-bool = doDistribute super.singleton-bool_0_1_7; @@ -123,18 +112,6 @@ self: super: { # Compilation failure workarounds # - # Add missing Functor instance for Tuple2 - # https://github.com/haskell-foundation/foundation/pull/572 - foundation = appendPatches [ - (pkgs.fetchpatch { - name = "foundation-pr-572.patch"; - url = - "https://github.com/haskell-foundation/foundation/commit/d3136f4bb8b69e273535352620e53f2196941b35.patch"; - sha256 = "sha256-oPadhQdCPJHICdCPxn+GsSQUARIYODG8Ed6g2sK+eC4="; - stripLen = 1; - }) - ] (super.foundation); - # Add support for time 1.10 # https://github.com/vincenthz/hs-hourglass/pull/56 hourglass = appendPatches [ @@ -151,6 +128,40 @@ self: super: { # https://github.com/dreixel/syb/issues/40 syb = dontCheck super.syb; + # Support for template-haskell >= 2.16 + language-haskell-extract = appendPatch (pkgs.fetchpatch { + url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch"; + sha256 = "0w4y3v69nd3yafpml4gr23l94bdhbmx8xky48a59lckmz5x9fgxv"; + }) (doJailbreak super.language-haskell-extract); + + # Patch for support of mtl-2.3 + monad-par = appendPatch + (pkgs.fetchpatch { + name = "monad-par-mtl-2.3.patch"; + url = "https://github.com/simonmar/monad-par/pull/75/commits/ce53f6c1f8246224bfe0223f4aa3d077b7b6cc6c.patch"; + sha256 = "1jxkl3b3lkjhk83f5q220nmjxbkmni0jswivdw4wfbzp571djrlx"; + stripLen = 1; + }) + (doJailbreak super.monad-par); + + # Patch 0.17.1 for support of mtl-2.3 + xmonad-contrib = appendPatch + (pkgs.fetchpatch { + name = "xmonad-contrib-mtl-2.3.patch"; + url = "https://github.com/xmonad/xmonad-contrib/commit/8cb789af39e93edb07f1eee39c87908e0d7c5ee5.patch"; + sha256 = "sha256-ehCvVy0N2Udii/0K79dsRSBP7/i84yMoeyupvO8WQz4="; + }) + (doJailbreak super.xmonad-contrib); + + # Patch 0.12.0.1 for support of unix-2.8.0.0 + arbtt = appendPatch + (pkgs.fetchpatch { + name = "arbtt-unix-2.8.0.0.patch"; + url = "https://github.com/nomeata/arbtt/pull/168/commits/ddaac94395ac50e3d3cd34c133dda4a8e5a3fd6c.patch"; + sha256 = "sha256-5Gmz23f4M+NfgduA5O+9RaPmnneAB/lAlge8MrFpJYs="; + }) + super.arbtt; + # 2023-04-03: plugins disabled for hls 1.10.0.0 based on # haskell-language-server = @@ -170,8 +181,25 @@ self: super: { hls-stylish-haskell-plugin = null; }; - MonadRandom = super.MonadRandom_0_6; - unix-compat = super.unix-compat_0_7; + # Newer version of servant required for GHC 9.6 + servant = self.servant_0_20; + servant-server = self.servant-server_0_20; + servant-client = self.servant-client_0_20; + servant-client-core = self.servant-client-core_0_20; + # Select versions compatible with servant_0_20 + servant-docs = self.servant-docs_0_13; + servant-swagger = self.servant-swagger_1_2; + # Jailbreaks for servant <0.20 + servant-lucid = doJailbreak super.servant-lucid; + + # Jailbreak strict upper bounds: http-api-data <0.6 + servant_0_20 = doJailbreak super.servant_0_20; + servant-server_0_20 = doJailbreak super.servant-server_0_20; + servant-client_0_20 = doJailbreak super.servant-client_0_20; + servant-client-core_0_20 = doJailbreak super.servant-client-core_0_20; + # Jailbreak strict upper bounds: doctest <0.22 + servant-swagger_1_2 = doJailbreak super.servant-swagger_1_2; + lifted-base = dontCheck super.lifted-base; hw-fingertree = dontCheck super.hw-fingertree; hw-prim = dontCheck (doJailbreak super.hw-prim); @@ -180,10 +208,9 @@ self: super: { rebase = doJailbreak super.rebase_1_20; rerebase = doJailbreak super.rerebase_1_20; hiedb = dontCheck super.hiedb; - retrie = dontCheck (super.retrie); - - # break infinite recursion with foldable1-classes-compat's test suite, which depends on 'these'. - these = doDistribute (super.these_1_2.override { foldable1-classes-compat = dontCheck super.foldable1-classes-compat; }); + retrie = dontCheck super.retrie; + # https://github.com/kowainik/relude/issues/436 + relude = dontCheck (doJailbreak super.relude); ghc-exactprint = unmarkBroken (addBuildDepends (with self.ghc-exactprint.scope; [ HUnit Diff data-default extra fail free ghc-paths ordered-containers silently syb @@ -203,18 +230,21 @@ self: super: { implicit-hie-cradle focus hie-compat - xmonad-contrib # mtl >=1 && <2.3 dbus # template-haskell >=2.18 && <2.20, transformers <0.6, unix <2.8 + gi-cairo-connector # mtl <2.3 + haskintex # text <2 + lens-family-th # template-haskell <2.19 + ghc-prof # base <4.18 + profiteur # vector <0.13 + mfsolve # mtl <2.3 + cubicbezier # mtl <2.3 + dhall # template-haskell <2.20 + env-guard # doctest <0.21 + package-version # doctest <0.21, tasty-hedgehog <1.4 ; - # Apply workaround for Cabal 3.8 bug https://github.com/haskell/cabal/issues/8455 - # by making `pkg-config --static` happy. Note: Cabal 3.9 is also affected, so - # the GHC 9.6 configuration may need similar overrides eventually. - X11-xft = __CabalEagerPkgConfigWorkaround super.X11-xft; - # Jailbreaks for https://github.com/gtk2hs/gtk2hs/issues/323#issuecomment-1416723309 - glib = __CabalEagerPkgConfigWorkaround (doJailbreak super.glib); - cairo = __CabalEagerPkgConfigWorkaround (doJailbreak super.cairo); - pango = __CabalEagerPkgConfigWorkaround (doJailbreak super.pango); + # Avoid triggering an issue in ghc-9.6.2 + gi-gtk = disableParallelBuilding super.gi-gtk; # Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327 gtk = doJailbreak super.gtk; @@ -229,4 +259,17 @@ self: super: { }) super.libmpd; + # Apply patch from PR with mtl-2.3 fix. + ConfigFile = overrideCabal (drv: { + editedCabalFile = null; + buildDepends = drv.buildDepends or [] ++ [ self.HUnit ]; + patches = [(pkgs.fetchpatch { + name = "ConfigFile-pr-12.patch"; + url = "https://github.com/jgoerzen/configfile/pull/12.patch"; + sha256 = "sha256-b7u9GiIAd2xpOrM0MfILHNb6Nt7070lNRIadn2l3DfQ="; + })]; + }) super.ConfigFile; + + # The curl executable is required for withApplication tests. + warp_3_3_28 = addTestToolDepend pkgs.curl super.warp_3_3_28; } |