commit:     46aee353c3029ab41e1669c5293ff1ec8440a733
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 29 19:36:34 2016 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Thu Sep 29 19:42:14 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=46aee353

dev-cpp/commoncpp2: Allow for compiling with GCC 6

Gentoo-bug: 595422
* EAPI=6
* Make PATCHES -p1 compliant

Package-Manager: portage-2.3.1

 dev-cpp/commoncpp2/commoncpp2-1.8.1-r2.ebuild      | 71 ++++++++++++++++++++++
 dev-cpp/commoncpp2/files/1.8.0-glibc212.patch      |  4 +-
 .../commoncpp2/files/1.8.1-autoconf-update.patch   | 20 ++++--
 dev-cpp/commoncpp2/files/1.8.1-fix-c++14.patch     | 52 ++++++++++++++++
 dev-cpp/commoncpp2/files/1.8.1-libgcrypt.patch     |  4 +-
 .../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 00000000..4cf6353
--- /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 a29e154..5132554 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 d50a340..c64ba2f 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 00000000..cc92106
--- /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 d83ff91..08e24e1 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 f131ee1..149677c 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

Reply via email to