We'll continue using this version for GHC 9.2.1. 1.5.0 changes behavior
in a breaking way, but the API stays the same, making it a risky
upgrade. Hopefully dependents will tell us via version constraints what
to use in the future.
polysemy-plugin has reentered Stackage LTS, so the old workaround is no
longer necessary. We do need to jailbreak it, ironically, since Stackage
LTS ignores tests (?) and polysemy-plugin's bound on doctest is too
strict.
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.