mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-06 12:39:54 +03:00
Merge pull request #304772 from NorfairKing/icu-static
icu: Make static linking possible
This commit is contained in:
commit
0f21d281e8
@ -1,6 +1,6 @@
|
||||
{ stdenv, lib, buildPackages, fetchurl, fixDarwinDylibNames, testers }:
|
||||
|
||||
{ version, hash, patches ? [], patchFlags ? [] }:
|
||||
{ version, hash, patches ? [], patchFlags ? [], withStatic ? stdenv.hostPlatform.isStatic }:
|
||||
|
||||
let
|
||||
# Cross-compiled icu4c requires a build-root of a native compile
|
||||
@ -36,9 +36,12 @@ let
|
||||
sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
|
||||
'';
|
||||
|
||||
dontDisableStatic = withStatic;
|
||||
|
||||
configureFlags = [ "--disable-debug" ]
|
||||
++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) "--enable-rpath"
|
||||
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--with-cross-build=${nativeBuildRoot}";
|
||||
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "--with-cross-build=${nativeBuildRoot}"
|
||||
++ lib.optional withStatic "--enable-static";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@ -58,7 +61,7 @@ let
|
||||
realAttrs = baseAttrs // {
|
||||
name = pname + "-" + version;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "out" "dev" ] ++ lib.optional withStatic "static";
|
||||
outputBin = "dev";
|
||||
|
||||
# FIXME: This fixes dylib references in the dylibs themselves, but
|
||||
@ -66,7 +69,10 @@ let
|
||||
nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
|
||||
# remove dependency on bootstrap-tools in early stdenv build
|
||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
postInstall = lib.optionalString withStatic ''
|
||||
mkdir -p $static/lib
|
||||
mv -v lib/*.a $static/lib
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
sed -i 's/INSTALL_CMD=.*install/INSTALL_CMD=install/' $out/lib/icu/${version}/pkgdata.inc
|
||||
'' + (let
|
||||
replacements = [
|
||||
|
Loading…
Reference in New Issue
Block a user