core/pkgs/by-name/ru/rustls-ffi/default.nix
2024-05-13 11:34:52 -04:00

50 lines
1.1 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, rustPlatform
, Security
# for passthru.tests
, apacheHttpd
, curl
}:
rustPlatform.buildRustPackage rec {
pname = "rustls-ffi";
version = "0.10.0";
src = fetchFromGitHub {
owner = "rustls";
repo = pname;
rev = "v${version}";
hash = "sha256-IDIWN5g1aaE6SDdXSm4WYK6n+BpuypPYQITuDj1WJEc=";
};
propagatedBuildInputs = lib.optionals stdenv.isDarwin [ Security ];
cargoLock.lockFile = ./Cargo.lock;
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
'';
installPhase = ''
runHook preInstall
make install DESTDIR=${placeholder "out"}
runHook postInstall
'';
# passthru.tests = {
# apacheHttpd = apacheHttpd.override { modTlsSupport = true; };
# # Currently broken notably because of https://github.com/curl/curl/issues/13248
# # curl = curl.override { opensslSupport = false; rustlsSupport = true; };
# };
meta = with lib; {
description = "C-to-rustls bindings";
homepage = "https://github.com/rustls/rustls-ffi/";
license = with lib.licenses; [ mit asl20 isc ];
maintainers = [ maintainers.lesuisse ];
};
}