From ba7af302dc9a9f27f56178de10efbf0d75df8c4a Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Mon, 30 Sep 2024 09:00:26 -0400 Subject: [PATCH] =?UTF-8?q?man-db:=20fix=20test=20failure=20when=20using?= =?UTF-8?q?=20Darwin=E2=80=99s=20libiconv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- pkgs/tools/misc/man-db/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/tools/misc/man-db/default.nix b/pkgs/tools/misc/man-db/default.nix index e88a189854f6..268d24df00fe 100644 --- a/pkgs/tools/misc/man-db/default.nix +++ b/pkgs/tools/misc/man-db/default.nix @@ -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 + # Darwin’s 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 = [