The pin was intended to prevent an upgrade to 1.4.2.1, a compatibility
release for GHC 7.0. Since 1.4.3.0 has been released quite a while ago,
it's time to upgrade finally.
retrie 1.2.0.0 adds support for 9.2, but drops it for all prior
versions. haskell.packages.ghc921.retrie stays at 1.2.0.0.
haskell.packages.ghc921.ghc-exactprint: 0.6.4 -> 1.3.0
0.14.0.0 introduces support for GHC 9.0.1, but also drops support for
all GHCs below, so we can't upgrade to that version.
For the 9.0.1 hls brittany support is now possible in theory. In
practice however, it is a massive pain to get to work, as britanny
depends on the latest and greatest version of multiple packages that are
pinned by Stackage LTS.
A lot of these packages are not in stackage for some reason, so we need
to add some extra constraints to keep the packages stackage-compatible.
Some newly uploaded packages will become broken, as they've never had a
version compatible with haskell-gi 0.25.
Since hledger-lib 1.23 won't build with the latest doctest, there's
likely a change in behavior somewhere. 0.18.2 is then the closest
doctest to stackage's which works with GHC >= 9, so let's stick with it
for now.
Starting with GHC 9.0.1 ghc-bignum is bundled with GHC and we don't need
to worry about building it from hackage. ghc-bignum 1.2 doesn't seem to
build with anything before 9.2.1, so we need to downgrade ghc-bignum to
1.0 (and sadly keep our patches) for 8.10.7 support.
These packages have seen releases for GHC 9.2.1, removing the 9.0.1
versions from the package set. By adding them to extra-packages, we can
prevent them from getting removed.
Since https://github.com/diagrams/diagrams/issues/26 has been solved,
all diagrams-related libs finally work together in their latest version
and we can remove the constraints on the following updated packages.
* haskellPackages.monoid-extras: 0.5.1 -> 0.6
* haskellPackages.diagrams-lib: 1.4.3 -> 1.4.4
Also allows us to get rid of a patch for optparse-applicative 0.16 support.
* haskellPackages.dual-tree: 0.2.2.1 -> 0.2.3.0
Allows us to drop jailbreak.
* haskellPackages.diagrams-core: 1.4.2 -> 1.5.0
Allows us to drop jailbreak.
Some reverse dependencies of said libraries had too strict bounds, but
fortunately no new regressions (as far as I am aware) have been
introduced. Jailbreaks were needed for:
* diagrams-braille
* Chart-diagrams
* namespace
* plots
* Chart-tests
`ghc-vis` doesn't support library profiling, as noted in:
> http://felsin9.de/nnis/ghc-vis/#installation
This gets the package building and it runs fine when called from ghci as you
normally would, however when you actually try viewing an expression it fails
with the following error message:
```
ghc: Error running utility program: Unable to call the command dot with the
arguments: " -Txdot " because of: dot: runInteractiveProcess: posix_spawnp:
does not exist (No such file or directory)
```
As far as I can tell that is because `ghc-vis` needs to run dot at runtime but
since it's a library adding `graphviz` as a dependency doesn't quite do the
trick.
And while not ideal adding `graphviz` to the shell you're running `ghc-vis` at
works around this issue.
2.3.0 requires GHC 9.0.*, so we'll have to downgrade it for
now. Additionally we'll take this opportunity to fix
haskell.packages.ghc901.weeder and its dependencies.
* haskell.packages.ghc884.ghc-api-compat needed us to re-add the 8.6
version of the package.
* haskell.packages.ghc901.ghc-api-compat now points to the newly
released 9.0.1 version of the package.
* haskell.packages.ghc8107.ghc-api-compat now correctly points to
ghc-api-compat 8.10.7.
GHC 9.2.1 is still unsupported (which is to be expected, with it
being a release candidate).
To make sure everything stays working we'll build ghc-api-compat as part
of versionedCompilerJobs.
As a preparation for adding aarch64-darwin support, make sure that
whenever x86_64-darwin is unsupported, we also don't support
aarch64-darwin to avoid a mess in the diff and likely a lot of avoidable
build failures.
If it turns out to be supported we can always remove them later.