dev-libs/dbus-c++: add gcc7 fix, bug #622790 by Hector Martin
authorAlexis Ballier <aballier@gentoo.org>
Tue, 27 Jun 2017 09:15:30 +0000 (11:15 +0200)
committerAlexis Ballier <aballier@gentoo.org>
Tue, 27 Jun 2017 09:15:30 +0000 (11:15 +0200)
Package-Manager: Portage-2.3.6, Repoman-2.3.2

dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild [moved from dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild with 95% similarity]
dev-libs/dbus-c++/files/dbus-c++-gcc7.patch [new file with mode: 0644]

similarity index 95%
rename from dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild
rename to dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild
index 76a0a00186ac36d48d2c55b9c0c2ecf6d20e0990..f0d11b35b358880c5eb38d5d874cb4719a72953b 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="5"
@@ -28,6 +28,7 @@ S=${WORKDIR}/lib${P}
 
 PATCHES=(
        "${FILESDIR}"/${P}-gcc-4.7.patch #424707
+       "${FILESDIR}"/${PN}-gcc7.patch #622790
 )
 
 multilib_src_configure() {
diff --git a/dev-libs/dbus-c++/files/dbus-c++-gcc7.patch b/dev-libs/dbus-c++/files/dbus-c++-gcc7.patch
new file mode 100644 (file)
index 0000000..90809ea
--- /dev/null
@@ -0,0 +1,25 @@
+--- ./include/dbus-c++/dispatcher.h.old        2017-06-27 07:03:52.159413535 +0900
++++ ./include/dbus-c++/dispatcher.h    2017-06-27 07:04:04.974399195 +0900
+@@ -229,13 +229,8 @@
+ typedef Mutex *(*MutexNewFn)();
+ typedef void (*MutexUnlockFn)(Mutex *mx);
+ 
+-#ifndef DBUS_HAS_RECURSIVE_MUTEX
+-typedef bool (*MutexFreeFn)(Mutex *mx);
+-typedef bool (*MutexLockFn)(Mutex *mx);
+-#else
+ typedef void (*MutexFreeFn)(Mutex *mx);
+ typedef void (*MutexLockFn)(Mutex *mx);
+-#endif//DBUS_HAS_RECURSIVE_MUTEX
+ 
+ typedef CondVar *(*CondVarNewFn)();
+ typedef void (*CondVarFreeFn)(CondVar *cv);
+--- ./src/pipe.cpp.old 2017-06-27 07:00:17.275653653 +0900
++++ ./src/pipe.cpp     2017-06-27 07:00:23.537646665 +0900
+@@ -83,5 +83,5 @@
+ void Pipe::signal()
+ {
+   // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
+-  ::write(_fd_write, '\0', 1);
++  ::write(_fd_write, "\0", 1);
+ }