1 |
commit: d2a9c04e4bcf134f3013caabc4cecdf6aa386c8f |
2 |
Author: Peter Levine <plevine457 <AT> gmail <DOT> com> |
3 |
AuthorDate: Mon Jul 31 02:32:23 2017 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Aug 13 11:10:26 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2a9c04e |
7 |
|
8 |
dev-util/nemiver: Fix building with -Werror=terminate using GCC-6 |
9 |
|
10 |
Bug: https://bugs.gentoo.org/show_bug.cgi?id=602436 |
11 |
Package-Manager: Portage-2.3.6, Repoman-2.3.2 |
12 |
Closes: https://github.com/gentoo/gentoo/pull/5250 |
13 |
|
14 |
.../files/nemiver-0.9.6-gcc6-throw-in-dtors.patch | 73 ++++++++++++++++++++++ |
15 |
dev-util/nemiver/nemiver-0.9.6.ebuild | 5 +- |
16 |
2 files changed, 77 insertions(+), 1 deletion(-) |
17 |
|
18 |
diff --git a/dev-util/nemiver/files/nemiver-0.9.6-gcc6-throw-in-dtors.patch b/dev-util/nemiver/files/nemiver-0.9.6-gcc6-throw-in-dtors.patch |
19 |
new file mode 100644 |
20 |
index 00000000000..91d90961cb4 |
21 |
--- /dev/null |
22 |
+++ b/dev-util/nemiver/files/nemiver-0.9.6-gcc6-throw-in-dtors.patch |
23 |
@@ -0,0 +1,73 @@ |
24 |
+Bug: https://bugs.gentoo.org/602436 |
25 |
+Upstream PR: https://github.com/GNOME/nemiver/pull/3 |
26 |
+ |
27 |
+--- a/src/common/nmv-api-macros.h |
28 |
++++ b/src/common/nmv-api-macros.h |
29 |
+@@ -52,5 +52,12 @@ |
30 |
+ # define NEMIVER_PURE_IFACE |
31 |
+ # define NEMIVER_API |
32 |
+ # endif //HAS_GCC_VISIBILITY_SUPPORT |
33 |
++ |
34 |
++# if __cplusplus >= 201103L |
35 |
++# define DTOR_NOEXCEPT noexcept(false) |
36 |
++# else |
37 |
++# define DTOR_NOEXCEPT |
38 |
++# endif //__cplusplus >= 201103L |
39 |
++ |
40 |
+ #endif |
41 |
+ |
42 |
+--- a/src/common/nmv-log-stream.cc |
43 |
++++ b/src/common/nmv-log-stream.cc |
44 |
+@@ -393,7 +393,7 @@ |
45 |
+ } |
46 |
+ } |
47 |
+ |
48 |
+-LogStream::~LogStream () |
49 |
++LogStream::~LogStream () DTOR_NOEXCEPT |
50 |
+ { |
51 |
+ LOG_D ("delete", "destructor-domain"); |
52 |
+ if (!m_priv) throw runtime_error ("double free in LogStrea::~LogStream"); |
53 |
+--- a/src/common/nmv-log-stream.h |
54 |
++++ b/src/common/nmv-log-stream.h |
55 |
+@@ -151,7 +151,7 @@ |
56 |
+ const string &a_default_domain=NMV_GENERAL_DOMAIN); |
57 |
+ |
58 |
+ /// \brief destructor of the log stream class |
59 |
+- virtual ~LogStream (); |
60 |
++ virtual ~LogStream () DTOR_NOEXCEPT; |
61 |
+ |
62 |
+ /// \brief enable or disable logging for a domain |
63 |
+ /// \param a_domain the domain to enable logging for |
64 |
+--- a/src/common/nmv-object.cc |
65 |
++++ b/src/common/nmv-object.cc |
66 |
+@@ -68,7 +68,7 @@ |
67 |
+ return *this; |
68 |
+ } |
69 |
+ |
70 |
+-Object::~Object () |
71 |
++Object::~Object () DTOR_NOEXCEPT |
72 |
+ { |
73 |
+ } |
74 |
+ |
75 |
+--- a/src/common/nmv-object.h |
76 |
++++ b/src/common/nmv-object.h |
77 |
+@@ -54,7 +54,7 @@ |
78 |
+ |
79 |
+ Object& operator= (Object const&); |
80 |
+ |
81 |
+- virtual ~Object (); |
82 |
++ virtual ~Object () DTOR_NOEXCEPT; |
83 |
+ |
84 |
+ void ref (); |
85 |
+ |
86 |
+--- a/src/common/nmv-transaction.h |
87 |
++++ b/src/common/nmv-transaction.h |
88 |
+@@ -116,7 +116,7 @@ |
89 |
+ return m_trans; |
90 |
+ } |
91 |
+ |
92 |
+- ~TransactionAutoHelper () |
93 |
++ ~TransactionAutoHelper () DTOR_NOEXCEPT |
94 |
+ { |
95 |
+ if (m_ignore) { |
96 |
+ return; |
97 |
|
98 |
diff --git a/dev-util/nemiver/nemiver-0.9.6.ebuild b/dev-util/nemiver/nemiver-0.9.6.ebuild |
99 |
index fc9c1fb2667..b5d54807fe3 100644 |
100 |
--- a/dev-util/nemiver/nemiver-0.9.6.ebuild |
101 |
+++ b/dev-util/nemiver/nemiver-0.9.6.ebuild |
102 |
@@ -1,4 +1,4 @@ |
103 |
-# Copyright 1999-2016 Gentoo Foundation |
104 |
+# Copyright 1999-2017 Gentoo Foundation |
105 |
# Distributed under the terms of the GNU General Public License v2 |
106 |
|
107 |
EAPI=6 |
108 |
@@ -44,6 +44,9 @@ PATCHES=( |
109 |
|
110 |
# Fix compiliation warnings & errors, fixed in next version |
111 |
"${FILESDIR}/${P}-fix-build.patch" |
112 |
+ |
113 |
+ # Fix building with GCC-6 and CXXFLAGS="-Werror=terminate" |
114 |
+ "${FILESDIR}/${P}-gcc6-throw-in-dtors.patch" |
115 |
) |
116 |
|
117 |
src_configure() { |