summary refs log tree commit diff
path: root/pkgs/development/libraries/libiconv/default.nix
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2018-06-22 21:49:41 -0400
committerMatthew Bauer <mjbauer95@gmail.com>2018-06-25 17:10:11 -0400
commit73e2f608377a81b7ad3ff94c3e5586bded36ac71 (patch)
tree2443a585648cf1d3b0eac819b3ef16ff651792cf /pkgs/development/libraries/libiconv/default.nix
parent6946361408333f6f39ab767d07031cd32b31dca1 (diff)
downloadnixpkgs-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar
nixpkgs-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.gz
nixpkgs-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.bz2
nixpkgs-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.lz
nixpkgs-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.xz
nixpkgs-73e2f608377a81b7ad3ff94c3e5586bded36ac71.tar.zst
nixpkgs-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/development/libraries/libiconv/default.nix')
-rw-r--r--pkgs/development/libraries/libiconv/default.nix9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 169a4d38bb5..0e900ca9db6 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";