diff options
author | David Seifert <soap@gentoo.org> | 2016-09-29 21:36:34 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2016-09-29 21:42:14 +0200 |
commit | 46aee353c3029ab41e1669c5293ff1ec8440a733 (patch) | |
tree | 2804915d8bb2171527c42ab8a4c69761108b0653 /dev-cpp/commoncpp2 | |
parent | dev-perl/XML-Writer: Remove old, normalize PV (diff) | |
download | gentoo-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.ebuild | 71 | ||||
-rw-r--r-- | dev-cpp/commoncpp2/files/1.8.0-glibc212.patch | 4 | ||||
-rw-r--r-- | dev-cpp/commoncpp2/files/1.8.1-autoconf-update.patch | 20 | ||||
-rw-r--r-- | dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch | 52 | ||||
-rw-r--r-- | dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch | 4 | ||||
-rw-r--r-- | dev-cpp/commoncpp2/files/1.8.1-parallel-build.patch | 4 |
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 |