summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-09-29 21:36:34 +0200
committerDavid Seifert <soap@gentoo.org>2016-09-29 21:42:14 +0200
commit46aee353c3029ab41e1669c5293ff1ec8440a733 (patch)
tree2804915d8bb2171527c42ab8a4c69761108b0653 /dev-cpp/commoncpp2
parentdev-perl/XML-Writer: Remove old, normalize PV (diff)
downloadgentoo-46aee353c3029ab41e1669c5293ff1ec8440a733.tar.gz
gentoo-46aee353c3029ab41e1669c5293ff1ec8440a733.tar.bz2
gentoo-46aee353c3029ab41e1669c5293ff1ec8440a733.zip
dev-cpp/commoncpp2: Allow for compiling with GCC 6
Gentoo-bug: 595422 * EAPI=6 * Make PATCHES -p1 compliant Package-Manager: portage-2.3.1
Diffstat (limited to 'dev-cpp/commoncpp2')
-rw-r--r--dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild71
-rw-r--r--dev-cpp/commoncpp2/files/1.8.0-glibc212.patch4
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch20
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch52
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch4
-rw-r--r--dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch4
6 files changed, 145 insertions, 10 deletions
diff --git a/dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild
new file mode 100644
index 000000000000..4cf63531e580
--- /dev/null
+++ b/dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools
+
+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"
+REQUIRED_USE="gnutls? ( ssl )"
+
+RDEPEND="ssl? ( gnutls? ( dev-libs/libgcrypt:0
+ net-libs/gnutls )
+ !gnutls? ( dev-libs/openssl:0 ) )
+ sys-libs/zlib"
+DEPEND="doc? ( >=app-doc/doxygen-1.3.6 )
+ ${RDEPEND}"
+
+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"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use gnutls; then
+ myconf+="--with-gnutls"
+ else
+ use ssl && myconf+="--with-openssl"
+ fi
+
+ econf \
+ $(use_enable debug) \
+ $(use_with ipv6) \
+ $(use_enable static-libs static) \
+ $(use_with doc doxygen) \
+ ${myconf}
+}
+
+src_install () {
+ # Only install html docs
+ # man and latex available, but seems a little wasteful
+ use doc && HTML_DOCS=( doc/html/. )
+ default
+ dodoc COPYING.addendum
+
+ if use examples; then
+ docinto examples
+ dodoc demo/{*.cpp,*.h,*.xml,README}
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # package provides .pc files
+ find "${D}" -name '*.la' -delete || die
+}
diff --git a/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch b/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch
index a29e154a20ee..5132554aea1c 100644
--- a/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch
+++ b/dev-cpp/commoncpp2/files/1.8.0-glibc212.patch
@@ -1,7 +1,7 @@
http://bugs.gentoo.org/334135
---- src/applog.cpp
-+++ src/applog.cpp
+--- a/src/applog.cpp
++++ b/src/applog.cpp
@@ -44,6 +44,7 @@
#include <cstdio>
#include <stdarg.h>
diff --git a/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch b/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch
index d50a3405ee6c..c64ba2f65fa9 100644
--- a/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch
+++ b/dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch
@@ -1,5 +1,3 @@
-diff --git a/configure.ac b/configure.ac
-index 80518db..64221e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,8 @@
@@ -12,7 +10,7 @@ index 80518db..64221e0 100644
AC_CONFIG_MACRO_DIR([m4])
m4_pattern_allow(LT_VERSION)
-@@ -81,17 +82,17 @@ fi
+@@ -81,17 +82,17 @@
AC_SUBST(ccincludedir)
AC_CONFIG_AUX_DIR(autoconf)
@@ -34,7 +32,21 @@ index 80518db..64221e0 100644
AC_C_RESTRICT
AC_C_VOLATILE
-@@ -408,10 +409,11 @@ LIB_MAJOR=`echo $LT_VERSION | sed -e 's/[:].*$//'`
+@@ -395,10 +396,11 @@
+ #endif
+
+ ])
+-
++AC_ARG_WITH([doxygen],
++ AS_HELP_STRING([--without-doxygen], [Do not build documentation]))
+ AC_PATH_PROG(DOXYGEN, doxygen, no)
+ AC_SUBST(DOXYGEN)
+-AM_CONDITIONAL(DOXY, test "$DOXYGEN" != "no")
++AM_CONDITIONAL([DOXY], [test "x$with_doxygen" != "xno"])
+
+ AM_CONDITIONAL(GETOPT_LONG, [test ! -z "$LIBGETOPTOBJS"])
+
+@@ -408,10 +410,11 @@
AC_SUBST(LIB_VERSION)
AC_SUBST(LIB_MAJOR)
diff --git a/dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch b/dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch
new file mode 100644
index 000000000000..cc921060b303
--- /dev/null
+++ b/dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch
@@ -0,0 +1,52 @@
+Fix building with C++14, which errors out due changed noexcept()
+semantics for dtors caught by -Werror=terminate.
+
+See also: https://bugs.gentoo.org/show_bug.cgi?id=595422
+
+--- a/src/nat.cpp
++++ b/src/nat.cpp
+@@ -145,11 +145,11 @@
+ "nat lookup successful",
+ "nat address not in table",
+ "nat not supported/implemented",
+- "unable to open device "NAT_DEVICE,
++ "unable to open device " NAT_DEVICE,
+ "unable to get socket name",
+ "unable to get peer name",
+ "unable to get socket type",
+- "unable to lookup, nat "NAT_SYSCALL" failed",
++ "unable to lookup, nat " NAT_SYSCALL " failed",
+ "unkown nat error code"
+ };
+
+--- a/src/socket.cpp
++++ b/src/socket.cpp
+@@ -2971,12 +2971,7 @@
+
+ TCPStream::~TCPStream()
+ {
+-#ifdef CCXX_EXCEPTIONS
+- try { endStream(); }
+- catch( ... ) { if ( ! std::uncaught_exception()) throw;};
+-#else
+- endStream();
+-#endif
++ endStream();
+ }
+
+ #ifdef HAVE_GETADDRINFO
+--- a/src/ssl.cpp
++++ b/src/ssl.cpp
+@@ -441,12 +441,7 @@
+
+ SSLStream::~SSLStream()
+ {
+-#ifdef CCXX_EXCEPTIONS
+- try { endStream(); }
+- catch( ...) { if ( ! std::uncaught_exception()) throw;};
+-#else
+ endStream();
+-#endif
+ }
+
+ #ifdef CCXX_NAMESPACES
diff --git a/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch b/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
index d83ff9117aaf..08e24e1a06a9 100644
--- a/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
+++ b/dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch
@@ -1,5 +1,5 @@
---- src/ssl.cpp.orig 2010-11-01 03:42:51.000000000 +0300
-+++ src/ssl.cpp 2015-11-25 15:32:23.923057317 +0300
+--- a/src/ssl.cpp
++++ b/src/ssl.cpp
@@ -99,35 +99,7 @@
return 0;
}
diff --git a/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch b/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch
index f131ee1c2c01..149677ca89b4 100644
--- a/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch
+++ b/dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch
@@ -1,5 +1,5 @@
---- src/Makefile.am
-+++ src/Makefile.am
+--- a/src/Makefile.am
++++ b/src/Makefile.am
@@ -47,6 +47,7 @@
if EXTRAS