summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorMatthew Justin Bauer <mjbauer95@gmail.com>2018-06-07 10:53:02 -0400
committerGitHub <noreply@github.com>2018-06-07 10:53:02 -0400
commit3ebcac8d8563d8e10fdcde86af8ca0568b32c18a (patch)
tree7184bc696891090cc554e9985a1702b2a27e9ff6 /pkgs/os-specific/darwin
parenteceff79fb650ab7905c3a96e8474c1e672d469ca (diff)
downloadnixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.tar
nixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.tar.gz
nixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.tar.bz2
nixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.tar.lz
nixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.tar.xz
nixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.tar.zst
nixlib-3ebcac8d8563d8e10fdcde86af8ca0568b32c18a.zip
darwin.libiconv: use static library
This is necessary to get stuff into the Apple App Store for iOS. Apple does not really like using dynamic libraries in iOS. Also the libcharset thing is apparently a "private" symbol.

See https://github.com/reflex-frp/reflex-platform/pull/307 for more details.

See https://github.com/NixOS/nixpkgs/commit/3dee596ed1e373c296cf4d5a09b937b41f27fbe5#diff-261d74054a31954b7c6175e2e7e28356 for discussion
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix6
1 files changed, 4 insertions, 2 deletions
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 7ea9d51b4bf6..bb9e4fa755db 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, appleDerivation, autoreconfHook }:
+{ stdenv, appleDerivation, autoreconfHook, targetPlatform, enableStatic ? targetPlatform.isiOS }:
 
 appleDerivation {
   postUnpack = "sourceRoot=$sourceRoot/libiconv";
@@ -7,7 +7,9 @@ appleDerivation {
     sed -i 's/darwin\*/ios\*/g' configure libcharset/configure
   '';
 
-  postInstall = ''
+  configureFlags = stdenv.lib.optionals enableStatic [ "--enable-static" "--disable-shared" ];
+
+  postInstall = stdenv.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