The update checking mechanism references the tests, and thus
dbaafbbf73ef5aeb2fa7d5aea73bb32b9d78e4f3 turned it into a crash at
startup.
It isn't much use in nixpkgs, so we're better off without it.
> Include multiple versions of certain functions in the library,
> and select the ones to use at run-time, depending on available
> processor features. Supported for ARM and x86_64.
The current version seems to accelerate AES and SHA families.
Size increase on x86_64 is <10k in our case.
It can make quite some performance difference; I tried
$ time ./result-dev/bin/nettle-hash -a sha256 /some/file/around/2G
And the total CPU time went down from 8.5s to 2s (single thread).
Now it matches the time of openssl
$ time openssl sha256 /some/file/around/2G
Of course, in real life it will be much harder to notice a difference...
Platforms without support for this (e.g. i686) seem to still build fine,
and ARMv7 cross-build also succeeds for me, so hopefully all is OK.
Otherwise it fails with:
In file included from /build/source/src/allegro/include/allegro/base.h:41,
from /build/source/src/allegro/include/allegro.h:25,
from /build/source/src/./she/alleg4/alleg_surface.h:11,
from /build/source/src/she/alleg4/alleg_surface.cpp:11:
/build/source/src/allegro/include/allegro/alcompat.h:44:22: error: conflicting declaration of C function 'fixed fadd(fixed, fixed)'
44 | AL_ALIAS(fixed fadd(fixed x, fixed y), fixadd(x, y))
| ^~~~
/build/source/src/allegro/include/allegro/internal/alconfig.h:164:49: note: in definition of macro 'AL_ALIAS'
164 | static __attribute__((unused)) __inline__ DECL \
| ^~~~
In file included from /nix/store/y57skwl8a5vbkrjrc30ygdw9vr1p6n19-gcc-9.2.0/include/c++/9.2.0/cmath:45,
from /nix/store/y57skwl8a5vbkrjrc30ygdw9vr1p6n19-gcc-9.2.0/include/c++/9.2.0/math.h:36,
from /build/source/src/./base/base.h:13,
from /build/source/src/./config.h:40,
from /build/source/src/she/alleg4/alleg_surface.cpp:8:
/nix/store/2v6pi2wj3lcsc3j48n7flx9mgqyii1lv-glibc-2.30-dev/include/bits/mathcalls-narrow.h:24:20: note: previous declaration 'float fadd(double, double)'
24 | __MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2);
| ^~~~~~~~~~~~~~~