From 78074b589f7430145b075329864d6a22ca8c8eff Mon Sep 17 00:00:00 2001 From: Alon Bar-Lev Date: Sat, 4 Mar 2017 01:48:58 +0200 Subject: [PATCH] dev-cpp/commoncpp2: support gnutls-3.4 + eapi bump Bug: 583110 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild | 72 +++++++++++++++++++ .../commoncpp2/files/1.8.1-gnutls-3.4.patch | 36 ++++++++++ 2 files changed, 108 insertions(+) create mode 100644 dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild create mode 100644 dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild new file mode 100644 index 000000000000..7993899c48cc --- /dev/null +++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r3.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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" +) + +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-gnutls-3.4.patch b/dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch new file mode 100644 index 000000000000..b7365b822065 --- /dev/null +++ b/dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch @@ -0,0 +1,36 @@ +From ba702b6034444c2e30b0990d06e28bb2dea8ecb7 Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev +Date: Sat, 4 Mar 2017 01:36:23 +0200 +Subject: [PATCH] ssl: support gnutls-3.4 + +Signed-off-by: Alon Bar-Lev +--- + src/ssl.cpp | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/src/ssl.cpp b/src/ssl.cpp +index 5bf526d..38ef0a7 100644 +--- a/src/ssl.cpp ++++ b/src/ssl.cpp +@@ -344,9 +344,6 @@ ssize_t SSLStream::readData(void *target, size_t size, char separator, timeout_t + #ifdef CCXX_GNUTLS + bool SSLStream::getSession(void) + { +- const int cert_priority[3] = +- {GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0}; +- + if(ssl) + return true; + +@@ -362,7 +359,7 @@ bool SSLStream::getSession(void) + + gnutls_set_default_priority(ssl->session); + gnutls_certificate_allocate_credentials(&ssl->xcred); +- gnutls_certificate_type_set_priority(ssl->session, cert_priority); ++ gnutls_priority_set_direct(ssl->session, "NORMAL:+CTYPE-OPENPGP", NULL); + gnutls_credentials_set(ssl->session, GNUTLS_CRD_CERTIFICATE, ssl->xcred); + gnutls_transport_set_ptr(ssl->session, (gnutls_transport_ptr)so); + if(gnutls_handshake(ssl->session)) { +-- +2.10.2 + -- 2.26.2