net-analyzer/echoping: Fix building with >net-libs/gnutls-3.3 (bug #546864).
authorJeroen Roovers <jer@gentoo.org>
Fri, 20 May 2016 07:58:58 +0000 (09:58 +0200)
committerJeroen Roovers <jer@gentoo.org>
Fri, 20 May 2016 08:00:15 +0000 (10:00 +0200)
Package-Manager: portage-2.3.0_rc1

net-analyzer/echoping/echoping-6.0.2_p434-r2.ebuild [new file with mode: 0644]
net-analyzer/echoping/files/echoping-6.0.2_p434-gnutls_certificate_type_set_priority.patch [new file with mode: 0644]
net-analyzer/echoping/files/echoping-6.0.2_p434-gnutls_session.patch [new file with mode: 0644]

diff --git a/net-analyzer/echoping/echoping-6.0.2_p434-r2.ebuild b/net-analyzer/echoping/echoping-6.0.2_p434-r2.ebuild
new file mode 100644 (file)
index 0000000..dc4f5d5
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils
+
+DESCRIPTION="Small program to test performances of remote servers"
+HOMEPAGE="http://echoping.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~jer/${P}.tar.gz"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="gnutls http icp idn priority smtp ssl tos postgres ldap"
+RESTRICT="test"
+
+RDEPEND="idn? ( net-dns/libidn )
+       postgres? ( dev-db/postgresql:* )
+       ldap? ( net-nds/openldap )
+       ssl? (
+               gnutls? ( >=net-libs/gnutls-3.3:= )
+               !gnutls? ( >=dev-libs/openssl-0.9.7d:= )
+       )"
+DEPEND="${RDEPEND}
+       >=sys-devel/libtool-2"
+
+REQUIRED_USE="gnutls? ( ssl )"
+
+DOCS=( README AUTHORS ChangeLog DETAILS NEWS TODO )
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-6.0.2_p434-fix_implicit_declarations.patch
+       epatch "${FILESDIR}"/${PN}-6.0.2_p434-gnutls_certificate_type_set_priority.patch
+       epatch "${FILESDIR}"/${PN}-6.0.2_p434-gnutls_session.patch
+
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               $(use_enable http)  \
+               $(use_enable icp) \
+               $(use_enable priority) \
+               $(use_enable smtp) \
+               $(use_enable tos) \
+               $(use_with idn libidn) \
+               $(usex gnutls $(use_with gnutls) $(use_with ssl)) \
+               --config-cache \
+               --disable-static \
+               --disable-ttcp
+}
+
+src_install() {
+       default
+       prune_libtool_files
+}
diff --git a/net-analyzer/echoping/files/echoping-6.0.2_p434-gnutls_certificate_type_set_priority.patch b/net-analyzer/echoping/files/echoping-6.0.2_p434-gnutls_certificate_type_set_priority.patch
new file mode 100644 (file)
index 0000000..0cb219f
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/echoping.c
++++ b/echoping.c
+@@ -981,8 +981,6 @@
+                     if (tls_result != 0)
+                         err_sys("Cannot create a new TLS session");
+                     gnutls_set_default_priority(session);
+-                    gnutls_certificate_type_set_priority(session,
+-                                                         cert_type_priority);
+                     gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
+                     gnutls_transport_set_ptr(session, (gnutls_transport_ptr)
+                                              (long) sockfd);
diff --git a/net-analyzer/echoping/files/echoping-6.0.2_p434-gnutls_session.patch b/net-analyzer/echoping/files/echoping-6.0.2_p434-gnutls_session.patch
new file mode 100644 (file)
index 0000000..8b87c47
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/echoping.c
++++ b/echoping.c
+@@ -134,7 +134,7 @@
+     SSL            *sslh = NULL;
+ #endif
+ #ifdef GNUTLS
+-    gnutls_session  session;
++    gnutls_session_t  session;
+     gnutls_certificate_credentials xcred;
+     int             tls_result;
+     const int       cert_type_priority[3] = { GNUTLS_CRT_X509,
+--- a/echoping.h
++++ b/echoping.h
+@@ -103,7 +103,7 @@
+     SSL            *ssl;
+ #endif
+ #ifdef GNUTLS
+-    gnutls_session  tls;
++    gnutls_session_t  tls;
+ #endif
+ } CHANNEL;