about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorJude Taylor <me@jude.bio>2016-10-06 11:56:32 -0700
committerJude Taylor <me@jude.bio>2016-10-06 11:56:32 -0700
commit3dee596ed1e373c296cf4d5a09b937b41f27fbe5 (patch)
tree6dc7a28df3a0a5f25bcb2e8627183c27669ac327 /pkgs/os-specific/darwin
parent4589a8d750ae38f9ce6e234dbb773b9a5d5e3c5b (diff)
downloadnixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.tar
nixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.tar.gz
nixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.tar.bz2
nixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.tar.lz
nixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.tar.xz
nixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.tar.zst
nixlib-3dee596ed1e373c296cf4d5a09b937b41f27fbe5.zip
reinstate libiconv/libcharset wrapper
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix11
1 files changed, 11 insertions, 0 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 bc514d617bd3..f5feee48e071 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libiconv/default.nix
@@ -2,4 +2,15 @@
 
 appleDerivation {
   preConfigure = "cd libiconv";
+
+  postInstall = ''
+    mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib
+    install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib
+
+    # re-export one useless symbol; ld will reject a dylib that only reexports other dylibs
+    echo 'void dont_use_this(){}' | clang -dynamiclib -x c - -current_version 2.4.0 \
+      -compatibility_version 7.0.0 -current_version 7.0.0 -o $out/lib/libiconv.dylib \
+      -Wl,-reexport_library -Wl,$out/lib/libiconv-nocharset.dylib \
+      -Wl,-reexport_library -Wl,$out/lib/libcharset.dylib
+  '';
 }