diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mbedtls')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mbedtls/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mbedtls/default.nix b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix new file mode 100644 index 000000000000..4fa4a5c4503f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/mbedtls/default.nix @@ -0,0 +1,49 @@ +{ lib, stdenv +, fetchFromGitHub + +, cmake +, ninja +, perl # Project uses Perl for scripting and testing +, python3 + +, enableThreading ? true # Threading can be disabled to increase security https://tls.mbed.org/kb/development/thread-safety-and-multi-threading +}: + +stdenv.mkDerivation rec { + pname = "mbedtls"; + # Auto updates are disabled due to repology listing dev releases as release + # versions. See + # * https://github.com/NixOS/nixpkgs/pull/119838#issuecomment-822100428 + # * https://github.com/NixOS/nixpkgs/commit/0ee02a9d42b5fe1825b0f7cee7a9986bb4ba975d + version = "2.28.0"; # nixpkgs-update: no auto update + + src = fetchFromGitHub { + owner = "ARMmbed"; + repo = "mbedtls"; + rev = "${pname}-${version}"; + sha256 = "sha256-VDoIUBaK2e0E5nkwU1u3Wvxc+s6OzBSdIeHsJKJuZ2g="; + }; + + nativeBuildInputs = [ cmake ninja perl python3 ]; + + strictDeps = true; + + postConfigure = lib.optionalString enableThreading '' + perl scripts/config.pl set MBEDTLS_THREADING_C # Threading abstraction layer + perl scripts/config.pl set MBEDTLS_THREADING_PTHREAD # POSIX thread wrapper layer for the threading layer. + ''; + + cmakeFlags = [ "-DUSE_SHARED_MBEDTLS_LIBRARY=on" ]; + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ + "-Wno-error=format" + "-Wno-error=format-truncation" + ]; + + meta = with lib; { + homepage = "https://tls.mbed.org/"; + description = "Portable cryptographic and TLS library, formerly known as PolarSSL"; + license = licenses.asl20; + platforms = platforms.all; + maintainers = with maintainers; [ ]; + }; +} |