GHC's cross build flavours disable the terminfo package, so it will
never be included if we are cross-compiling – setting it to null thus
breaks all builds depending on the package.
To fix this problem, we use the versioned attribute generated by
hackage2nix, just like we do for xhtml.
Closes#182785.
The update officially introduces support for GHC 9.2 and the previous
was starting to fail to apply (due to hackage revisions, so probably
easy to fix). Since the changelog from 0.29 to 0.30 looks pretty
harmless, let's try updating.
The xhtml library is only built as part of the GHC build process if GHC
is disabled. This means that no GHC cross compiler has xhtml bundled,
since haddock can't be built if GHC is a cross compiler (see relevant
notes in the GHC nix expressions). This means that all packages
depending on xhtml would currently fail to build when cross-compiled, as
haskellPackages would assume it'd be provided by GHC. This is fixed by
this commit.
pkgsStatic hits this case, so we test compilation of xhtml for these
package sets which will remind us to update the attribute name whenever
its version changes.
* Test the default pkgsStatic.haskellPackages set, as it should be
working properly now.
* Instead of GHC 8.10.7 which hasn't gotten some workarounds applied,
test GHC 9.2.2 additionally which should work as well as GHC 9.0.
* Test building an actual executable, cabal2nix.
* Simplify aggregate job definition.
* Make sure GHC 9.2 lens gets built on Hydra.
Patch sent to upstream via email, but the package hasn't been updated in
ten years.
Changes:
- IO.seek should now return the new offset so I used modifyMVar instead
of modifyMVar_
- mkFileHandle now requires a RawIO instance for Device. Since this was
not the case before and I don't think we need to actually support raw
IO, I used DeriveAnyClass.
Expose from haskell.packages.ghc921 (which is the only GHC version that
can build it easily atm) and additionally install man page, language
guide and code examples.
Also regenerate hackage-packages.nix so it picks up on the newly added
library and remove the broken flag no haskell.packages.ghc921.regex-rure
which builds fine now (earlier GHC versions bundle incompatible
bytestring versions).