From 9243703c5cc9c9e48aa3f07d91b9384253c9d9ed Mon Sep 17 00:00:00 2001 From: Alexei Boronine Date: Sun, 11 Dec 2016 00:29:50 +0800 Subject: [PATCH] mbedtls: fix build for Darwin (#20940) mbedtls: fix build for darwin --- .../development/libraries/mbedtls/default.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix index b7d6fb25ecc..fab18516168 100644 --- a/pkgs/development/libraries/mbedtls/default.nix +++ b/pkgs/development/libraries/mbedtls/default.nix @@ -10,6 +10,13 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ perl ]; + patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace library/Makefile --replace "-soname" "-install_name" + substituteInPlace tests/scripts/run-test-suites.pl --replace "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH" + # Necessary for install_name_tool below + echo "LOCAL_LDFLAGS += -headerpad_max_install_names" >> programs/Makefile + ''; + postPatch = '' patchShebangs . ''; @@ -22,6 +29,18 @@ stdenv.mkDerivation rec { "DESTDIR=\${out}" ]; + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + install_name_tool -change libmbedcrypto.so.0 $out/lib/libmbedcrypto.so.0 $out/lib/libmbedtls.so.10 + install_name_tool -change libmbedcrypto.so.0 $out/lib/libmbedcrypto.so.0 $out/lib/libmbedx509.so.0 + install_name_tool -change libmbedx509.so.0 $out/lib/libmbedx509.so.0 $out/lib/libmbedtls.so.10 + + for exe in $out/bin/*; do + install_name_tool -change libmbedtls.so.10 $out/lib/libmbedtls.so.10 $exe + install_name_tool -change libmbedx509.so.0 $out/lib/libmbedx509.so.0 $exe + install_name_tool -change libmbedcrypto.so.0 $out/lib/libmbedcrypto.so.0 $exe + done + ''; + doCheck = true; meta = with stdenv.lib; {