man-db: fix test failure when using Darwin’s libiconv

man-db makes assumptions about libiconv that are not true for all
libiconv implementations, which causes the test to go into an infinite
loop because it never makes the progress it expects to make.
This commit is contained in:
Randy Eckenrode 2024-09-30 09:00:26 -04:00
parent 7306ea41bd
commit ba7af302dc
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

View File

@ -47,6 +47,11 @@ stdenv.mkDerivation rec {
# Add mandb locations for the above
echo "MANDB_MAP /nix/var/nix/profiles/default/share/man /var/cache/man/nixpkgs" >> src/man_db.conf.in
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
# This test fails on Darwin. man-db expects libiconv to skip over the invalid character in the source data, but
# Darwins libiconv returns EILSEQ without skipping it. This causes the `manconv` to go into an infinite loop
# because it keeps trying to convert the invalid character.
sed -i '/manconv-odd-combinations/d' src/tests/Makefile.am
'';
configureFlags = [