summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Strogin <stefan.strogin@gmail.com>2019-02-20 23:37:45 +0200
committerAaron Bauman <bman@gentoo.org>2019-02-22 18:36:28 -0500
commit88ff70ab3b857a8e6aa63061028d8475b63816bc (patch)
treee3cd3deddd86c4a67e8fe87691a89a37a8acbe46 /dev-cpp
parentdev-libs/xapian: remove older versions (diff)
downloadgentoo-88ff70ab3b857a8e6aa63061028d8475b63816bc.tar.gz
gentoo-88ff70ab3b857a8e6aa63061028d8475b63816bc.tar.bz2
gentoo-88ff70ab3b857a8e6aa63061028d8475b63816bc.zip
dev-cpp/commoncpp2: add patch for openssl-1.1 and libressl support
SSLv3_client_method() is deprecated in openssl-1.1 and libressl. They suggest to use SSLv23_client_method. Closes: https://bugs.gentoo.org/674416 Package-Manager: Portage-2.3.61, Repoman-2.3.12 Signed-off-by: Stefan Strogin <stefan.strogin@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/11120 Signed-off-by: Aaron Bauman <bman@gentoo.org>
Diffstat (limited to 'dev-cpp')
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild73
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-libressl.patch15
2 files changed, 88 insertions, 0 deletions
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
new file mode 100644
index 000000000000..f5f40d898c1e
--- /dev/null
+++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r4.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils
+
+DESCRIPTION="C++ library offering portable support for system-related services"
+SRC_URI="mirror://gnu/commoncpp/${P}.tar.gz"
+HOMEPAGE="https://www.gnu.org/software/commoncpp/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="debug doc examples ipv6 gnutls ssl static-libs"
+
+RDEPEND="
+ sys-libs/zlib
+ ssl? (
+ gnutls? (
+ dev-libs/libgcrypt:0=
+ net-libs/gnutls:=
+ )
+ !gnutls? ( dev-libs/openssl:0= )
+ )"
+DEPEND="${RDEPEND}
+ doc? ( >=app-doc/doxygen-1.3.6 )"
+
+HTML_DOCS=()
+
+PATCHES=(
+ "${FILESDIR}/1.8.1-configure_detect_netfilter.patch"
+ "${FILESDIR}/1.8.0-glibc212.patch"
+ "${FILESDIR}/1.8.1-autoconf-update.patch"
+ "${FILESDIR}/1.8.1-fix-buffer-overflow.patch"
+ "${FILESDIR}/1.8.1-parallel-build.patch"
+ "${FILESDIR}/1.8.1-libgcrypt.patch"
+ "${FILESDIR}/1.8.1-fix-c++14.patch"
+ "${FILESDIR}/1.8.1-gnutls-3.4.patch"
+ "${FILESDIR}/1.8.1-libressl.patch" # bug 674416
+)
+
+pkg_setup() {
+ use doc && HTML_DOCS+=( doc/html/. )
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use ssl && local myconf=( $(usex gnutls '--with-gnutls' '--with-openssl') )
+
+ econf \
+ $(use_enable debug) \
+ $(use_with ipv6) \
+ $(use_enable static-libs static) \
+ $(use_with doc doxygen) \
+ "${myconf[@]}"
+}
+
+src_install () {
+ default
+ prune_libtool_files
+
+ dodoc COPYING.addendum
+
+ if use examples; then
+ docinto examples
+ dodoc demo/{*.cpp,*.h,*.xml,README}
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-cpp/commoncpp2/files/1.8.1-libressl.patch b/dev-cpp/commoncpp2/files/1.8.1-libressl.patch
new file mode 100644
index 000000000000..9779a53d8fa0
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-libressl.patch
@@ -0,0 +1,15 @@
+Upstream-Status: Submitted [bug-commoncpp@gnu.org]
+
+diff --git a/src/ssl.cpp b/src/ssl.cpp
+index 5bf526d..3cd7040 100644
+--- a/src/ssl.cpp
++++ b/src/ssl.cpp
+@@ -386,7 +386,7 @@ bool SSLStream::getSession(void)
+ if(so == INVALID_SOCKET)
+ return false;
+
+- ctx = SSL_CTX_new(SSLv3_client_method());
++ ctx = SSL_CTX_new(SSLv23_client_method());
+ if(!ctx) {
+ SSL_CTX_free(ctx);
+ return false;