diff options
Diffstat (limited to 'pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix')
-rw-r--r-- | pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix | 120 |
1 files changed, 31 insertions, 89 deletions
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix index 4873fff3b3e..caaa3bb349a 100644 --- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix +++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix @@ -55,79 +55,20 @@ in { # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463 xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1; - # Tests fail because of typechecking changes - conduit = dontCheck super.conduit; - # consequences of doctest breakage follow: ghc-source-gen = checkAgainAfter super.ghc-source-gen "0.4.3.0" "fails to build" (markBroken super.ghc-source-gen); - haskell-src-meta = doJailbreak super.haskell-src-meta; - - # Tests fail in GHC 9.2 - extra = dontCheck super.extra; - # Jailbreaks & Version Updates - aeson = doDistribute self.aeson_2_1_2_1; - assoc = doJailbreak super.assoc; - async = doJailbreak super.async; - base64-bytestring = doJailbreak super.base64-bytestring; - binary-instances = doJailbreak super.binary-instances; - ChasingBottoms = doJailbreak super.ChasingBottoms; - constraints = doJailbreak super.constraints; - cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs; - data-fix = doJailbreak super.data-fix; - dec = doJailbreak super.dec; - ed25519 = doJailbreak super.ed25519; - ghc-byteorder = doJailbreak super.ghc-byteorder; - ghc-lib = doDistribute self.ghc-lib_9_4_5_20230430; - ghc-lib-parser = doDistribute self.ghc-lib-parser_9_4_5_20230430; - ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_4_0_0; - hackage-security = doJailbreak super.hackage-security; hashable-time = doJailbreak super.hashable-time; - HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP); - integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms); - lifted-async = doJailbreak super.lifted-async; - lukko = doJailbreak super.lukko; - lzma-conduit = doJailbreak super.lzma-conduit; - parallel = doJailbreak super.parallel; - path = doJailbreak super.path; - polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse); - primitive = dontCheck (doJailbreak self.primitive_0_7_4_0); - regex-posix = doJailbreak super.regex-posix; - resolv = doJailbreak super.resolv; - singleton-bool = doJailbreak super.singleton-bool; - rope-utf16-splay = doDistribute self.rope-utf16-splay_0_4_0_0; - shake-cabal = doDistribute self.shake-cabal_0_2_2_3; libmpd = doJailbreak super.libmpd; - generics-sop = doJailbreak super.generics-sop; - microlens-th = doJailbreak super.microlens-th; # generically needs base-orphans for 9.4 only base-orphans = dontCheck (doDistribute super.base-orphans); - generically = addBuildDepend self.base-orphans super.generically; # the dontHaddock is due to a GHC panic. might be this bug, not sure. # https://gitlab.haskell.org/ghc/ghc/-/issues/21619 - # - # We need >= 1.1.2 for ghc-9.4 support, but we don't have 1.1.x in - # hackage-packages.nix - hedgehog = doDistribute (dontHaddock super.hedgehog_1_2); - # tasty-hedgehog > 1.3 necessary to work with hedgehog 1.2: - # https://github.com/qfpl/tasty-hedgehog/pull/63 - tasty-hedgehog = self.tasty-hedgehog_1_4_0_1; - - # https://github.com/dreixel/syb/issues/38 - syb = dontCheck super.syb; - - splitmix = doJailbreak super.splitmix; - th-desugar = doDistribute self.th-desugar_1_15; - th-abstraction = doDistribute self.th-abstraction_0_5_0_0; - time-compat = doJailbreak super.time-compat; - tomland = doJailbreak super.tomland; - type-equality = doJailbreak super.type-equality; - unordered-containers = doJailbreak super.unordered-containers; - vector-binary-instances = doJailbreak super.vector-binary-instances; + hedgehog = dontHaddock super.hedgehog; hpack = overrideCabal (drv: { # Cabal 3.6 seems to preserve comments when reading, which makes this test fail @@ -137,8 +78,6 @@ in { ] ++ drv.testFlags or []; }) (doJailbreak super.hpack); - lens = doDistribute self.lens_5_2_2; - # Apply patches from head.hackage. language-haskell-extract = appendPatch (pkgs.fetchpatch { url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch"; @@ -148,38 +87,20 @@ in { # Tests depend on `parseTime` which is no longer available hourglass = dontCheck super.hourglass; - memory = super.memory_0_18_0; - # https://github.com/sjakobi/bsb-http-chunked/issues/38 bsb-http-chunked = dontCheck super.bsb-http-chunked; - # need bytestring >= 0.11 which is only bundled with GHC >= 9.2 - regex-rure = doDistribute (markUnbroken super.regex-rure); - jacinda = doDistribute super.jacinda; - some = doJailbreak super.some; - # 2022-08-01: Tests are broken on ghc 9.2.4: https://github.com/wz1000/HieDb/issues/46 hiedb = dontCheck super.hiedb; - hlint = self.hlint_3_5; - hls-hlint-plugin = super.hls-hlint-plugin.override { - inherit (self) hlint; - }; - # 2022-10-06: https://gitlab.haskell.org/ghc/ghc/-/issues/22260 ghc-check = dontHaddock super.ghc-check; - ghc-exactprint = overrideCabal (drv: { - libraryHaskellDepends = with self; [ HUnit data-default fail filemanip free ghc-paths ordered-containers silently syb Diff ]; - }) - self.ghc-exactprint_1_6_1_3; - - # needed to build servant - http-api-data = super.http-api-data_0_5_1; - attoparsec-iso8601 = super.attoparsec-iso8601_1_1_0_0; + # Too strict upper bound on template-haskell + # https://github.com/mokus0/th-extras/issues/18 + th-extras = doJailbreak super.th-extras; # requires newer versions to work with GHC 9.4 - swagger2 = dontCheck super.swagger2; servant = doJailbreak super.servant; servant-server = doJailbreak super.servant-server; servant-auth = doJailbreak super.servant-auth; @@ -188,13 +109,11 @@ in { servant-client-core = doJailbreak super.servant-client-core; servant-client = doJailbreak super.servant-client; # https://github.com/kowainik/relude/issues/436 - relude = dontCheck (doJailbreak super.relude); + relude = dontCheck super.relude; - ormolu = doDistribute self.ormolu_0_5_3_0; - # https://github.com/tweag/ormolu/issues/941 fourmolu = overrideCabal (drv: { libraryHaskellDepends = drv.libraryHaskellDepends ++ [ self.file-embed ]; - }) (disableCabalFlag "fixity-th" super.fourmolu_0_10_1_0); + }) (disableCabalFlag "fixity-th" super.fourmolu); # 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 @@ -205,6 +124,29 @@ in { cairo = __CabalEagerPkgConfigWorkaround (doJailbreak super.cairo); pango = __CabalEagerPkgConfigWorkaround (doJailbreak super.pango); - # Pending text-2.0 support https://github.com/gtk2hs/gtk2hs/issues/327 - gtk = doJailbreak super.gtk; + # Cabal 3.8 bug workaround for haskell-gi family of libraries + gi-atk = __CabalEagerPkgConfigWorkaround super.gi-atk; + gi-cairo = __CabalEagerPkgConfigWorkaround super.gi-cairo; + gi-gdk = __CabalEagerPkgConfigWorkaround super.gi-gdk; + gi-gdkpixbuf = __CabalEagerPkgConfigWorkaround super.gi-gdkpixbuf; + gi-gio = __CabalEagerPkgConfigWorkaround super.gi-gio; + gi-glib = __CabalEagerPkgConfigWorkaround super.gi-glib; + gi-gmodule = __CabalEagerPkgConfigWorkaround super.gi-gmodule; + gi-gobject = __CabalEagerPkgConfigWorkaround super.gi-gobject; + gi-gtk = __CabalEagerPkgConfigWorkaround super.gi-gtk; + gi-harfbuzz = __CabalEagerPkgConfigWorkaround super.gi-harfbuzz; + gi-pango = __CabalEagerPkgConfigWorkaround super.gi-pango; + gi-vte = __CabalEagerPkgConfigWorkaround super.gi-vte; + haskell-gi = __CabalEagerPkgConfigWorkaround super.haskell-gi; + haskell-gi-base = __CabalEagerPkgConfigWorkaround super.haskell-gi-base; + svgcairo = __CabalEagerPkgConfigWorkaround super.svgcairo; + gtk3 = __CabalEagerPkgConfigWorkaround super.gtk3; + webkit2gtk3-javascriptcore = __CabalEagerPkgConfigWorkaround super.webkit2gtk3-javascriptcore; + gi-javascriptcore = __CabalEagerPkgConfigWorkaround super.gi-javascriptcore; + gi-soup = __CabalEagerPkgConfigWorkaround super.gi-soup; + gio = __CabalEagerPkgConfigWorkaround super.gio; + gtk = __CabalEagerPkgConfigWorkaround super.gtk; + + # Cabal 3.8 bug workaround for applications using haskell-gi family of libraries + termonad = __CabalEagerPkgConfigWorkaround super.termonad; } |