at 18.09-beta 38 lines 1.1 kB view raw
1{ stdenv 2, fetchFromGitHub 3 4, cmake 5, ninja 6, perl # Project uses Perl for scripting and testing 7 8, enableThreading ? true # Threading can be disabled to increase security https://tls.mbed.org/kb/development/thread-safety-and-multi-threading 9}: 10 11stdenv.mkDerivation rec { 12 name = "mbedtls-${version}"; 13 version = "2.12.0"; 14 15 src = fetchFromGitHub { 16 owner = "ARMmbed"; 17 repo = "mbedtls"; 18 rev = name; 19 sha256 = "09snlzlbn8yq95dnfbj2g5bh6y4q82xkaph7qp9ddnlqiaqcji2h"; 20 }; 21 22 nativeBuildInputs = [ cmake ninja perl ]; 23 24 postConfigure = stdenv.lib.optionals enableThreading '' 25 perl scripts/config.pl set MBEDTLS_THREADING_C # Threading abstraction layer 26 perl scripts/config.pl set MBEDTLS_THREADING_PTHREAD # POSIX thread wrapper layer for the threading layer. 27 ''; 28 29 cmakeFlags = [ "-DUSE_SHARED_MBEDTLS_LIBRARY=on" ]; 30 31 meta = with stdenv.lib; { 32 homepage = https://tls.mbed.org/; 33 description = "Portable cryptographic and TLS library, formerly known as PolarSSL"; 34 license = licenses.asl20; 35 platforms = platforms.all; 36 maintainers = with maintainers; [ wkennington fpletz ]; 37 }; 38}