diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-06-22 21:49:41 -0400 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2018-06-25 17:10:11 -0400 |
commit | 73e2f608377a81b7ad3ff94c3e5586bded36ac71 (patch) | |
tree | 2443a585648cf1d3b0eac819b3ef16ff651792cf /pkgs | |
parent | 6946361408333f6f39ab767d07031cd32b31dca1 (diff) | |
download | nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.gz nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.bz2 nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.lz nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.xz nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.zst nixlib-73e2f608377a81b7ad3ff94c3e5586bded36ac71.zip |
libiconv: add "enableShared" option
When false, shared libraries will be disabled. also adds patch to *really* disable shared libiconv.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/libraries/libiconv/default.nix | 9 | ||||
-rw-r--r-- | pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix | 14 |
2 files changed, 16 insertions, 7 deletions
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix index 169a4d38bb53..0e900ca9db64 100644 --- a/pkgs/development/libraries/libiconv/default.nix +++ b/pkgs/development/libraries/libiconv/default.nix @@ -1,6 +1,7 @@ { fetchurl, stdenv, lib , buildPlatform, hostPlatform , enableStatic ? stdenv.hostPlatform.useAndroidPrebuilt +, enableShared ? !stdenv.hostPlatform.useAndroidPrebuilt }: # assert !stdenv.isLinux || hostPlatform != buildPlatform; # TODO: improve on cross @@ -23,10 +24,14 @@ stdenv.mkDerivation rec { lib.optionalString ((hostPlatform != buildPlatform && hostPlatform.libc == "msvcrt") || stdenv.cc.nativeLibc) '' sed '/^_GL_WARN_ON_USE (gets/d' -i srclib/stdio.in.h - ''; + '' + + lib.optionalString (!enableShared) '' + sed -i -e '/preload/d' Makefile.in + ''; configureFlags = lib.optional stdenv.isFreeBSD "--with-pic" - ++ lib.optional enableStatic "--enable-static"; + ++ lib.optional enableStatic "--enable-static" + ++ lib.optional (!enableShared) "--disable-shared"; meta = { description = "An iconv(3) implementation"; diff --git a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix index bb9e4fa755db..369556fd5a1c 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix @@ -1,15 +1,19 @@ -{ stdenv, appleDerivation, autoreconfHook, targetPlatform, enableStatic ? targetPlatform.isiOS }: +{ stdenv, appleDerivation, lib, autoreconfHook, targetPlatform +, enableStatic ? targetPlatform.isiOS +, enableShared ? !targetPlatform.isiOS +}: appleDerivation { postUnpack = "sourceRoot=$sourceRoot/libiconv"; - preConfigure = stdenv.lib.optionalString stdenv.hostPlatform.isiOS '' + preConfigure = lib.optionalString stdenv.hostPlatform.isiOS '' sed -i 's/darwin\*/ios\*/g' configure libcharset/configure ''; - configureFlags = stdenv.lib.optionals enableStatic [ "--enable-static" "--disable-shared" ]; + configureFlags = lib.optional enableStatic "--enable-static" + ++ lib.optional (!enableShared) "--disable-shared"; - postInstall = stdenv.lib.optionalString (!enableStatic) '' + postInstall = lib.optionalString (!enableStatic) '' mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib ${stdenv.cc.bintools.targetPrefix}install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib @@ -26,6 +30,6 @@ appleDerivation { ]; meta = { - platforms = stdenv.lib.platforms.darwin; + platforms = lib.platforms.darwin; }; } |