Gentoo Archives: gentoo-commits

From: Craig Andrews <candrews@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/xml-security-c/files/, dev-libs/xml-security-c/
Date: Wed, 12 Dec 2018 02:56:31
Message-Id: 1544583133.6fa7d68a0bb6995f11100d50182ad8cd7e61b235.candrews@gentoo
1 commit: 6fa7d68a0bb6995f11100d50182ad8cd7e61b235
2 Author: Craig Andrews <candrews <AT> gentoo <DOT> org>
3 AuthorDate: Wed Dec 12 02:52:13 2018 +0000
4 Commit: Craig Andrews <candrews <AT> gentoo <DOT> org>
5 CommitDate: Wed Dec 12 02:52:13 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6fa7d68a
7
8 dev-libs/xml-security-c: Fix libressl support
9
10 Closes: https://bugs.gentoo.org/672718
11 Package-Manager: Portage-2.3.52, Repoman-2.3.12
12 Signed-off-by: Craig Andrews <candrews <AT> gentoo.org>
13
14 .../files/xml-security-c-2.0.2-libressl.patch | 52 ++++++++++++++++++++++
15 .../xml-security-c/xml-security-c-2.0.2-r1.ebuild | 43 ++++++++++++++++++
16 2 files changed, 95 insertions(+)
17
18 diff --git a/dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch b/dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch
19 new file mode 100644
20 index 00000000000..754ddc6bcf1
21 --- /dev/null
22 +++ b/dev-libs/xml-security-c/files/xml-security-c-2.0.2-libressl.patch
23 @@ -0,0 +1,52 @@
24 +diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
25 +index 2ad9da6e..a8ea9f1d 100644
26 +--- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
27 ++++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.cpp
28 +@@ -48,7 +48,7 @@ XERCES_CPP_NAMESPACE_USE
29 + // Construction/Destruction
30 + // --------------------------------------------------------------------------------
31 +
32 +-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
33 ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
34 + OpenSSLCryptoBase64::OpenSSLCryptoBase64() : mp_ectx(&m_ectx_store), mp_dctx(&m_dctx_store) { }
35 + OpenSSLCryptoBase64::~OpenSSLCryptoBase64() { }
36 + #else
37 +diff --git a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
38 +index c892eac4..82aeb0a1 100644
39 +--- a/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
40 ++++ b/xsec/enc/OpenSSL/OpenSSLCryptoBase64.hpp
41 +@@ -205,7 +205,7 @@ private :
42 + EVP_ENCODE_CTX *mp_ectx; // Encode context
43 + EVP_ENCODE_CTX *mp_dctx; // Decode context
44 +
45 +-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
46 ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
47 + EVP_ENCODE_CTX m_ectx_store;
48 + EVP_ENCODE_CTX m_dctx_store;
49 + #endif
50 +diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.cpp b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
51 +index dfd37eb3..cf874f82 100644
52 +--- a/xsec/enc/OpenSSL/OpenSSLSupport.cpp
53 ++++ b/xsec/enc/OpenSSL/OpenSSLSupport.cpp
54 +@@ -273,7 +273,7 @@ int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
55 +
56 + #endif
57 +
58 +-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
59 ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
60 + EvpEncodeCtxRAII::EvpEncodeCtxRAII() : mp_ctx(&mp_ctx_store) { };
61 + EvpEncodeCtxRAII::~EvpEncodeCtxRAII() { }
62 + #else
63 +diff --git a/xsec/enc/OpenSSL/OpenSSLSupport.hpp b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
64 +index e3527fae..b5f67f26 100644
65 +--- a/xsec/enc/OpenSSL/OpenSSLSupport.hpp
66 ++++ b/xsec/enc/OpenSSL/OpenSSLSupport.hpp
67 +@@ -88,7 +88,7 @@ public:
68 +
69 + private:
70 + EVP_ENCODE_CTX *mp_ctx;
71 +-#if (OPENSSL_VERSION_NUMBER < 0x10100000L)
72 ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER)
73 + EVP_ENCODE_CTX mp_ctx_store;
74 + #endif
75 + };
76
77 diff --git a/dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild b/dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild
78 new file mode 100644
79 index 00000000000..afd103f4306
80 --- /dev/null
81 +++ b/dev-libs/xml-security-c/xml-security-c-2.0.2-r1.ebuild
82 @@ -0,0 +1,43 @@
83 +# Copyright 1999-2018 Gentoo Authors
84 +# Distributed under the terms of the GNU General Public License v2
85 +
86 +EAPI=7
87 +
88 +DESCRIPTION="Apache C++ XML security libraries"
89 +HOMEPAGE="http://santuario.apache.org/"
90 +SRC_URI="mirror://apache/santuario/c-library/${P}.tar.gz"
91 +
92 +LICENSE="Apache-2.0"
93 +SLOT="0"
94 +KEYWORDS="~amd64 ~x86"
95 +IUSE="debug examples libressl nss static-libs xalan"
96 +
97 +RDEPEND=">=dev-libs/xerces-c-3.2
98 + !libressl? ( dev-libs/openssl:0= )
99 + libressl? ( dev-libs/libressl:0= )
100 + nss? ( dev-libs/nss )
101 + xalan? ( dev-libs/xalan-c )"
102 +DEPEND="${RDEPEND}"
103 +BDEPEND="virtual/pkgconfig"
104 +PATCHES=(
105 + "${FILESDIR}/${P}-libressl.patch"
106 +)
107 +
108 +DOCS=( CHANGELOG.txt NOTICE.txt )
109 +
110 +src_configure() {
111 + econf \
112 + --with-openssl \
113 + $(use_enable static-libs static) \
114 + $(use_enable debug) \
115 + $(use_with xalan) \
116 + $(use_with nss)
117 +}
118 +
119 +src_install() {
120 + default
121 + if use examples ; then
122 + docinto examples
123 + dodoc xsec/samples/*.cpp
124 + fi
125 +}