This removes (some of) the special casing for git-annex which we need to
replicate using overrides. As a first step, we recreate an equivalent
set of overrides to the former gitAnnexHook, the only difference being
that we use the default installPhase over a custom implementation.
A big flaw of the current expression (which was shared by the previous
iteration) is that they ignore the testFlags argument. Unfortunately, we
can't do that without changing the generic builder implementation.
After enabling a separate binary output for the `Agda` Haskell package,
the new `bin` output measures ~100MiB, compared to the ~4.5GiB before.
Using it in `agdaWithPackages` reduces the closure size of an Agda
installation from ~5GiB to ~3GiB. The remaining space is taken up
mostly by the GHC backend.
With this change, derivations depending on `haskellPackages.Agda`
directly need to pick the right (binary) output. This concerns in
particular `emacsPackages.agda2-mode`.
The intent of all doCheck = <condition>, where condition is possibly true, is to disable
the tests in a specific case. However, as currently written, this also has the effect of
re-enabling the tests, even if they have been disabled by an override before, e.g. to
mkDerivation.
This also affects the default value given in mkDerivation, which is !isCross. Before this
change, aeson for example, would have been built with tests when cross-compiling, which
was not intended.
The proper way is to set the doCheck = false attribute only conditionally, and otherwise
rely on a previous override or the default value given in mkDerivation.
During configure, postgresql-libpq's Setup.hs will try to execute pg_config to
find libpq. This will not work when cross-compiling, because pg_config was compiled
for the target system, but needs to run on the host.
The "use-pkg-config" flag allows to do this via pkg-config instead, which works
better in those cases.
according https://hydra.nixos.org/build/233205149 the first broken
build of llvm-hs was in 2022-02-18 09:30:43. unpin llvm_9 so LLVM9 can
be removed from nixpkgs
Setup.hs no longer installs the man pages via unix-compat. Instead, this
has to be done manually-ish via the Makefile.
Move passthru to configuration-nix.nix.
We're opting for the strategy of providing the most up to date version
llvm-ffi supports which works out well enough, as nixpkgs also tries to
be quite up to date with its LLVM version (and also uses LLVM 16 as the
default).