See #164686. As Stackage LTS still restricts the gi-gtk packages to GTK 3
compatible releases, looking into this doesn't make too much sense yet.
(Also nothing actually depends on it at the moment.)
elm-format depends on elm-format-lib which failed to build with
hspec-tasty 1.1.7 and hspec-golden 0.2.0.0.
hspec-tasty 1.1.6 and hspec-golden 0.1.0.3 had been removed in
cd67b4fcbb.
hspec-tasty 1.1.6 in turn pulls in older dependencies for hspec,
hspec-core and hspec-discover.
Fixes#167533.
When cross compiling the pkg-config binary is prefixed and cabal
needs to be made aware of this.
Note: the `--with-pkg-config` flag can't be added unconditionally
because if the package doesn't need pkg-config (thus pkg-config
is not in the PATH) cabal consider this a hard failure.
This is done for consistency with generic-builder.nix and because it's
easier for downstream users to replicate which will inevitably use our
code as inspiration.
This is the correctest and clearest way to do it I can think of at the
moment that doesn't need us to add anything.
"${ghcCommand}-${ghc.version}" also works, but is clunkier and harder to
replicate for downstream users.
We should only make use of asserts to assert a property about the
*current* attribute in order to make it possible for downstream users to
change versions of packages: When a downstream user changes the package
an attribute points to, the assert is removed as the attribute is
swapped out, so asserting something about itself is okay. However, when
it asserts a property about another package, changing that other package
may break the package unexpectedly, with no better workaround then
passing in an empty `configurationCommon` overlay.
See also: https://github.com/NixOS/nixpkgs/pull/166425
Cheese in a package update while keeping the old expression in
hackage-packages.nix, so we can avoid any regressions updating our
hackage snapshot might introduce.
Luckily, all build failures where just related to type checking changes
in GHC 9.0 (and maybe base changes?), so we can just use GHC 8.10.7 with
the Stackage version of packages and keep Yi working. I feel like we
dodged a bullet here, as upstream maintenance doesn't seem to be too
proactive these days.