This change essentially amounts to inlining
__CabalEagerPkgConfigWorkaround into haskellPackages.mkDerivation and
applying it automatically for the affected GHC versions. This is a bit
overeager, but the best automatic solution we can come up with for now.
Consequently, we don't need __CabalEagerPkgConfigWorkaround in nixpkgs
anymore nor downstream at least for “standard” haskellPackages builds.
__CabalEagerPkgConfigWorkaround is preserved for now since it is still
necessary if using GHC < 9.4 with Cabal >= 3.10 or cabal-install >= 3.10.
The one thing that may or may not be negatively affected by this change
is ghcWithPackages. I doubt this is a problem in practice though, since
it didn't provide pkg-config in the first place. passthru.env and
shellFor do and work correctly since they rely on mkDerivation.
all-cabal-hashes: 2023-06-28T16:36:39Z -> 2023-07-19T20:56:38Z
This commit has been generated by
* maintainers/scripts/haskell/update-hackage.sh
* maintainers/scripts/haskell/update-stackage.sh
* maintainers/scripts/haskell/regenerate-hackage-packages.sh
Additionally, the following manual changes are included:
* Delete now obsolete overrides for
- base-compat, base-compat-batteries (new release in stackage)
- cmark (new release in stackage)
- skylighting (newer release than 0.13.3 in stackage)
- optics (new release in stackage)
* Adjust to new versions for
- hspec, hspec-core, hspec-discover, hspec-expectations
- fourmolu
- pandoc
- doctest
!fixup stackage
When building gi-gtk with ghc-9.6.1 and ghc-9.6.2 there are errors
like this:
<no location info>: error:
attempting to use module ‘gi-gtk-3.0.41-DcfU7A0rbDCAyPkJQEwKC:GI.Gtk.Interfaces.Buildable’ (./GI/Gtk/Interfaces/Buildable.hs) which is not loaded
The errors can be avoided by using -j1, which is unfortunate for
gi-gtk because it has 708 modules to build.
The ghc gitlab issue is: https://gitlab.haskell.org/ghc/ghc/-/issues/23392
This applies the Cabal pkgconfig workaround to taffybar and all of its
pkgconfig-using dependencies.
A typical example of the build error looks like this:
Package libpcre2-8 was not found in the pkg-config search path.
- The dontCheck overrides are not necessary completely. It seems that
there is some kind of issue with the doctest suite, but we can run the
other ones.
- We need a jailbreak everywhere due to doctest (ironically), so we can
move that into the common configuration.
- The i686 issue has been closed upstream. Tested locally to confirm
that it is indeed not a problem anymore.