summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Bauman <bman@gentoo.org>2018-04-20 12:24:17 -0400
committerAaron Bauman <bman@gentoo.org>2018-04-20 12:24:28 -0400
commitc3de07e5236962952d47815e6ab96c46cd38dfd0 (patch)
tree465a7a751a5afa4c035391d655a7b0ab0760d896
parentwww-client/vivaldi-snapshot: Old. (diff)
downloadgentoo-c3de07e5236962952d47815e6ab96c46cd38dfd0.tar.gz
gentoo-c3de07e5236962952d47815e6ab96c46cd38dfd0.tar.bz2
gentoo-c3de07e5236962952d47815e6ab96c46cd38dfd0.zip
net-libs/gsoap: compatibility patch for LibreSSL
This patch fixes building with dev-libs/libressl-2.6.4. This patch will not be needed once dev-libs/libressl-2.7.x goes stable. Additionally, fix slot/subslot modifier to ensure rebuilds are trigged for API changes. Closes: https://bugs.gentoo.org/617264 Package-Manager: Portage-2.3.31, Repoman-2.3.9
-rw-r--r--net-libs/gsoap/files/gsoap-2.8.51-libressl-2.6-compatibility.patch38
-rw-r--r--net-libs/gsoap/gsoap-2.8.51.ebuild7
2 files changed, 43 insertions, 2 deletions
diff --git a/net-libs/gsoap/files/gsoap-2.8.51-libressl-2.6-compatibility.patch b/net-libs/gsoap/files/gsoap-2.8.51-libressl-2.6-compatibility.patch
new file mode 100644
index 000000000000..8f13a39d32c6
--- /dev/null
+++ b/net-libs/gsoap/files/gsoap-2.8.51-libressl-2.6-compatibility.patch
@@ -0,0 +1,38 @@
+--- a/gsoap/plugin/smdevp.c 2018-04-20 15:45:25.112658174 +0000
++++ b/gsoap/plugin/smdevp.c 2018-04-20 15:47:58.826360980 +0000
+@@ -479,7 +479,7 @@
+ /* allocate and init the OpenSSL HMAC or EVP_MD context */
+ if ((alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC)
+ {
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ data->ctx = (void*)SOAP_MALLOC(soap, sizeof(HMAC_CTX));
+ if (data->ctx)
+ HMAC_CTX_init((HMAC_CTX*)data->ctx);
+@@ -489,7 +489,7 @@
+ }
+ else
+ {
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ data->ctx = (void*)SOAP_MALLOC(soap, sizeof(EVP_MD_CTX));
+ if (data->ctx)
+ EVP_MD_CTX_init((EVP_MD_CTX*)data->ctx);
+@@ -642,7 +642,7 @@
+ *len = (int)n;
+ }
+ /* cleanup */
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ if ((data->alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC)
+ HMAC_CTX_cleanup((HMAC_CTX*)data->ctx);
+ else
+@@ -687,7 +687,7 @@
+ }
+ if (data->ctx)
+ {
+-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ if ((data->alg & SOAP_SMD_ALGO) == SOAP_SMD_HMAC)
+ HMAC_CTX_cleanup((HMAC_CTX*)data->ctx);
+ else
diff --git a/net-libs/gsoap/gsoap-2.8.51.ebuild b/net-libs/gsoap/gsoap-2.8.51.ebuild
index 345507edae77..5dd67d3686ff 100644
--- a/net-libs/gsoap/gsoap-2.8.51.ebuild
+++ b/net-libs/gsoap/gsoap-2.8.51.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
@@ -21,7 +21,7 @@ RDEPEND="
gnutls? ( net-libs/gnutls )
ssl? (
!libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl )
+ libressl? ( dev-libs/libressl:0= )
)
"
DEPEND="${RDEPEND}
@@ -41,6 +41,9 @@ src_prepare() {
# enable shared libs https://bugs.gentoo.org/583398
eapply "${FILESDIR}/${PN}-2.7.40-shared_libs.patch"
+ # fix building with libressl-2.6.x. This will not be needed when 2.7.x goes stable
+ eapply "${FILESDIR}/${PN}-2.8.51-libressl-2.6-compatibility.patch"
+
eautoreconf
}