diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix | 135 |
1 files changed, 32 insertions, 103 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix index 3dcf3cf819494..726ced3e65d49 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.6.x.nix @@ -65,49 +65,18 @@ self: super: { # Version deviations from Stackage LTS # - doctest = doDistribute super.doctest_0_22_2; - http-api-data = doDistribute self.http-api-data_0_6; # allows base >= 4.18 - some = doDistribute self.some_1_0_6; - th-abstraction = doDistribute self.th-abstraction_0_6_0_0; - th-desugar = doDistribute self.th-desugar_1_16; - semigroupoids = doDistribute self.semigroupoids_6_0_0_1; - bifunctors = doDistribute self.bifunctors_5_6_1; - base-compat = doDistribute self.base-compat_0_13_1; - base-compat-batteries = doDistribute self.base-compat-batteries_0_13_1; - fgl = doDistribute self.fgl_5_8_2_0; - - # Because we bumped the version of th-abstraction above.^ - aeson = doJailbreak super.aeson; - free = doJailbreak super.free; - - # Because we bumped the version of base-compat above.^ - cabal-plan = unmarkBroken super.cabal-plan; - cabal-plan-bounds = unmarkBroken super.cabal-plan-bounds; - - # Requires filepath >= 1.4.100.0 <=> GHC >= 9.6 - file-io = unmarkBroken super.file-io; - # 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_3_20231121; - ghc-lib-parser = doDistribute self.ghc-lib-parser_9_6_3_20231121; - ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_6_0_2; - - fourmolu = doDistribute self.fourmolu_0_14_0_0; - ormolu = self.generateOptparseApplicativeCompletions [ "ormolu" ] (enableSeparateBinOutput super.ormolu_0_7_2_0); - hlint = super.hlint_3_6_1; - - # v0.1.6 forbids base >= 4.18 - singleton-bool = doDistribute super.singleton-bool_0_1_7; - # # Too strict bounds without upstream fix # # Forbids transformers >= 0.6 quickcheck-classes-base = doJailbreak super.quickcheck-classes-base; + # https://github.com/Gabriella439/Haskell-Break-Library/pull/3 + break = doJailbreak super.break; # Forbids mtl >= 2.3 ChasingBottoms = doJailbreak super.ChasingBottoms; # Forbids base >= 4.18 @@ -136,93 +105,24 @@ self: super: { }) ] (super.hourglass); - - # Test suite doesn't compile with base-4.18 / GHC 9.6 - # https://github.com/dreixel/syb/issues/40 - syb = dontCheck super.syb; - - # 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 = super.haskell-language-server.override { - hls-floskell-plugin = null; - }; - - # Newer version of servant required for GHC 9.6 - servant = self.servant_0_20_1; - 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_1 - 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_1 = doJailbreak super.servant_0_20_1; - 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); stm-containers = dontCheck super.stm-containers; regex-tdfa = dontCheck super.regex-tdfa; - rebase = doJailbreak super.rebase_1_20_2; - rerebase = doJailbreak super.rerebase_1_20_2; hiedb = dontCheck super.hiedb; 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 - ]) super.ghc-exactprint_1_7_0_1); - inherit (pkgs.lib.mapAttrs (_: doJailbreak ) super) hls-cabal-plugin - algebraic-graphs - co-log-core - lens - cryptohash-sha1 - cryptohash-md5 ghc-trace-events - tasty-hspec - constraints-extras - tree-diff - implicit-hie-cradle - focus - hie-compat - 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 ; @@ -233,9 +133,35 @@ self: super: { # Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327 gtk = doJailbreak super.gtk; + # 2023-12-23: It needs this to build under ghc-9.6.3. + # A factor of 100 is insufficent, 200 seems seems to work. + hip = appendConfigureFlag "--ghc-options=-fsimpl-tick-factor=200" super.hip; + # Doctest comments have bogus imports. bsb-http-chunked = dontCheck super.bsb-http-chunked; + # This can be removed once https://github.com/typeclasses/ascii-predicates/pull/1 + # is merged and in a release that's being tracked. + ascii-predicates = appendPatch + (pkgs.fetchpatch + { url = "https://github.com/typeclasses/ascii-predicates/commit/2e6d9ed45987a8566f3a77eedf7836055c076d1a.patch"; + name = "ascii-predicates-pull-1.patch"; + relative = "ascii-predicates"; + sha256 = "sha256-4JguQFZNRQpjZThLrAo13jNeypvLfqFp6o7c1bnkmZo="; + }) + super.ascii-predicates; + + # This can be removed once https://github.com/typeclasses/ascii-numbers/pull/1 + # is merged and in a release that's being tracked. + ascii-numbers = appendPatch + (pkgs.fetchpatch + { url = "https://github.com/typeclasses/ascii-numbers/commit/e9474ad91bc997891f1a46afd5d0bdf9b9f7d768.patch"; + name = "ascii-numbers-pull-1.patch"; + relative = "ascii-numbers"; + sha256 = "sha256-buw1UeW57CFefEfqdDUraSyQ+H/NvCZOv6WF2ORiYQg="; + }) + super.ascii-numbers; + # Fix ghc-9.6.x build errors. libmpd = appendPatch # https://github.com/vimus/libmpd-haskell/pull/138 @@ -263,5 +189,8 @@ self: super: { # the workaround on 9.6 is to revert to the LLVM backend (which is used # for these sorts of situations even on 9.2 and 9.4). # https://gitlab.haskell.org/ghc/ghc/-/issues/23746#note_525318 - tls = if pkgs.stdenv.hostPlatform.isAarch64 then self.forceLlvmCodegenBackend super.tls else super.tls; + inherit (lib.mapAttrs (_: self.forceLlvmCodegenBackend) super) + tls + mmark + ; } |