diff --git a/dbus-c++-gcc4.7.patch b/dbus-c++-gcc4.7.patch new file mode 100644 index 0000000..5cb8096 --- /dev/null +++ b/dbus-c++-gcc4.7.patch @@ -0,0 +1,12 @@ +diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h +index 1b0302e..3e44304 100644 +--- a/include/dbus-c++/eventloop-integration.h ++++ b/include/dbus-c++/eventloop-integration.h +@@ -26,6 +26,7 @@ + #define __DBUSXX_EVENTLOOP_INTEGRATION_H + + #include ++#include + #include "api.h" + #include "dispatcher.h" + #include "util.h" diff --git a/dbus-c++-linkfix.patch b/dbus-c++-linkfix.patch new file mode 100644 index 0000000..3672fe2 --- /dev/null +++ b/dbus-c++-linkfix.patch @@ -0,0 +1,12 @@ +diff -up libdbus-c++-0.9.0/src/Makefile.am.linkfix libdbus-c++-0.9.0/src/Makefile.am +--- libdbus-c++-0.9.0/src/Makefile.am.linkfix 2013-12-17 16:07:22.326715886 +0100 ++++ libdbus-c++-0.9.0/src/Makefile.am 2013-12-17 16:07:34.474542044 +0100 +@@ -29,7 +29,7 @@ libdbus_c___1_la_CXXFLAGS = \ + -Wno-unused-parameter + + libdbus_c___1_la_LIBADD = \ +- $(dbus_LIBS) ++ $(dbus_LIBS) $(xml_LIBS) + + AM_CPPFLAGS = \ + $(dbus_CFLAGS) \ diff --git a/dbus-c++-macro_collision.patch b/dbus-c++-macro_collision.patch new file mode 100644 index 0000000..5704402 --- /dev/null +++ b/dbus-c++-macro_collision.patch @@ -0,0 +1,14 @@ +diff -rupN libdbus-c++-0.9.0/examples/glib/dbus-browser.h libdbus-c++-0.9.0-new/examples/glib/dbus-browser.h +--- libdbus-c++-0.9.0/examples/glib/dbus-browser.h 2015-03-05 23:43:26.903517530 +0100 ++++ libdbus-c++-0.9.0-new/examples/glib/dbus-browser.h 2011-11-28 16:03:19.000000000 +0100 +@@ -1,9 +1,9 @@ + #ifndef __DEMO_DBUS_BROWSER_H + #define __DEMO_DBUS_BROWSER_H + ++#include + #include + #include +-#include + + #include "dbus-glue.h" + diff --git a/dbus-c++-threading.patch b/dbus-c++-threading.patch new file mode 100644 index 0000000..c4fafef --- /dev/null +++ b/dbus-c++-threading.patch @@ -0,0 +1,45 @@ +--- libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h.threading 2017-02-15 13:40:53.796004263 +0000 ++++ libdbus-c++-0.9.0/include/dbus-c++/dispatcher.h 2017-02-15 13:40:46.907000493 +0000 +@@ -188,6 +188,7 @@ + /* classes for multithreading support + */ + ++#if 0 + class DXXAPI Mutex + { + public: +@@ -243,9 +244,11 @@ + typedef bool (*CondVarWaitTimeoutFn)(CondVar *cv, Mutex *mx, int timeout); + typedef void (*CondVarWakeOneFn)(CondVar *cv); + typedef void (*CondVarWakeAllFn)(CondVar *cv); ++#endif + + void DXXAPI _init_threading(); + ++#if 0 + void DXXAPI _init_threading( + MutexNewFn, MutexFreeFn, MutexLockFn, MutexUnlockFn, + CondVarNewFn, CondVarFreeFn, CondVarWaitFn, CondVarWaitTimeoutFn, CondVarWakeOneFn, CondVarWakeAllFn +@@ -312,6 +315,7 @@ + cv->wake_all(); + } + }; ++#endif + + } /* namespace DBus */ + +--- libdbus-c++-0.9.0/src/dispatcher.cpp.threading 2017-02-15 13:48:22.627249868 +0000 ++++ libdbus-c++-0.9.0/src/dispatcher.cpp 2017-02-15 13:48:29.164253445 +0000 +@@ -253,6 +253,7 @@ + #endif//DBUS_HAS_THREADS_INIT_DEFAULT + } + ++#if 0 + void DBus::_init_threading( + MutexNewFn m1, + MutexFreeFn m2, +@@ -318,3 +319,4 @@ + #endif//DBUS_HAS_RECURSIVE_MUTEX + dbus_threads_init(&functions); + } ++#endif diff --git a/dbus-c++-writechar.patch b/dbus-c++-writechar.patch new file mode 100644 index 0000000..d936b7f --- /dev/null +++ b/dbus-c++-writechar.patch @@ -0,0 +1,9 @@ +--- libdbus-c++-0.9.0/src/pipe.cpp.writechar 2017-02-16 11:07:13.591950169 +0000 ++++ libdbus-c++-0.9.0/src/pipe.cpp 2017-02-16 11:04:17.158796092 +0000 +@@ -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, "", 1); + } diff --git a/dbus-c++.spec b/dbus-c++.spec new file mode 100644 index 0000000..5f0a561 --- /dev/null +++ b/dbus-c++.spec @@ -0,0 +1,61 @@ +Name: dbus-c++ +Version: 0.9.0 +Release: 20 +Summary: Native C++ bindings for D-Bus +License: LGPLv2+ +URL: http://sourceforge.net/projects/dbus-cplusplus/ +Source0: http://downloads.sourceforge.net/dbus-cplusplus/libdbus-c++-%{version}.tar.gz + +Patch0001: dbus-c++-gcc4.7.patch +Patch0002: dbus-c++-linkfix.patch +Patch0003: dbus-c++-macro_collision.patch +Patch0004: dbus-c++-threading.patch +Patch0005: dbus-c++-writechar.patch + +BuildRequires: gcc-c++ dbus-devel glib2-devel gtkmm24-devel autoconf automake libtool expat-devel ecore-devel +Provides: %{name}-ecore = %{version}-%{release} %{name}-glib = %{version}-%{release} +Obsoletes: %{name}-ecore < %{version}-%{release} %{name}-glib < %{version}-%{release} + +%description +dbus-c++ attempts to provide a C++ API for D-BUS. The library has a glib/gtk and an Ecore mainloop +integration.It also offers an optional own main loop. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} pkgconfig + +%description devel +This package contains libraries and header files for developing applications that use %{name}. + +%prep +%autosetup -n libdbus-c++-%{version} -p1 +sed -i 's/libtoolize --force --copy/libtoolize -if --copy/' bootstrap + +%build +autoreconf -vfi +export CPPFLAGS='-pthread %{optflags}' CXXFLAGS='--std=gnu++11 -pthread %{optflags}' +%configure --disable-static +%make_build + +%install +%make_install +%delete_la + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%doc AUTHORS COPYING +%{_bindir}/dbusxx-* +%{_libdir}/libdbus-c++-*1.so.0* + +%files devel +%doc TODO +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/* + +%changelog +* Mon Dec 2 2019 lingsheng - 0.9.0-20 +- Package init diff --git a/libdbus-c++-0.9.0.tar.gz b/libdbus-c++-0.9.0.tar.gz new file mode 100644 index 0000000..cbb6727 Binary files /dev/null and b/libdbus-c++-0.9.0.tar.gz differ