summary refs log tree commit diff
path: root/pkgs/development/libraries/mbedtls
diff options
context:
space:
mode:
authorAlexei Boronine <alexei@boronine.com>2016-12-11 00:29:50 +0800
committerDaiderd Jordan <daiderd@gmail.com>2016-12-10 17:29:50 +0100
commit9243703c5cc9c9e48aa3f07d91b9384253c9d9ed (patch)
tree0b8e5ae536220b41d4b38aaa60f73aba06980240 /pkgs/development/libraries/mbedtls
parent9074d9859e44390ee1deec2c27cef6c9780b0c8c (diff)
downloadnixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.tar
nixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.tar.gz
nixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.tar.bz2
nixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.tar.lz
nixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.tar.xz
nixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.tar.zst
nixpkgs-9243703c5cc9c9e48aa3f07d91b9384253c9d9ed.zip
mbedtls: fix build for Darwin (#20940)
mbedtls: fix build for darwin
Diffstat (limited to 'pkgs/development/libraries/mbedtls')
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix19
1 files changed, 19 insertions, 0 deletions
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; {