haskell.packages.ghc921.cabal2nix: fix build

This mostly involved making its dependencies build, cabal2nix itself
seems to have no issues with 9.2.1 at the moment.

+43 -4
+43 -4
pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
··· 145 type-equality = doJailbreak super.type-equality; 146 vector = doJailbreak (dontCheck super.vector); 147 vector-binary-instances = doJailbreak super.vector-binary-instances; 148 - vector-th-unbox = doJailbreak super.vector-th-unbox; 149 zlib = doJailbreak super.zlib; 150 151 # Syntax error in tests fixed in https://github.com/simonmar/alex/commit/84b29475e057ef744f32a94bc0d3954b84160760 152 alex = dontCheck super.alex; ··· 170 # 1.2.1 introduced support for GHC 9.2.1, stackage has 1.2.0 171 # The test suite indirectly depends on random, which leads to infinite recursion 172 random = dontCheck super.random_1_2_1; 173 - 174 - # 5 introduced support for GHC 9.0.x, but hasn't landed in stackage yet 175 - lens = super.lens_5_0_1; 176 177 # 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0 178 memory = appendPatch super.memory_0_16_0 (pkgs.fetchpatch {
··· 145 type-equality = doJailbreak super.type-equality; 146 vector = doJailbreak (dontCheck super.vector); 147 vector-binary-instances = doJailbreak super.vector-binary-instances; 148 zlib = doJailbreak super.zlib; 149 + indexed-traversable-instances = doJailbreak super.indexed-traversable-instances; 150 + 151 + hpack = overrideCabal (doJailbreak super.hpack) (drv: { 152 + # Cabal 3.6 seems to preserve comments when reading, which makes this test fail 153 + # 2021-10-10: 9.2.1 is not yet supported (also no issue) 154 + testFlags = [ 155 + "--skip=/Hpack/renderCabalFile/is inverse to readCabalFile/" 156 + ] ++ drv.testFlags or []; 157 + }); 158 + 159 + # Patch for TH code from head.hackage 160 + vector-th-unbox = appendPatch (doJailbreak super.vector-th-unbox) (pkgs.fetchpatch { 161 + url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/vector-th-unbox-0.2.1.9.patch"; 162 + sha256 = "02bvvy3hx3cf4y4dr64zl5pjvq8giwk4286j5g1n6k8ikyn2403p"; 163 + }); 164 + 165 + # Patch for TH code from head.hackage 166 + invariant = appendPatch (doJailbreak super.invariant) (pkgs.fetchpatch { 167 + url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/invariant-0.5.4.patch"; 168 + sha256 = "17gg8ck4r6qmlbcbpbnqzksgf5q7i891zs6axfzhas6ajncylxvc"; 169 + }); 170 + 171 + # base 4.15 support from head.hackage 172 + lens = appendPatch (doJailbreak super.lens_5_0_1) (pkgs.fetchpatch { 173 + url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/lens-5.0.1.patch"; 174 + sha256 = "1s8qqg7ymvv94dnfnr1ragx91chh9y7ydc4jx25zn361wbn00pv7"; 175 + }); 176 + 177 + semigroupoids = overrideCabal super.semigroupoids (drv: { 178 + # Patch from head.hackage for base 4.15 compat 179 + patches = drv.patches or [] ++ [ 180 + (pkgs.fetchpatch { 181 + url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/semigroupoids-5.3.5.patch"; 182 + sha256 = "0xrn1gv6b2n76522pk2nfp4z69kvp14l2zpif2f8zzz6cwcrx9w8"; 183 + }) 184 + ]; 185 + # acrobatics to make the patch apply 186 + prePatch = '' 187 + find . -type f | xargs -L 1 ${pkgs.buildPackages.dos2unix}/bin/dos2unix 188 + ''; 189 + editedCabalFile = null; 190 + revision = null; 191 + }); 192 193 # Syntax error in tests fixed in https://github.com/simonmar/alex/commit/84b29475e057ef744f32a94bc0d3954b84160760 194 alex = dontCheck super.alex; ··· 212 # 1.2.1 introduced support for GHC 9.2.1, stackage has 1.2.0 213 # The test suite indirectly depends on random, which leads to infinite recursion 214 random = dontCheck super.random_1_2_1; 215 216 # 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0 217 memory = appendPatch super.memory_0_16_0 (pkgs.fetchpatch {