2018-08-20 11:43:41 -07:00
|
|
|
{ stdenv, appleDerivation, lib
|
|
|
|
, enableStatic ? stdenv.targetPlatform.isiOS
|
|
|
|
, enableShared ? !stdenv.targetPlatform.isiOS
|
2018-06-22 18:49:41 -07:00
|
|
|
}:
|
2015-02-07 22:53:52 -08:00
|
|
|
|
|
|
|
appleDerivation {
|
2018-04-30 20:42:44 -07:00
|
|
|
postUnpack = "sourceRoot=$sourceRoot/libiconv";
|
2016-10-06 11:56:32 -07:00
|
|
|
|
2018-06-22 18:49:41 -07:00
|
|
|
preConfigure = lib.optionalString stdenv.hostPlatform.isiOS ''
|
2018-05-16 12:16:08 -07:00
|
|
|
sed -i 's/darwin\*/ios\*/g' configure libcharset/configure
|
|
|
|
'';
|
2016-10-06 11:56:32 -07:00
|
|
|
|
2018-07-03 13:51:30 -07:00
|
|
|
configureFlags = [
|
|
|
|
(lib.enableFeature enableStatic "static")
|
|
|
|
(lib.enableFeature enableShared "shared")
|
|
|
|
];
|
2018-06-07 07:53:02 -07:00
|
|
|
|
2018-06-22 18:49:41 -07:00
|
|
|
postInstall = lib.optionalString (!enableStatic) ''
|
2016-10-06 11:56:32 -07:00
|
|
|
mv $out/lib/libiconv.dylib $out/lib/libiconv-nocharset.dylib
|
2018-04-30 20:42:44 -07:00
|
|
|
${stdenv.cc.bintools.targetPrefix}install_name_tool -id $out/lib/libiconv-nocharset.dylib $out/lib/libiconv-nocharset.dylib
|
2016-10-06 11:56:32 -07:00
|
|
|
|
|
|
|
# re-export one useless symbol; ld will reject a dylib that only reexports other dylibs
|
2018-04-30 20:42:44 -07:00
|
|
|
echo 'void dont_use_this(){}' | ${stdenv.cc.bintools.targetPrefix}clang -dynamiclib -x c - -current_version 2.4.0 \
|
2016-10-06 11:56:32 -07:00
|
|
|
-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
|
|
|
|
'';
|
2017-09-04 09:04:05 -07:00
|
|
|
|
2018-05-23 11:09:45 -07:00
|
|
|
setupHooks = [
|
|
|
|
../../../../build-support/setup-hooks/role.bash
|
|
|
|
../../../../development/libraries/libiconv/setup-hook.sh
|
|
|
|
];
|
2018-03-14 14:55:27 -07:00
|
|
|
|
2017-09-04 09:04:05 -07:00
|
|
|
meta = {
|
2018-06-22 18:49:41 -07:00
|
|
|
platforms = lib.platforms.darwin;
|
2017-09-04 09:04:05 -07:00
|
|
|
};
|
2015-02-07 22:53:52 -08:00
|
|
|
}
|