summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
diff options
context:
space:
mode:
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.nix120
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;
 }