sys-block/open-isns: add LibreSSL support
authorAaron Bauman <bman@gentoo.org>
Tue, 24 Apr 2018 21:47:02 +0000 (17:47 -0400)
committerAaron Bauman <bman@gentoo.org>
Tue, 24 Apr 2018 21:47:26 +0000 (17:47 -0400)
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

sys-block/open-isns/files/open-isns-0.98-libressl-compatibility.patch [new file with mode: 0644]
sys-block/open-isns/open-isns-0.98.ebuild

diff --git a/sys-block/open-isns/files/open-isns-0.98-libressl-compatibility.patch b/sys-block/open-isns/files/open-isns-0.98-libressl-compatibility.patch
new file mode 100644 (file)
index 0000000..b4d5ae6
--- /dev/null
@@ -0,0 +1,11 @@
+--- 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)
index 32abc8f10814582499cbcebfacb930770c144a50..3b96e86c226d98f9d593ea2c129e3eaa9e5ed50c 100644 (file)
@@ -12,14 +12,17 @@ SRC_URI="https://github.com/open-iscsi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
 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