Unbreak libjwt-typed. Succesfully built using:
env NIXPKGS_ALLOW_BROKEN=1 nix-build --no-out-link -A haskellPackages.libjwt-typed
This was accomplished by removing dependency
bounds, skipping tests, and adding the libjwt
librarySystemDepends.
Removed `broken` status from libjwt-typed.
I have not tested using what was built in the
nix-build command above in a local project.
Required by the assistant at runtime:
```
$ nix-shell --pure -p git git-annex
$ git annex assistant
git-annex: The lsof command is needed for watch mode to be safe, and is not in PATH.
To override lsof checks to ensure that files are not open for writing
when added to the annex, you can use --force
Be warned: This can corrupt data in the annex, and make fsck complain.
```
* Newly added are bitwuzla and cvc5 (unpackaged at the moment)
* Refactor sed expression disabling solves we don't provide in the test
suite.
* Stop conditionally disabling z3 solver on aarch64, seems there is no
reason for it anymore.
We already had a xmonad-nix.patch for XMonad 0.17, so it's just a matter
of using it. The old patch for 0.16 can be dropped as well, since we no
longer ship that version.
I've tried to be conservative and only clean up things that broke eval
which in most cases had to do with uses of versioned packages that have
become the default in Stackage Nightly now. There's probably still
potential for cleaning up some additional workarounds and likely there
are still a lot of new workarounds to be found once we know about the
build failures.
Also note that clean eval only means that nix-env doesn't fail.
Notes:
* HLS now lacks the stylish-haskell and britanny plugins by default,
since they don't support GHC 9.0.2. We'll need to re-enable them
for GHC < 9.0.2
* A lot of uses of hspec 2.9.* can probably be removed, as 2.8.* which
is used in Stackage Nightly is new enough for most packages.
Expose from haskell.packages.ghc921 (which is the only GHC version that
can build it easily atm) and additionally install man page, language
guide and code examples.
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
Move everything into a single overrideCabal and express conditionality
using optionalAttrs. This should make it easier to add
more (un)conditional overrides in the future.
PR was merged after the switch to haskell.lib.compose by default, but
originally created before that day, so the argument order used was
completely wrong, but CI didn't show it, because its state was stale.
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.
The aliases, like haskell-language-server-8.10 do not get discovered by the hls-wrapper.
Only `haskell-language-server` and e.g. `haskell-languag-server-8.10.7` work.
I got that wrong when introducing those aliases.
Some hash implementations in hashes are platform-specific (32 vs 64
bit), but only implemented in terms of “is i686 or x86_64?”. This it'll
always fail on other platforms (like aarch64). Consequently it makes no
sense to build and execute the test suite there, even if some hash
implementations are platform independent and could be tested.
webkitgtk24x-gtk2 has been removed, but webkit doesn't compile anymore
these days, so we can save us maintaining this override. The “correct”
override would be webkitgtk (webkit is an alias form webkitgtk atm,
maybe we should introduce a libNixName thing in cabal2nix for this?)
if webkit compiled with modern dependencies…
websnap actually depends on the haskell webkit package (which is
broken), so this override introducing a dependency on a removed package
is actually incorrect and can be removed.
Monomer's tests want a display, which currently isn't provided in the Nix sandbox.
I also reordered the other packages that are in the same boat so they're
all in one place.
ats-format has a custom Setup.hs which does the following using cli-setup:
* Add ~/.local/share/man to $MANPATH by editing shell configurations in $HOME.
* Install a man page into ~/.local/share
* Install a shell completion by editing shell configurations in $HOME.
We had a workaround to keep this from failing the build in the nix sandbox, but
this seemingly broke on darwin. To fix this once and forall, we force the use
of only `defaultMain` in Setup.hs and install the man page manually.
Additionally we generate completions and remove unnecessary extra references
from the closure.