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.
Fix instances of tool dependencies coming from `self` or `pkgs`
instead of `self.buildHaskellPackages` or `pkgs.buildPackages`
respectively. This makes sure cross-evaluation and -compilation will
work although their may still be more kinks to work out (or cases I
missed). This change was mostly created by searching for `[tTool]` and
`\${` in the respective files.
Note that this has intentionally not been for test tool dependencies:
Like in `stdenv.mkDerivation` we need to view tests as being executed
on the *host platform* which is why we can't run tests while cross
compiling anyways. In practice this is not an important distinction,
though: `pkgs.buildPackages` and `pkgs` are almost identical in the
native case.
Resolves#127232.
These attribute names were converted into aliases in the following
changes:
* 62733b37b4
* https://github.com/NixOS/nixpkgs/pull/104776
cabal2nix-unstable has been updated to be aware of these changes in
7a9080d774, so these aliases should no
longer cause issues when evaluating with `allowAliases = false`.
random 1.2.0 has a new test suite with a lot of dependencies. Among
other packages it depends on doctest which depends on syb which depends
on tasty which depends on optparse-applicative which depends on
QuickCheck which depends on -- you guessed it -- random!
The cycle could be broken at any point of course, I've disabled the
tests on random here because it has seen the change that causes all
of this. However, we may also want to consider doing this for
optparse-applicative instead, since random seems like a more critical
package to run the tests for possibly? Not sure, looking for feedback.