diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b92751cf6120..7aa063a7d7f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22711,7 +22711,7 @@ with pkgs; # GNU libc provides libiconv so systems with glibc don't need to # build libiconv separately. Additionally, Apple forked/repackaged - # libiconv so we use that instead of the vanilla version on that OS, + # libiconv, so build and use the upstream one with a compatible ABI, # and BSDs include libiconv in libc. # # We also provide `libiconvReal`, which will always be a standalone libiconv, @@ -22722,7 +22722,7 @@ with pkgs; then libcCross else stdenv.cc.libc) else if stdenv.hostPlatform.isDarwin - then darwin.libiconv + then libiconvReal.override { enableDarwinABICompat = true; } else libiconvReal; libcIconv = libc: let @@ -22739,7 +22739,7 @@ with pkgs; if lib.elem stdenv.hostPlatform.libc [ "glibc" "musl" ] then lib.getBin stdenv.cc.libc else if stdenv.hostPlatform.isDarwin then - lib.getBin darwin.libiconv + lib.getBin libiconv else lib.getBin libiconvReal;