commit:     78074b589f7430145b075329864d6a22ca8c8eff
Author:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  3 23:48:58 2017 +0000
Commit:     Alon Bar-Lev <alonbl <AT> gentoo <DOT> org>
CommitDate: Fri Mar  3 23:49:31 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=78074b58

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 +++++++++++++++++++++++++
 dev-cpp/commoncpp2/files/1.8.1-gnutls-3.4.patch | 36 +++++++++++++
 2 files changed, 108 insertions(+)

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 00000000000..7993899c48c
--- /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 00000000000..b7365b82206
--- /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 <alon.bar...@gmail.com>
+Date: Sat, 4 Mar 2017 01:36:23 +0200
+Subject: [PATCH] ssl: support gnutls-3.4
+
+Signed-off-by: Alon Bar-Lev <alon.bar...@gmail.com>
+---
+ 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
+

Reply via email to