aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libressl/libressl-4.0.0.ebuild')
-rw-r--r--dev-libs/libressl/libressl-4.0.0.ebuild69
1 files changed, 69 insertions, 0 deletions
diff --git a/dev-libs/libressl/libressl-4.0.0.ebuild b/dev-libs/libressl/libressl-4.0.0.ebuild
new file mode 100644
index 0000000..73e2710
--- /dev/null
+++ b/dev-libs/libressl/libressl-4.0.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libressl.asc
+inherit autotools multilib-minimal verify-sig
+
+DESCRIPTION="Free version of the SSL/TLS protocol forked from OpenSSL"
+HOMEPAGE="https://www.libressl.org/"
+SRC_URI="
+ https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${P}.tar.gz
+ verify-sig? ( https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${P}.tar.gz.asc )
+"
+
+LICENSE="ISC openssl"
+# Reflects ABI of libcrypto.so and libssl.so. Since these can differ,
+# we'll try to use the max of either. However, if either change between
+# versions, we have to change the subslot to trigger rebuild of consumers.
+SLOT="0/58"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+asm netcat static-libs test"
+RESTRICT="!test? ( test )"
+
+PDEPEND="app-misc/ca-certificates"
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-libressl )"
+RDEPEND="netcat? (
+ !net-analyzer/netcat
+ !net-analyzer/nmap[symlink]
+ !net-analyzer/openbsd-netcat
+)"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/openssl/opensslconf.h )
+
+# LibreSSL checks for libc features during configure
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __va_copy
+ b64_ntop
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ # Gentoo's ssl-cert.eclass uses 'openssl genrsa -rand'
+ # which LibreSSL doesn't support.
+ # https://github.com/libressl/portable/issues/839
+ "${FILESDIR}"/${PN}-3.7.2-genrsa-rand.patch
+)
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+multilib_src_configure() {
+ local ECONF_SOURCE="${S}"
+ local args=(
+ $(use_enable asm)
+ $(use_enable static-libs static)
+ $(use_enable netcat nc)
+ $(use_enable test tests)
+ )
+ econf "${args[@]}"
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}