man-db: use libiconvReal on FreeBSD

man-db has extremely strict requirements about the behavior of iconv,
since it bundles a copycat script manconv. Not every iconv is
appropriate for this, so use the "real" one on the bad platforms.
This commit is contained in:
Audrey Dutcher 2024-07-19 22:13:41 -07:00
parent a0442abd68
commit f80f526319

View File

@ -5,6 +5,7 @@
, gzip
, lib
, libiconv
, libiconvReal
, libpipeline
, makeWrapper
, nixosTests
@ -28,8 +29,9 @@ stdenv.mkDerivation rec {
strictDeps = true;
nativeBuildInputs = [ autoreconfHook groff makeWrapper pkg-config zstd ];
buildInputs = [ libpipeline db groff ]; # (Yes, 'groff' is both native and build input)
nativeCheckInputs = [ libiconv /* for 'iconv' binary */ ];
buildInputs = [ libpipeline db groff ] # (Yes, 'groff' is both native and build input)
++ lib.optional stdenv.isFreeBSD libiconvReal;
nativeCheckInputs = [ (if stdenv.isFreeBSD then libiconvReal else libiconv) ]; # for 'iconv' binary; make very sure it matches buildinput libiconv
patches = [
./systemwide-man-db-conf.patch