This patch was slightly modified from the original reporter as the
LibreSSL 2.7.x API does not need it. As such, the appropriate version
checks were added for LibreSSL. Additionally, add slot/subslot
operators to openssl.
Closes: https://bugs.gentoo.org/645684
Package-Manager: Portage-2.3.31, Repoman-2.3.9
--- /dev/null
+--- a/pki.c.orig
++++ b/pki.c
+@@ -30,7 +30,7 @@
+ #endif
+ /* OpenSSL 1.1 made a lot of structures opaque, so we need to
+ * define the 1.1 wrappers in previous versions. */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
+ #define EVP_PKEY_base_id(o) ((o)->type)
+ #define EVP_PKEY_get0_DSA(o) ((o)->pkey.dsa)
+ static EVP_MD_CTX *EVP_MD_CTX_new(void)
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 ia64 ~mips ppc ppc64 sparc ~x86"
-IUSE="debug slp ssl static"
+IUSE="debug libressl slp ssl static"
DEPEND="
- ssl? ( dev-libs/openssl:= )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ )
slp? ( net-libs/openslp )"
RDEPEND="${DEPEND}"
-PATCHES=()
+PATCHES=( "${FILESDIR}/${P}-libressl-compatibility.patch" )
src_configure() {
use debug && append-cppflags -DDEBUG_TCP -DDEBUG_SCSI