nixpkgs/pkgs/development/libraries/mbedtls/default.nix

58 lines
1.8 KiB
Nix
Raw Normal View History

2018-01-28 01:10:04 +00:00
{ stdenv, fetchFromGitHub, perl }:
2015-04-06 21:41:54 +00:00
stdenv.mkDerivation rec {
2018-03-05 14:48:54 +00:00
name = "mbedtls-2.7.1";
2015-04-06 21:41:54 +00:00
2018-01-28 01:10:04 +00:00
src = fetchFromGitHub {
owner = "ARMmbed";
repo = "mbedtls";
rev = name;
2018-03-05 14:48:54 +00:00
sha256 = "0dkmhvs38sqgnfxgzrs81ghajyyzp9bb7wy9kn96q7zy4lly0gg6";
2015-04-06 21:41:54 +00:00
};
nativeBuildInputs = [ perl ];
patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_dylib.patch ];
postPatch = ''
patchShebangs .
'' + 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
'';
2015-04-06 21:41:54 +00:00
makeFlags = [
"SHARED=1"
] ++ stdenv.lib.optionals stdenv.isDarwin [
"DLEXT=dylib"
2015-04-06 21:41:54 +00:00
];
installFlags = [
"DESTDIR=\${out}"
];
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedtls.dylib
install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedx509.dylib
install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $out/lib/libmbedtls.dylib
for exe in $out/bin/*; do
install_name_tool -change libmbedtls.dylib $out/lib/libmbedtls.dylib $exe
install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $exe
install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $exe
done
'';
2015-04-06 21:41:54 +00:00
doCheck = true;
meta = with stdenv.lib; {
2016-07-09 23:06:24 +00:00
homepage = https://tls.mbed.org/;
2015-04-06 21:41:54 +00:00
description = "Portable cryptographic and SSL/TLS library, aka polarssl";
license = licenses.gpl3;
platforms = platforms.all;
2016-07-09 23:06:24 +00:00
maintainers = with maintainers; [ wkennington fpletz ];
2015-04-06 21:41:54 +00:00
};
}