Gentoo Archives: gentoo-commits

From: David Seifert <soap@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/log4cplus/files/, dev-libs/log4cplus/
Date: Sun, 02 Oct 2016 15:26:54
Message-Id: 1475421999.0db830d65adfc2627be610e237da6f40df58b44c.soap@gentoo
1 commit: 0db830d65adfc2627be610e237da6f40df58b44c
2 Author: David Seifert <soap <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 2 15:24:51 2016 +0000
4 Commit: David Seifert <soap <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 2 15:26:39 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0db830d6
7
8 dev-libs/log4cplus: Make dtors conditionally noexcept(false)
9
10 Gentoo-bug: 595424
11
12 Package-Manager: portage-2.3.1
13
14 .../files/log4cplus-1.2.0-fix-c++14.patch | 31 ++++++++++++++++++++++
15 dev-libs/log4cplus/log4cplus-1.2.0.ebuild | 2 ++
16 2 files changed, 33 insertions(+)
17
18 diff --git a/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch b/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch
19 new file mode 100644
20 index 00000000..ccd6e1a
21 --- /dev/null
22 +++ b/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch
23 @@ -0,0 +1,31 @@
24 +Make dtors noexcept(false) when compiling in C++11 and above. This avoids
25 +silent breakage due to the semantic changes between C++98 and C++11.
26 +See also: https://bugs.gentoo.org/show_bug.cgi?id=595424
27 +
28 +--- a/include/log4cplus/hierarchylocker.h
29 ++++ b/include/log4cplus/hierarchylocker.h
30 +@@ -48,7 +48,11 @@
31 + public:
32 + // ctor & dtor
33 + HierarchyLocker(Hierarchy& h);
34 +- ~HierarchyLocker();
35 ++ ~HierarchyLocker()
36 ++#if __cplusplus >= 201103L
37 ++ noexcept(false)
38 ++#endif
39 ++ ;
40 +
41 + /**
42 + * Calls the <code>resetConfiguration()</code> method on the locked Hierarchy.
43 +--- a/src/hierarchylocker.cxx
44 ++++ b/src/hierarchylocker.cxx
45 +@@ -62,6 +62,9 @@
46 +
47 +
48 + HierarchyLocker::~HierarchyLocker()
49 ++#if __cplusplus >= 201103L
50 ++ noexcept(false)
51 ++#endif
52 + {
53 + try {
54 + for(LoggerList::iterator it=loggerList.begin(); it!=loggerList.end(); ++it) {
55
56 diff --git a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild b/dev-libs/log4cplus/log4cplus-1.2.0.ebuild
57 index 8ad20f8..4dfaa42 100644
58 --- a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild
59 +++ b/dev-libs/log4cplus/log4cplus-1.2.0.ebuild
60 @@ -19,6 +19,8 @@ RDEPEND="iconv? ( virtual/libiconv )
61 DEPEND="virtual/pkgconfig
62 ${RDEPEND}"
63
64 +PATCHES=( "${FILESDIR}/${PN}-1.2.0-fix-c++14.patch" )
65 +
66 src_configure() {
67 econf \
68 --disable-static \