nixpkgs/pkgs/development/libraries/wolfssl/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

70 lines
1.7 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, Security
, autoreconfHook
, openssl
}:
stdenv.mkDerivation rec {
pname = "wolfssl";
version = "5.5.4";
src = fetchFromGitHub {
owner = "wolfSSL";
repo = "wolfssl";
rev = "v${version}-stable";
hash = "sha256-sR/Gjk50kLej5oJzDH1I6/V+7OIRiwtyeg5tEE3fmHk=";
};
postPatch = ''
patchShebangs ./scripts
# ocsp tests require network access
sed -i -e '/ocsp\.test/d' -e '/ocsp-stapling\.test/d' scripts/include.am
# ensure test detects musl-based systems too
substituteInPlace scripts/ocsp-stapling2.test \
--replace '"linux-gnu"' '"linux-"'
'';
# Almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
configureFlags = [
"--enable-all"
"--enable-base64encode"
"--enable-pkcs11"
"--enable-writedup"
"--enable-reproducible-build"
"--enable-tls13"
];
outputs = [
"dev"
"doc"
"lib"
"out"
];
propagatedBuildInputs = [ ] ++ lib.optionals stdenv.isDarwin [ Security ];
nativeBuildInputs = [
autoreconfHook
];
doCheck = true;
nativeCheckInputs = [ openssl ];
postInstall = ''
# fix recursive cycle:
# wolfssl-config points to dev, dev propagates bin
moveToOutput bin/wolfssl-config "$dev"
# moveToOutput also removes "$out" so recreate it
mkdir -p "$out"
'';
meta = with lib; {
description = "A small, fast, portable implementation of TLS/SSL for embedded devices";
homepage = "https://www.wolfssl.com/";
platforms = platforms.all;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ fab ];
};
}