at 17.09-beta 53 lines 1.7 kB view raw
1{ stdenv, fetchurl, perl }: 2 3stdenv.mkDerivation rec { 4 name = "mbedtls-2.6.0"; 5 6 src = fetchurl { 7 url = "https://tls.mbed.org/download/${name}-gpl.tgz"; 8 sha256 = "042q1l4708zjn5v72sa9qdvgx173kmy4hbcd23wj5vqd6vbmk6d9"; 9 }; 10 11 nativeBuildInputs = [ perl ]; 12 13 patchPhase = stdenv.lib.optionalString stdenv.isDarwin '' 14 substituteInPlace library/Makefile --replace "-soname" "-install_name" 15 substituteInPlace tests/scripts/run-test-suites.pl --replace "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH" 16 # Necessary for install_name_tool below 17 echo "LOCAL_LDFLAGS += -headerpad_max_install_names" >> programs/Makefile 18 ''; 19 20 postPatch = '' 21 patchShebangs . 22 ''; 23 24 makeFlags = [ 25 "SHARED=1" 26 ]; 27 28 installFlags = [ 29 "DESTDIR=\${out}" 30 ]; 31 32 postInstall = stdenv.lib.optionalString stdenv.isDarwin '' 33 install_name_tool -change libmbedcrypto.so.0 $out/lib/libmbedcrypto.so.0 $out/lib/libmbedtls.so.10 34 install_name_tool -change libmbedcrypto.so.0 $out/lib/libmbedcrypto.so.0 $out/lib/libmbedx509.so.0 35 install_name_tool -change libmbedx509.so.0 $out/lib/libmbedx509.so.0 $out/lib/libmbedtls.so.10 36 37 for exe in $out/bin/*; do 38 install_name_tool -change libmbedtls.so.10 $out/lib/libmbedtls.so.10 $exe 39 install_name_tool -change libmbedx509.so.0 $out/lib/libmbedx509.so.0 $exe 40 install_name_tool -change libmbedcrypto.so.0 $out/lib/libmbedcrypto.so.0 $exe 41 done 42 ''; 43 44 doCheck = true; 45 46 meta = with stdenv.lib; { 47 homepage = https://tls.mbed.org/; 48 description = "Portable cryptographic and SSL/TLS library, aka polarssl"; 49 license = licenses.gpl3; 50 platforms = platforms.all; 51 maintainers = with maintainers; [ wkennington fpletz ]; 52 }; 53}