valgrind is only supported on certain platforms (it notably lacks support for
armv6l), so needs to be excluded as a dependency on unsupported platforms. In
this case, it turns out that valgrind is not currently used at all, so I
removed it entirely. libmodsecurity can optionally use valgrind to run
tests, but we don't run the tests at all.
Workaround build failure on -fno-common toolchains like upstream
gcc-10. Otherwise build fails as:
ld: ../util/libutil.a(estream-printf.o):/build/gnupg-1.4.23/util/../include/memory.h💯 multiple definition of
`memory_debug_mode'; gpgsplit.o:/build/gnupg-1.4.23/tools/../include/memory.h💯 first defined here
Without the change build on -fno-common tollchains fails as:
ld: fwknop-log_msg.o:/build/source/client/log_msg.h:41: multiple definition of
`log_level_t'; fwknop-fwknop.o:/build/source/client/log_msg.h:41: first defined here
dirmngr was merged into gnupg long ago. nixpkgs does not use it as a
dependency anywhere. On top of that it fails to build on upstream
gcc-10 as:
ld: validate.o:/build/dirmngr-1.1.1/src/dirmngr.h:123:
multiple definition of `opt'; dirmngr.o:/build/dirmngr-1.1.1/src/dirmngr.h:123: first defined here
Let's remove the package.
So that things that use the makeShellWrapper/wrapProgramShell
functions can depend on makeShellWrapper explicitly, which should ease
migration in the future.
Without the change build on -fno-common toolchains like upstream gcc-10
fails as:
$ nix build -L --impure --expr 'with import ./. {}; ncrack.overrideAttrs (oa: { NIX_CFLAGS_COMPILE = (oa.NIX_CFLAGS_COMPILE or "") + "-fno-common"; })'
...
ld: opensshlib/libopenssh.a(umac128.o):/build/source/opensshlib/umac.c:1184:
multiple definition of `umac_ctx'; opensshlib/libopenssh.a(umac.o):/build/source/opensshlib/umac.c:1184: first defined here