fix build error
This commit is contained in:
parent
ebdb1d8fc1
commit
b2121a65d6
88
dbus-c++-template-operators.patch
Normal file
88
dbus-c++-template-operators.patch
Normal file
@ -0,0 +1,88 @@
|
||||
commit a0b9ef3b469ca23c6a3229d8abb967cbbddcee38
|
||||
Author: Peter Williams <peter@newton.cx>
|
||||
Date: Sat Dec 19 21:12:46 2015 -0500
|
||||
|
||||
Fix some weird template/operator issues on OS X.
|
||||
|
||||
I frankly don't understand at all what's going on here. These fixes
|
||||
derive from:
|
||||
|
||||
https://chromium.googlesource.com/chromiumos/third_party/dbus-cplusplus/+/c3f69f6be02e31521474dce7eadf6ba4f4a7ce94
|
||||
https://chromium.googlesource.com/chromiumos/third_party/dbus-cplusplus/+/7104857773f790a549d399715482fa23d9b736cd
|
||||
|
||||
Except I've dropped some changes that break the OS X build for me. Frankly, if
|
||||
it compiles, that's good enough for me.
|
||||
|
||||
diff --git a/include/dbus-c++/types.h b/include/dbus-c++/types.h
|
||||
index 044e72b..7b3108f 100644
|
||||
--- a/include/dbus-c++/types.h
|
||||
+++ b/include/dbus-c++/types.h
|
||||
@@ -89,13 +89,7 @@ public:
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
- operator T() const
|
||||
- {
|
||||
- T cast;
|
||||
- MessageIter ri = _msg.reader();
|
||||
- ri >> cast;
|
||||
- return cast;
|
||||
- }
|
||||
+ operator T() const;
|
||||
|
||||
private:
|
||||
|
||||
@@ -316,7 +310,7 @@ struct type< Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14,
|
||||
}
|
||||
};
|
||||
|
||||
-} /* namespace DBus */
|
||||
+extern DXXAPI DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Variant &val);
|
||||
|
||||
inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Invalid &)
|
||||
{
|
||||
@@ -551,6 +545,8 @@ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Signature
|
||||
return ++iter;
|
||||
}
|
||||
|
||||
+extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
|
||||
+
|
||||
template<typename E>
|
||||
inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, std::vector<E>& val)
|
||||
{
|
||||
@@ -644,7 +640,16 @@ inline DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Struct<T1,
|
||||
return ++iter;
|
||||
}
|
||||
|
||||
-extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
|
||||
+template <typename T>
|
||||
+inline DBus::Variant::operator T() const
|
||||
+{
|
||||
+ T cast;
|
||||
+ DBus::MessageIter ri = _msg.reader();
|
||||
+ ri >> cast;
|
||||
+ return cast;
|
||||
+}
|
||||
+
|
||||
+} /* namespace DBus */
|
||||
|
||||
#endif//__DBUSXX_TYPES_H
|
||||
|
||||
diff --git a/src/types.cpp b/src/types.cpp
|
||||
index d414a3e..70f9ac0 100644
|
||||
--- a/src/types.cpp
|
||||
+++ b/src/types.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "message_p.h"
|
||||
#include "internalerror.h"
|
||||
|
||||
-using namespace DBus;
|
||||
+namespace DBus {
|
||||
|
||||
Variant::Variant()
|
||||
: _msg(CallMessage()) // dummy message used as temporary storage for variant data
|
||||
@@ -104,3 +104,4 @@ MessageIter &operator >> (MessageIter &iter, Variant &val)
|
||||
return ++iter;
|
||||
}
|
||||
|
||||
+} /* namespace DBus */
|
||||
@ -1,6 +1,6 @@
|
||||
Name: dbus-c++
|
||||
Version: 0.9.0
|
||||
Release: 20
|
||||
Release: 21
|
||||
Summary: Native C++ bindings for D-Bus
|
||||
License: LGPLv2+
|
||||
URL: http://sourceforge.net/projects/dbus-cplusplus/
|
||||
@ -11,6 +11,7 @@ Patch0002: dbus-c++-linkfix.patch
|
||||
Patch0003: dbus-c++-macro_collision.patch
|
||||
Patch0004: dbus-c++-threading.patch
|
||||
Patch0005: dbus-c++-writechar.patch
|
||||
Patch0006: dbus-c++-template-operators.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}
|
||||
@ -57,5 +58,8 @@ export CPPFLAGS='-pthread %{optflags}' CXXFLAGS='--std=gnu++11 -pthread %{optfla
|
||||
%{_libdir}/pkgconfig/*
|
||||
|
||||
%changelog
|
||||
* Thu Jul 13 2023 liyanan <thistleslyn@163.com> - 0.9.0-21
|
||||
- fix build error
|
||||
|
||||
* Mon Dec 2 2019 lingsheng <lingsheng@huawei.com> - 0.9.0-20
|
||||
- Package init
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user