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.
librsvg version 2.51.0 renames librsvg-features.h to rsvg-features.h and with
08fcd73d9d going in svgcairo broke again.
Renaming the library in the call site fixes the build.
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.
The compile time check for close_range support is broken fundamentally
at the moment (linux-headers is always 5.14, so it'll always assume
close_range is available, upstream is aware of this issue). As a
workaround, we disable the test suite if the kernel on the builder is
too old, allowing the package to still be built.