package init

This commit is contained in:
ultra_planet 2019-12-04 16:11:05 +08:00
parent 74df0680d9
commit 8754fa636e
7 changed files with 153 additions and 0 deletions

12
dbus-c++-gcc4.7.patch Normal file
View File

@ -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 <errno.h>
+#include <unistd.h>
#include "api.h"
#include "dispatcher.h"
#include "util.h"

12
dbus-c++-linkfix.patch Normal file
View File

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

View File

@ -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 <gtkmm.h>
#include <dbus-c++/dbus.h>
#include <dbus-c++/glib-integration.h>
-#include <gtkmm.h>
#include "dbus-glue.h"

45
dbus-c++-threading.patch Normal file
View File

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

9
dbus-c++-writechar.patch Normal file
View File

@ -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);
}

61
dbus-c++.spec Normal file
View File

@ -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 <lingsheng@huawei.com> - 0.9.0-20
- Package init

BIN
libdbus-c++-0.9.0.tar.gz Normal file

Binary file not shown.