We can take advantage of modern Pandoc features to move information like the
release date, the man page section, etc. into the markdown source rather than
having to insert that data during the rendering process. The only thing that
remains to be figured out by this tool is the set of known key bindings.
A side effect of that change is that our code no longer compiles with GHC
versions prior to 8.0.x. We could work around that, no doubt, but the resulting
code would require CPP and Cabal flags and whatnot. It feels more reasonable to
just require a moderately recent compiler instead of going through all that
trouble.
- Our code does not compile with versions prior to 4.6, because we need
System.Environment.lookupEnv.
- Our code does not compile with version 4.12 (GHC 8.6.x) and beyond.
Closes https://github.com/xmonad/xmonad/issues/180.
Hackage won't accept the package with that "hack" in place. If you want to
compile with profiling enabled, please configure the build with
--enable-profiling via "cabal" or "stack" or whatever build driver you're
using.
The man pages are available for packagers in `extra-source-files`.
Having them in `data-files` is confusing since, according to Cabal's user guide [1], `data-files` contains "A list of files to be installed for run-time use by the package.", but the man pages are not used at run-time by xmonad.
[1]: https://www.haskell.org/cabal/users-guide/developing-packages.html
Users can specify directory overrides via environment variables. If
those aren't set, xmonad now prefers XDG directories. If ~/.xmonad
exists and none of the others do, it will be used instead.
See: xmonad/xmonad#61
Fix test failures on GHC 8 for `abort` and `new_abort` caused by `error`
appending the stack trace to the error message (since base
4.9.0.0)[1]. This fixes#36.
An alternative is to use `errorWithoutStackTrace` (new in base 4.9.0.0),
but this then requires use of CPP for backwards compatibility.
Remove type constraints prompting GHC to warn about redundant
constraints.
Tested with 7.6.3, 7.8.4, 7.10.3, 8.0.1 (all on NixOS).
[1] https://hackage.haskell.org/package/base-4.9.0.0/docs/GHC-Stack.html