From 20a6d8a2413c5237a3cbaf0dd712f8218b89278b Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 14 Sep 2021 19:03:44 +0100 Subject: [PATCH] libxml2: use libiconv on Darwin This fixes e.g. python3Packages.beautifulsoup4, which has tests relying on the wider encoding support enabled by libiconv. Fixes #137678. --- pkgs/development/libraries/libxml2/default.nix | 5 ++++- pkgs/stdenv/darwin/default.nix | 2 +- pkgs/top-level/all-packages.nix | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix index c98a1cbce0e9..bc11c9cfea1f 100644 --- a/pkgs/development/libraries/libxml2/default.nix +++ b/pkgs/development/libraries/libxml2/default.nix @@ -1,5 +1,6 @@ { stdenv, lib, fetchurl, fetchpatch , zlib, xz, libintl, python, gettext, ncurses, findXMLCatalogs +, libiconv , pythonSupport ? enableShared && stdenv.buildPlatform == stdenv.hostPlatform , icuSupport ? false, icu ? null , enableShared ? stdenv.hostPlatform.libc != "msvcrt" && !stdenv.hostPlatform.isStatic @@ -52,7 +53,9 @@ stdenv.mkDerivation rec { # RUNPATH for that, leading to undefined references for its users. ++ lib.optional stdenv.isFreeBSD xz; - propagatedBuildInputs = [ zlib findXMLCatalogs ] ++ lib.optional icuSupport icu; + propagatedBuildInputs = [ zlib findXMLCatalogs ] + ++ lib.optional stdenv.isDarwin libiconv + ++ lib.optional icuSupport icu; configureFlags = [ "--exec_prefix=$dev" diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix index 81313fb390ec..b25a840f460e 100644 --- a/pkgs/stdenv/darwin/default.nix +++ b/pkgs/stdenv/darwin/default.nix @@ -458,7 +458,7 @@ rec { libxml2 gettext sharutils gmp libarchive ncurses pkg-config libedit groff openssh sqlite sed serf openldap db cyrus-sasl expat apr-util subversion xz findfreetype libssh curl cmake autoconf automake libtool ed cpio coreutils - libssh2 nghttp2 libkrb5 ninja brotli; + libssh2 nghttp2 libkrb5 ninja brotli libiconv; "${finalLlvmPackages}" = super."${finalLlvmPackages}" // ( let diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f54459ba3ead..b8f7e95058af 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17939,6 +17939,7 @@ with pkgs; libxml2 = callPackage ../development/libraries/libxml2 { python = python3; + inherit (darwin) libiconv; }; libxml2Python = let