package gnutls {
	description = "a secure communications library implementing the SSL, TLS and DTLS protocols";
	website = "https://gnutls.org";
	anitya = 1221;

	version# = "3.8.13";
	source = remoteGit {
		url = "https://gitlab.com/gnutls/gnutls.git";
		tag = version;
		checksum = "Hr8NaOOFliDJUKxyqbZu8zJS50Ws0EnLpc-ctRUOzMYTdJ9MAw2kCnCDlFzR19sD";
	};
	patches = [
		"bootstrap-remove-gtk-doc.patch",
		"alpine-tests-certtool.patch",
		"test-kernel-version-ksh.patch",
	];

	early = `
echo '#!/bin/sh' > gnulib/tests/test-c32ispunct.sh
echo 'int main(){return 0;}' > tests/mini-dtls-fragments.c
`;

	exec = make {
		generate = "./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib";

		configure = {
			"disable-doc";
			"disable-openssl-compatibility";

			"with-default-trust-store-file": "/system/etc/ssl/certs/ca-bundle.crt";
			"with-default-trust-store-pkcs11": "pkcs11:";

			"with-zlib": "link";
			"with-zstd": "link";

			"": arch {
				arm64 = "disable-hardware-acceleration";
			};
		};
	};

	inputs = [
		gzip,
		automake,
		libtool,
		bison,
		gettext,
		gperf,
		pkg-config,

		python,
		texinfo,
		diffutils,
		nss-cacert,

		libev,
		zlib,
		zstd,
		p11-kit,
		nettle,
		libunistring,
		kernel-headers,
	];

	runtime = [
		zlib,
		zstd,
		p11-kit,
		nettle,
		libunistring,
	];
}
