The font is very large and duplicated across many formats, some of
which cannot be compressed, like `.hex` or `.svg`.
For normal use (eg. X11, GTK applications) these formats are not
necessary, so they are moved to another output reducing the default
closure size.
When the `paths` argument is too big `symlinkJoin` will fail with:
```
while setting up the build environment: executing '/nix/store/rm1hz1lybxangc8sdl7xvzs5dcvigvf7-bash-4.4-p23/bin/bash': Argument list too long
```
This is fixed by passing `paths` as a file instead of as an
environment variable.
This avoids using NIX_CFLAGS_COMPILE by switching to hardeningDisable.
The hack is also only needed for darwin sources and is not specific to
clang.
Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Recent updates to the generic builder have caused haskellPackages.lmdb-simple to
fail to build on Darwin, since it cannot see the lmdb C dynamic library included
by its dependent haskellPackages.lmdb.
The C dynamic library has suffix `.so` not `.dylib`, so this fix allows for
that.
Closes#80190, but that issue may identify a preferable solution.
The node progress "bar" looks like crap when using `nix-build`. Redirect
the infinite scrolling screen to `/dev/null` to calm the output down.
Errors will still print because stderr isn't redirected.
This package consists mostly of command-line tools, but there are also two qt5-based image viewers (`mrview` and `shview`). I have provided an option `withGui = true` to allow users to disable these viewers. They work on NixOS but unlikely to work out-of-the box on non-NixOS Linux (see #62169), but I've refrained from asserting that they shouldn't be built since a user might want to fiddle with runtime GL stuff.
Some programs rely on FSL and/or ANTs backends; I have somewhat heavy-handedly wrapped all binaries to point to ANTs, while FSL is not available in Nix at the moment and has a non-commercial license so would be convenient to disable by default for Hydra builds.