dev-cpp/commoncpp2: support gnutls-3.4 + eapi bump

Bug: 583110

Package-Manager: Portage-2.3.3, Repoman-2.3.1
This commit is contained in:
Alon Bar-Lev
2017-03-04 01:48:58 +02:00
parent 1ec4d4652a
commit 78074b589f
2 changed files with 108 additions and 0 deletions

View File

@@ -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
}

View File

@@ -0,0 +1,36 @@
From ba702b6034444c2e30b0990d06e28bb2dea8ecb7 Mon Sep 17 00:00:00 2001
From: Alon Bar-Lev <alon.barlev@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.barlev@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