aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Retornaz <gentoo@retornaz.com>2021-04-25 17:54:16 +0200
committerQuentin Retornaz <gentoo@retornaz.com>2021-04-25 17:54:16 +0200
commit1c68a4fd4b3f817f1fe596f737b039cc93343552 (patch)
tree87f94becd70e239bd8aaaa167d959833cc37e2c6
parentMerge branch 'dummy-openssl' (diff)
downloadlibressl-1c68a4fd.tar.gz
libressl-1c68a4fd.tar.bz2
libressl-1c68a4fd.zip
dev-libs/libressl: move from ::gentoo
Package-Manager: Portage-3.0.18, Repoman-3.0.2 Signed-off-by: Quentin Retornaz <gentoo@retornaz.com>
-rw-r--r--dev-libs/libressl/Manifest10
-rw-r--r--dev-libs/libressl/files/libressl-2.8.3-solaris10.patch69
-rw-r--r--dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch32
-rw-r--r--dev-libs/libressl/files/libressl-3.2.2-build.patch56
-rw-r--r--dev-libs/libressl/libressl-2.9.2.ebuild63
-rw-r--r--dev-libs/libressl/libressl-3.0.2.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.1.3.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.1.4.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.1.5.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.2.0.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.2.1.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.2.3.ebuild62
-rw-r--r--dev-libs/libressl/libressl-3.3.0.ebuild63
-rw-r--r--dev-libs/libressl/libressl-3.3.1.ebuild63
-rw-r--r--dev-libs/libressl/metadata.xml30
15 files changed, 820 insertions, 0 deletions
diff --git a/dev-libs/libressl/Manifest b/dev-libs/libressl/Manifest
new file mode 100644
index 0000000..5150e4c
--- /dev/null
+++ b/dev-libs/libressl/Manifest
@@ -0,0 +1,10 @@
+DIST libressl-2.9.2.tar.gz 3607549 BLAKE2B 496e993e4f1c85167e0344afab61259d4e3f094a7e5dfac85878191070e2c196753162532efb921fab582481aeda3705fca9a2b48921cba82465192f2c1eef95 SHA512 b43e73e47c1f14da3c702ab42f29f1d67645a4fa425441337bd6c125b481ef78a40fd13e6b34dadb2af337e1c0c190cfb616186d4db9c9a743a37e594b9b8033
+DIST libressl-3.0.2.tar.gz 3669468 BLAKE2B 84ad2c1fea8d2119f191ec8ab3f999fb0354636d48aabb76fa1786139c669c9d8ca105d79cc8416dd20683818eccc84490cdadc9ca94cb2b0e411644e923a3d6 SHA512 19226da3bc9776e1da40b8e94dfa53564d5e6acc80edee539ba12d7a75c1bb8c0603e7633f26a6ef8b12adc56bb677ccda448575aa6be2ad3df5447465a4b080
+DIST libressl-3.1.3.tar.gz 3766345 BLAKE2B 4956fa0ae6030e9e9969d584db3bc0084c4b155207d1472ebfa40c8e68e925214b66ed1bc7e32d98a9a48de0b61909323a0380a973c724422c92bfe88b9fdfb2 SHA512 f9f497fe5d09b8b762175da038a8e67d9d2567462fefc49e434d306a3071ba3a4d369c89143d9d90e3bbcc7b9ba051c9c923a0dfc41d856edc08ae59fa727ee8
+DIST libressl-3.1.4.tar.gz 3767238 BLAKE2B e639349e50f985360f2cef01b16b5c8f3c725d4a9bbee1117787174e4de6eb9b14cc8ad5f1704971057dd0f5000eea01f3b172178c534c70d38921418034d94c SHA512 77a53c4294fc332006502dc3af069346e2c9efc9240de7f91eb48e89043525900b5b23652cfd159221c3a482cc01e263611adb752e23b707f965156e3a7cd895
+DIST libressl-3.1.5.tar.gz 3767605 BLAKE2B 9dc97caac831591c150ef0fc9b36970e5c18b1793294b074b5c42176cd7eafbdb713461757edab7072fc0a770480db5987252c9a960cfebeaa3ef5341de2a290 SHA512 b1e576a654d4f740ef466e5291344ee9a65276f2a1d4975bf93c407b8b51d78dd99f381f1d14162ed1f6b6e7f14a67ccdd377e7d9f71ef2875cc8cf17f580c51
+DIST libressl-3.2.0.tar.gz 3775925 BLAKE2B 99d74fad16e272be8e3b23b873c35970ce3693e088baf365670ad8e8cbb846e90f4232bbc6c65b70a35060da99b9b210b3debce1c78d531e810de26e3e2f05cb SHA512 e8bf95af4e4e855b0462eb12df8f802102a3bee5bb40fb1859e7c40d9e3ce89f0d2eb0acdd923e7c592b4aeb7ecc556f753c0a12d0dace05d2ef342bffdd9d07
+DIST libressl-3.2.1.tar.gz 3798341 BLAKE2B 25d4d0fa758d92fd781f39000e631d7cec0a5a8210b2b127b7d49ef0e96e1a20a45f60e6231dcbe379f57f19c1ca8a4dde6205b1cc52ee44d17a4a21da34c98a SHA512 0204177ad0291f3fce4c77ab21cce17785d0239f2ae4be8fbdce5575cc98775186caa0e1851b211c05be07e3cc603111eeaac4379c8977e7b140fedee2551f93
+DIST libressl-3.2.3.tar.gz 3839953 BLAKE2B 219c9c2e78952d56dd9eadb92c9732f426cbdd20a2dc905d827ca0547a347065f3347e960dee7456994d8d52d8cb19a028add3e9f343a20864dbb15f4e6654c8 SHA512 8c281f5a155a4cc9bfeb31767d8c29de6ceec602649ff98460c44c4b2c15999799d5549ce07a823a4f7f20f9b441f8718b3ef8eac19ddb6cf6d150e6fe8c9d13
+DIST libressl-3.3.0.tar.gz 3837684 BLAKE2B 0b2947fa00f86829b574beedc462ed7e602b417f057c8bcf966508952e10c17709a4ea484e4b8699eee2cee228e00518a25c9eedd96534273c56a467cdc0c39b SHA512 3ea1339719b85234e4db8753eb11b760b9969bf0917d2556126bb048fc41022def628995587e438781092dcc49233109641b174f156cc4ec451fe8a217372cec
+DIST libressl-3.3.1.tar.gz 3838592 BLAKE2B 67c5bd72c1d1085c13fd3bf2e3829a6b83d61c3c9af5f5e65dca7548abe967f0ec8ebe3c46c6af576c54304b432069aab9d940bded90925cb44fffa7a8f35c29 SHA512 a0a6c10af71c6932a63381f33b2d0fe38b28d1c3c62c0c2de770695152f6eb3c558fdedd2fb6cdf34bd9a2dd3887aec615b652cbc3c1eed6c3c973c787a0c294
diff --git a/dev-libs/libressl/files/libressl-2.8.3-solaris10.patch b/dev-libs/libressl/files/libressl-2.8.3-solaris10.patch
new file mode 100644
index 0000000..20a0af0
--- /dev/null
+++ b/dev-libs/libressl/files/libressl-2.8.3-solaris10.patch
@@ -0,0 +1,69 @@
+From libressl Thu Jul 21 09:25:08 2016
+From: schily () schily ! net (Joerg Schilling)
+Date: Thu, 21 Jul 2016 09:25:08 +0000
+To: libressl
+Subject: Non-portable code in ./crypto/compat/getentropy_solaris.c
+Message-Id: <579094f4.Ca9M384ri4oiBOIa%schily () schily ! net>
+X-MARC-Message: https://marc.info/?l=libressl&m=146910737815443
+
+Hi,
+
+the code works only on Solaris based on OpenSolaris-ON from February 18 2010 or
+later.
+
+Many people however still use Solaris 10.
+
+BTW: there is an official portable ELF way based on the AUX vector to do the same
+but this was unfortunately not made a public libc interface, so it would need to
+be incorporated into your code:
+
+https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/lib/libc/port/gen/getauxv.c
+
+___getauxptr(AT_PHDR) returns the address of &phdr[0]
+___getauxval(AT_PHENT) returns sizeof(phdr[0])
+___getauxval(AT_PHNUM) returns # phdr entries
+
+
+Here is a patch to disable the non-portable code getting the code to compile at
+all:
+
+
+
+--- a/crypto/compat/getentropy_solaris.c
++++ b/crypto/compat/getentropy_solaris.c
+@@ -72,7 +72,9 @@
+ static int getentropy_urandom(void *buf, size_t len, const char *path,
+ int devfscheck);
+ static int getentropy_fallback(void *buf, size_t len);
++#ifdef ElfW
+ static int getentropy_phdr(struct dl_phdr_info *info, size_t size, void *data);
++#endif
+
+ int
+ getentropy(void *buf, size_t len)
+@@ -244,6 +246,7 @@
+ #endif
+ };
+
++#ifdef ElfW
+ static int
+ getentropy_phdr(struct dl_phdr_info *info, size_t size, void *data)
+ {
+@@ -252,6 +255,7 @@
+ SHA512_Update(ctx, &info->dlpi_addr, sizeof (info->dlpi_addr));
+ return (0);
+ }
++#endif
+
+ static int
+ getentropy_fallback(void *buf, size_t len)
+@@ -290,7 +294,9 @@
+ cnt += (int)tv.tv_usec;
+ }
+
++#ifdef ElfW
+ dl_iterate_phdr(getentropy_phdr, &ctx);
++#endif
+
+ for (ii = 0; ii < sizeof(cl)/sizeof(cl[0]); ii++)
+ HX(clock_gettime(cl[ii], &ts) == -1, ts);
diff --git a/dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch b/dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch
new file mode 100644
index 0000000..b00316d
--- /dev/null
+++ b/dev-libs/libressl/files/libressl-2.9.2-non-glibc.patch
@@ -0,0 +1,32 @@
+From a9f0b2143c3154da34b8798127263f6f11f61bd5 Mon Sep 17 00:00:00 2001
+From: Ishimoto Shinobu <47295761+protonesso@users.noreply.github.com>
+Date: Tue, 21 May 2019 22:41:05 +0900
+Subject: [PATCH] avoid glibc
+
+cause problems on musl systems
+
+Upstream-Status: Backport
+[https://github.com/libressl-portable/portable/pull/529]
+Signed-off-by: Stefan Strogin <steils@gentoo.org>
+---
+ crypto/compat/getprogname_linux.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/crypto/compat/getprogname_linux.c b/crypto/compat/getprogname_linux.c
+index 2c89743..4e7e31f 100644
+--- a/crypto/compat/getprogname_linux.c
++++ b/crypto/compat/getprogname_linux.c
+@@ -26,9 +26,7 @@ getprogname(void)
+ #if defined(__ANDROID_API__) && __ANDROID_API__ < 21
+ extern const char *__progname;
+ return __progname;
+-#elif defined(__GLIBC__)
+- return program_invocation_short_name;
+ #else
+-#error "Cannot emulate getprogname"
++ return program_invocation_short_name;
+ #endif
+ }
+--
+2.21.0
+
diff --git a/dev-libs/libressl/files/libressl-3.2.2-build.patch b/dev-libs/libressl/files/libressl-3.2.2-build.patch
new file mode 100644
index 0000000..586e7a7
--- /dev/null
+++ b/dev-libs/libressl/files/libressl-3.2.2-build.patch
@@ -0,0 +1,56 @@
+From 9abd36e3af5876f67c633f27496ad5660ab7fe24 Mon Sep 17 00:00:00 2001
+From: Brent Cook <busterb@gmail.com>
+Date: Sun, 18 Oct 2020 22:14:03 -0500
+Subject: [PATCH] modify nc build to link libcompat objects directly
+
+Rather than assuming the static version of libcrypto exists for pulling in the compatibility functions, link the compat objects directly. This modifies the object file generation script a bit to handle the empty-case properly as well.
+---
+ apps/nc/Makefile.am | 8 ++++++--
+ crypto/Makefile.am | 4 ++--
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/apps/nc/Makefile.am b/apps/nc/Makefile.am
+index d678f1eda..58b5c0118 100644
+--- a/apps/nc/Makefile.am
++++ b/apps/nc/Makefile.am
+@@ -1,5 +1,7 @@
+ include $(top_srcdir)/Makefile.am.common
+
++-include $(abs_top_builddir)/crypto/libcrypto_la_objects.mk
++
+ if BUILD_NC
+
+ if ENABLE_NC
+@@ -12,11 +14,13 @@ endif
+ EXTRA_DIST = nc.1
+ EXTRA_DIST += CMakeLists.txt
+
+-nc_LDFLAGS = $(abs_top_builddir)/crypto/.libs/libcrypto.a
+-
+ nc_LDADD = $(abs_top_builddir)/tls/libtls.la
+ nc_LDADD += $(PLATFORM_LDADD) $(PROG_LDADD)
+
++nc_LDADD += $(libcrypto_la_objects)
++nc_LDADD += $(libcompat_la_objects)
++nc_LDADD += $(libcompatnoopt_la_objects)
++
+ AM_CPPFLAGS += -I$(top_srcdir)/apps/nc/compat
+
+ nc_SOURCES = atomicio.c
+diff --git a/crypto/Makefile.am b/crypto/Makefile.am
+index 97a84e1a7..e32ca96c3 100644
+--- a/crypto/Makefile.am
++++ b/crypto/Makefile.am
+@@ -99,10 +99,10 @@ libcrypto_la_objects.mk: Makefile
+ | sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
+ > libcrypto_la_objects.mk
+ @echo "libcompat_la_objects= $(libcompat_la_OBJECTS)" \
+- | sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
++ | sed 's/compat\// $$\(abs_top_builddir\)\/crypto\/&/g' \
+ >> libcrypto_la_objects.mk
+ @echo "libcompatnoopt_la_objects= $(libcompatnoopt_la_OBJECTS)" \
+- | sed 's/ */ $$\(abs_top_builddir\)\/crypto\//g' \
++ | sed 's/compat\// $$\(abs_top_builddir\)\/crypto\/&/g' \
+ >> libcrypto_la_objects.mk
+
+ libcrypto_la_LDFLAGS = -version-info @LIBCRYPTO_VERSION@ -no-undefined -export-symbols crypto_portable.sym
diff --git a/dev-libs/libressl/libressl-2.9.2.ebuild b/dev-libs/libressl/libressl-2.9.2.ebuild
new file mode 100644
index 0000000..515b2a4
--- /dev/null
+++ b/dev-libs/libressl/libressl-2.9.2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multilib-minimal libtool
+
+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"
+
+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/47"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply "${FILESDIR}"/${P}-non-glibc.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.0.2.ebuild b/dev-libs/libressl/libressl-3.0.2.ebuild
new file mode 100644
index 0000000..06fccf5
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.0.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/47"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.1.3.ebuild b/dev-libs/libressl/libressl-3.1.3.ebuild
new file mode 100644
index 0000000..e7248a0
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.1.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.1.4.ebuild b/dev-libs/libressl/libressl-3.1.4.ebuild
new file mode 100644
index 0000000..e7248a0
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.1.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.1.5.ebuild b/dev-libs/libressl/libressl-3.1.5.ebuild
new file mode 100644
index 0000000..e7248a0
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.1.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.2.0.ebuild b/dev-libs/libressl/libressl-3.2.0.ebuild
new file mode 100644
index 0000000..d487867
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.2.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.2.1.ebuild b/dev-libs/libressl/libressl-3.2.1.ebuild
new file mode 100644
index 0000000..d487867
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.2.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.2.3.ebuild b/dev-libs/libressl/libressl-3.2.3.ebuild
new file mode 100644
index 0000000..d487867
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.2.3.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.3.0.ebuild b/dev-libs/libressl/libressl-3.3.0.ebuild
new file mode 100644
index 0000000..7de8ec1
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.3.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ #eapply "${FILESDIR}"/${PN}-3.2.2-build.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/libressl-3.3.1.ebuild b/dev-libs/libressl/libressl-3.3.1.ebuild
new file mode 100644
index 0000000..b92c362
--- /dev/null
+++ b/dev-libs/libressl/libressl-3.3.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-minimal libtool
+
+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"
+
+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/48"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="+asm static-libs test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="test? ( static-libs )"
+
+DEPEND="${RDEPEND}"
+PDEPEND="app-misc/ca-certificates"
+
+src_prepare() {
+ touch crypto/Makefile.in
+
+ sed -i \
+ -e '/^[ \t]*CFLAGS=/s#-g ##' \
+ -e '/^[ \t]*CFLAGS=/s#-g"#"#' \
+ -e '/^[ \t]*CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*CFLAGS=/s#-O2"#"#' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2 ##' \
+ -e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
+ configure || die "fixing CFLAGS failed"
+
+ if ! use test ; then
+ sed -i \
+ -e '/^[ \t]*SUBDIRS =/s#tests##' \
+ Makefile.in || die "Removing tests failed"
+ fi
+
+ eapply "${FILESDIR}"/${PN}-2.8.3-solaris10.patch
+ #eapply "${FILESDIR}"/${PN}-3.2.2-build.patch
+ eapply_user
+
+ elibtoolize # for Solaris
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf \
+ $(use_enable asm) \
+ $(use_enable static-libs static)
+}
+
+multilib_src_test() {
+ emake check
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${D}" -name '*.la' -exec rm -f {} + || die
+}
diff --git a/dev-libs/libressl/metadata.xml b/dev-libs/libressl/metadata.xml
new file mode 100644
index 0000000..a7201a6
--- /dev/null
+++ b/dev-libs/libressl/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>libressl@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ LibreSSL is a version of the TLS/crypto stack forked from OpenSSL in
+ 2014, with goals of modernizing the codebase, improving security, and
+ applying best practice development processes.
+ </longdescription>
+ <use>
+ <flag name="asm">Enables assembly</flag>
+ </use>
+ <upstream>
+ <changelog>http://www.libressl.org/releases.html</changelog>
+ <bugs-to>
+ https://github.com/libressl-portable/portable/issues
+ </bugs-to>
+ <remote-id type="github">libressl-portable/portable</remote-id>
+ </upstream>
+ <slots>
+ <slot name="0">
+ Pin source packages to SLOT 0, as binary compatibility slots are expected to come and go.
+ </slot>
+ <subslots>
+ Reflect ABI of libcrypto.so and libssl.so only, NOT libtls.so.
+ </subslots>
+ </slots>
+</pkgmetadata>