Use upstream fix for operator overloading.
Adds two symbols previously undefined on ld.lld archs, and fixes build with ld.bfd on sparc64 (and probably powerpc). ok stsp@
This commit is contained in:
parent
acdac96af8
commit
b24fb0b4e0
@ -1,10 +1,14 @@
|
||||
# $OpenBSD: Makefile,v 1.3 2019/07/12 20:51:15 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.4 2020/04/09 13:26:13 jca Exp $
|
||||
|
||||
COMMENT = C++ API for dbus
|
||||
DISTNAME = libdbus-c++-0.9.0
|
||||
SHARED_LIBS = dbus-c++-1 0.0 \
|
||||
REVISION = 0
|
||||
|
||||
SHARED_LIBS = dbus-c++-1 0.1 \
|
||||
dbus-c++-glib-1 0.0
|
||||
|
||||
CATEGORIES = x11 devel
|
||||
|
||||
HOMEPAGE = http://dbus-cplusplus.sourceforge.net/
|
||||
|
||||
# LGPLv2.1+
|
||||
|
@ -1,21 +1,57 @@
|
||||
$OpenBSD: patch-include_dbus-c++_types_h,v 1.1.1.1 2019/03/13 10:52:51 stsp Exp $
|
||||
$OpenBSD: patch-include_dbus-c++_types_h,v 1.2 2020/04/09 13:26:13 jca Exp $
|
||||
|
||||
Fix build failure due to symbols not being declared in the DBus namespace.
|
||||
https://github.com/andreas-volz/dbus-cplusplus/commit/a0b9ef3b469ca23c6a3229d8abb967cbbddcee38
|
||||
|
||||
Index: include/dbus-c++/types.h
|
||||
--- include/dbus-c++/types.h.orig
|
||||
+++ include/dbus-c++/types.h
|
||||
@@ -316,8 +316,6 @@ struct type< Struct<T1, T2, T3, T4, T5, T6, T7, T8, T9
|
||||
@@ -89,13 +89,7 @@ class DXXAPI Variant (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
|
||||
}
|
||||
};
|
||||
|
||||
-} /* namespace DBus */
|
||||
-
|
||||
+extern DXXAPI DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Variant &val);
|
||||
|
||||
inline DBus::MessageIter &operator << (DBus::MessageIter &iter, const DBus::Invalid &)
|
||||
{
|
||||
return iter;
|
||||
@@ -645,6 +643,8 @@ inline DBus::MessageIter &operator >> (DBus::MessageIt
|
||||
@@ -551,6 +545,8 @@ inline DBus::MessageIter &operator >> (DBus::MessageIt
|
||||
return ++iter;
|
||||
}
|
||||
|
||||
extern DXXAPI DBus::MessageIter &operator >> (DBus::MessageIter &iter, DBus::Variant &val);
|
||||
+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::MessageIt
|
||||
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 */
|
||||
|
||||
|
22
x11/libdbus-c++/patches/patch-src_types_cpp
Normal file
22
x11/libdbus-c++/patches/patch-src_types_cpp
Normal file
@ -0,0 +1,22 @@
|
||||
$OpenBSD: patch-src_types_cpp,v 1.1 2020/04/09 13:26:13 jca Exp $
|
||||
|
||||
Fix build failure due to symbols not being declared in the DBus namespace.
|
||||
https://github.com/andreas-volz/dbus-cplusplus/commit/a0b9ef3b469ca23c6a3229d8abb967cbbddcee38
|
||||
|
||||
Index: src/types.cpp
|
||||
--- src/types.cpp.orig
|
||||
+++ 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 &
|
||||
return ++iter;
|
||||
}
|
||||
|
||||
+} /* namespace DBus */
|
Loading…
Reference in New Issue
Block a user