Change:
As a fallout of the migration to GHC 9.0.2 got marked as broken, as it failed to build with GHC 9.0.2 and the Stackage LTS 19 package set we now have. It would be necessary to investigate if survived this (i.e. if it still builds) and if not to get it to work again. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --cc
should compile again. The bootstrap is additionally built by Hydra, so only the GHC bundled libraries will need to be compiled (which is an improvement to before at least).

Discussion:
<del> { haskellLib }: </del> <ins> { haskellLib, fetchpatch, buildPackages }: </ins> <del> let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak; </del> <ins> let inherit (haskellLib) addBuildTools appendConfigureFlag dontHaddock doJailbreak markUnbroken overrideCabal; </ins> in self: super: { <del> ghcjs = doJailbreak (super.ghcjs.overrideScope (self: super: { </del> <ins> ghcjs = overrideCabal (drv: { # Jailbreak and patch can be dropped after https://github.com/ghcjs/ghcjs/pull/833 jailbreak = true; patches = drv.patches or [] ++ [ (fetchpatch { name = "ghcjs-aeson-2.0.patch"; url = "https://github.com/ghcjs/ghcjs/commit/9ef1f92d740e8503d15d91699f57db147f0474cc.patch"; sha256 = "0cgxcy6b5870bv4kj54n3bzcqinh4gl4w4r78dg43h2mblhkzbnj"; }) ]; }) (super.ghcjs.overrideScope (self: super: { </ins> optparse-applicative = self.optparse-applicative_0_15_1_0; <ins> webdriver = overrideCabal (drv: { patches = drv.patches or [] ++ [ # Patch for aeson 2.0 which adds a lower bound on it, so we don't apply it globally # Pending https://github.com/kallisti-dev/hs-webdriver/pull/183 (fetchpatch { name = "webdriver-aeson-2.0.patch"; url = "https://github.com/georgefst/hs-webdriver/commit/90ded63218da17fc0bd9f9b208b0b3f60b135757.patch"; sha256 = "1xvkk51r2v020xlmci5n1fd1na8raa332lrj7r9f0ijsyfvnqlv0"; excludes = [ "webdriver.cabal" ]; }) ]; # Fix line endings so patch applies prePatch = drv.prePatch or "" + '' find . -name '*.hs' | xargs "${buildPackages.dos2unix}/bin/dos2unix" ''; jailbreak = true; broken = false; }) super.webdriver; </ins> })); }

, pkgsHostHost , callPackage , fetchgit <ins> , fetchpatch </ins> , ghcjsSrcJson ? null , ghcjsSrc ? fetchgit (lib.importJSON ghcjsSrcJson) , bootPkgs

}) (callPackage ./common-overrides.nix { <del> inherit haskellLib; </del> <ins> inherit haskellLib fetchpatch buildPackages; </ins> }) ghcjsDepOverrides ]);

jobs = recursiveUpdateMany [ (mapTestOn { haskellPackages = packagePlatforms pkgs.haskellPackages; <del> haskell.compiler = packagePlatforms pkgs.haskell.compiler; </del> <ins> haskell.compiler = packagePlatforms pkgs.haskell.compiler // (lib.genAttrs [ "ghcjs" "ghcjs810" ] (ghcjsName: { # We can't build ghcjs itself, since it exceeds 3GB (Hydra's output limit) due # to the size of its bundled libs. We can however save users a bit of compile # time by building the bootstrap ghcjs on Hydra. For this reason, we overwrite # the ghcjs attributes in haskell.compiler with a reference to the bootstrap # ghcjs attribute in their bootstrap package set (exposed via passthru) which # would otherwise be ignored by Hydra. bootGhcjs = (packagePlatforms pkgs.haskell.compiler.${ghcjsName}.passthru).bootGhcjs; })); </ins> tests.haskell = packagePlatforms pkgs.tests.haskell;