[arch-commits] Commit in dbus-c++/trunk (PKGBUILD template-operators.patch)

Bruno Pagani archange at gemini.archlinux.org
Sun May 15 16:52:25 UTC 2022


    Date: Sunday, May 15, 2022 @ 16:52:25
  Author: archange
Revision: 1207472

upgpkg: dbus-c++ 0.9.0-10

Add patch for GCC12 compat.
>From https://github.com/pkgw/dbus-cplusplus/commit/a0b9ef3b469ca23c6a3229d8abb967cbbddcee38

Added:
  dbus-c++/trunk/template-operators.patch
Modified:
  dbus-c++/trunk/PKGBUILD

--------------------------+
 PKGBUILD                 |   11 +++--
 template-operators.patch |   88 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 95 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-05-15 16:38:18 UTC (rev 1207471)
+++ PKGBUILD	2022-05-15 16:52:25 UTC (rev 1207472)
@@ -7,10 +7,10 @@
 _pkgname="lib${pkgname}"
 _upstream="dbus-cplusplus"
 pkgver=0.9.0
-pkgrel=9
+pkgrel=10
 pkgdesc="A C++ API for D-BUS"
+arch=('x86_64')
 url="http://dbus-cplusplus.sourceforge.net/"
-arch=('x86_64')
 license=('LGPL2.1')
 depends=('dbus' 'gcc-libs' 'glib2' 'glibc')
 provides=('libdbus-c++-1.so' 'libdbus-c++-glib-1.so')
@@ -17,11 +17,13 @@
 source=("https://sourceforge.net/projects/${_upstream}/files/${pkgname}/${pkgver}/${_pkgname}-${pkgver}.tar.gz"
         'gcc47.patch'
         'disable-threading.patch'
-        'fix-writechar.patch')
+        'fix-writechar.patch'
+        'template-operators.patch')
 sha512sums=('7acebbb4254b2886cc0f05c5ddeeeac0b5863c5552d32249463b89380b0b95b8225c80bd98b8c7fcaada42ab770b5eff41b15390cd0d78bf1ee322ac6c2de319'
             'd8618e1eafd25be074ffecf958fbc04f1b2a844c865ec2d795565809a5d11e7f60c1a8c3a6d952b1485af6b199753b36c06f1759a5559274eed55cf5e6585e20'
             '94d95089ea84af1438191285955bf0866a7d7cbe535ac7fb8282ef6fb96c4ee052f439fb8c9d0b18b9ebec65d39cc45754bb48192ffb46c3d0c4ed6b1b6693a6'
-            'df0a3a80d139877eaea5f352da5dfa2bc0407360ddfb59301707c77bd4329ecd986f366f27bbdd7e4ce385125c6ec46fcf115854aa01d97cf11dff905cd9a385')
+            'df0a3a80d139877eaea5f352da5dfa2bc0407360ddfb59301707c77bd4329ecd986f366f27bbdd7e4ce385125c6ec46fcf115854aa01d97cf11dff905cd9a385'
+            'af8e6281e6eb9c94cae7e8feaf8a8d7b653e4b394f9cc72fa381f647bc9c891906007dd06f55c89449396c5efd84656fe71ff453c7023cabfaad15a23f0b8a86')
 
 prepare() {
   cd "${_pkgname}-${pkgver}"
@@ -28,6 +30,7 @@
   patch -Np0 -i "${srcdir}/gcc47.patch"
   patch -Np1 -i "${srcdir}/disable-threading.patch"
   patch -Np1 -i "${srcdir}/fix-writechar.patch"
+  patch -Np1 -i "${srcdir}/template-operators.patch"
   autoreconf -vfi
 }
 

Added: template-operators.patch
===================================================================
--- template-operators.patch	                        (rev 0)
+++ template-operators.patch	2022-05-15 16:52:25 UTC (rev 1207472)
@@ -0,0 +1,88 @@
+commit a0b9ef3b469ca23c6a3229d8abb967cbbddcee38
+Author: Peter Williams <peter at 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 */



More information about the arch-commits mailing list