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 \ |