libunistring: use gnu libiconv on darwin (#364495)

This commit is contained in:
Emily
2024-12-27 16:28:49 +00:00
committed by GitHub
5 changed files with 12 additions and 29 deletions

View File

@@ -11,22 +11,15 @@
libffi,
libtool,
libunistring,
libiconvReal,
makeWrapper,
pkg-config,
pkgsBuildBuild,
readline,
}@args:
}:
let
# Do either a coverage analysis build or a standard build.
builder = if coverageAnalysis != null then coverageAnalysis else stdenv.mkDerivation;
# workaround for libiconv bug in macOS 14/15
libunistring =
if stdenv.hostPlatform.isDarwin then
args.libunistring.override { libiconv = libiconvReal; }
else
args.libunistring;
in
builder rec {
pname = "guile";

View File

@@ -11,22 +11,15 @@
libffi,
libtool,
libunistring,
libiconvReal,
makeWrapper,
pkg-config,
pkgsBuildBuild,
readline,
}@args:
}:
let
# Do either a coverage analysis build or a standard build.
builder = if coverageAnalysis != null then coverageAnalysis else stdenv.mkDerivation;
# workaround for libiconv bug in macOS 14/15
libunistring =
if stdenv.hostPlatform.isDarwin then
args.libunistring.override { libiconv = libiconvReal; }
else
args.libunistring;
in
builder rec {
pname = "guile";

View File

@@ -11,24 +11,17 @@
libffi,
libtool,
libunistring,
libiconvReal,
libxcrypt,
makeWrapper,
pkg-config,
pkgsBuildBuild,
readline,
writeScript,
}@args:
}:
let
# Do either a coverage analysis build or a standard build.
builder = if coverageAnalysis != null then coverageAnalysis else stdenv.mkDerivation;
# workaround for libiconv bug in macOS 14/15
libunistring =
if stdenv.hostPlatform.isDarwin then
args.libunistring.override { libiconv = libiconvReal; }
else
args.libunistring;
in
builder rec {
pname = "guile";

View File

@@ -3,9 +3,17 @@
lib,
stdenv,
libiconv,
libiconvReal,
updateAutotoolsGnuConfigScriptsHook,
darwin,
}:
}@args:
let
# https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00375.html
# macoOS libiconv 14 & 15 do not work with libunistring and a configure test
# added in 1.3 rejects even building with it so use gnu libiconv on darwin
libiconv = if stdenv.hostPlatform.isDarwin then libiconvReal else args.libiconv;
in
# Note: this package is used for bootstrapping fetchurl, and thus
# cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -30,9 +38,6 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
propagatedBuildInputs = lib.optional (!stdenv.hostPlatform.isLinux) libiconv;
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
];
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook ];
configureFlags = [ "--with-libiconv-prefix=${libiconv}" ];

View File

@@ -1198,7 +1198,6 @@ assert bootstrapTools.passthru.isFromBootstrapFiles or false; # sanity check
ld64.out
libffi.out
libtapi.out
libunistring.out
libxml2.out
ncurses.dev
ncurses.man