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.
The test suite for fakedata is fixed in version 1.0.1 but since we follow
stackage for this package and there the version is at 0.8.0 we're just disabling
the test suite until it gets updated.
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.