[meta-oe] dbus-cxx: update to 2.1.0

Message ID 20211213013045.627351-1-open.source@oleksandr-kravchuk.com
State New
Headers show
Series [meta-oe] dbus-cxx: update to 2.1.0 | expand

Commit Message

Oleksandr Kravchuk Dec. 13, 2021, 1:30 a.m. UTC
Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
---
 .../{dbus-cxx_0.12.bb => dbus-cxx_2.1.0.bb}   | 14 ++++---
 .../0001-Include-typeinfo-for-typeid.patch    | 29 ++++++++++++++
 .../dbus-cxx/files/fix_build_musl.patch       | 38 ++++++-------------
 3 files changed, 49 insertions(+), 32 deletions(-)
 rename meta-oe/recipes-core/dbus-cxx/{dbus-cxx_0.12.bb => dbus-cxx_2.1.0.bb} (58%)
 create mode 100644 meta-oe/recipes-core/dbus-cxx/files/0001-Include-typeinfo-for-typeid.patch

Patch

diff --git a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb
similarity index 58%
rename from meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb
rename to meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb
index bf393cd87..1524f096f 100644
--- a/meta-oe/recipes-core/dbus-cxx/dbus-cxx_0.12.bb
+++ b/meta-oe/recipes-core/dbus-cxx/dbus-cxx_2.1.0.bb
@@ -1,22 +1,24 @@ 
 SUMMARY = "D-Bus wrapper in C++ for dbus"
 HOMEPAGE = "https://dbus-cxx.github.io/"
+BUGTRACKER = "https://github.com/libsigcplusplus/libsigcplusplus/issues"
 SECTION = "base"
 LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4cf0188f02184e1e84b9586ac53c3f83"
 
-FILEEXTRAPATHS:prepend = "${THISDIR}/files"
-SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https"
-SRC_URI += "file://fix_build_musl.patch"
-SRCREV = "ea7f8e361d11dc7d41d9ae2c4128aed2cdadd84e"
+SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https \
+           file://0001-Include-typeinfo-for-typeid.patch \
+"
+SRC_URI:append:libc-musl = "file://fix_build_musl.patch"
+SRCREV = "73532d6a5faae9c721c2cc9535b8ef32d4d18264"
 
 DEPENDS = "\
 	dbus \
-	libsigc++-2.0 \
+	libsigc++-3 \
 "
 
 RDEPENDS:${PN} = "\
 	dbus \
-	libsigc++-2.0 \
+	libsigc++-3 \
 "
 
 S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-core/dbus-cxx/files/0001-Include-typeinfo-for-typeid.patch b/meta-oe/recipes-core/dbus-cxx/files/0001-Include-typeinfo-for-typeid.patch
new file mode 100644
index 000000000..911787740
--- /dev/null
+++ b/meta-oe/recipes-core/dbus-cxx/files/0001-Include-typeinfo-for-typeid.patch
@@ -0,0 +1,29 @@ 
+From e262b6e7cc6271d71405f10c4817b9b3b2b95f05 Mon Sep 17 00:00:00 2001
+From: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
+Date: Mon, 13 Dec 2021 02:00:48 +0100
+Subject: [PATCH] Include typeinfo for typeid()
+
+Otherwise fails with:
+    error: must '#include <typeinfo>' before using 'typeid'
+
+Upstream-Status: Submitted
+[https://github.com/dbus-cxx/dbus-cxx/pull/83]
+---
+ dbus-cxx/demangle.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dbus-cxx/demangle.h b/dbus-cxx/demangle.h
+index b71bcb9..9a4e99b 100644
+--- a/dbus-cxx/demangle.h
++++ b/dbus-cxx/demangle.h
+@@ -21,6 +21,7 @@
+ #define DBUSCXX_DEMANGLE_H
+ 
+ #include <string>
++#include <typeinfo>
+ #include <dbus-cxx/dbus-cxx-config.h>
+ 
+ #if DBUS_CXX_HAS_CXXABI_H
+-- 
+2.25.1
+
diff --git a/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch b/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch
index 3d912e0b0..e55d987e4 100644
--- a/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch
+++ b/meta-oe/recipes-core/dbus-cxx/files/fix_build_musl.patch
@@ -1,26 +1,12 @@ 
-diff --git a/dbus-cxx/timeout.cpp b/dbus-cxx/timeout.cpp
-index 16e9f7e..aa0b99f 100644
---- a/dbus-cxx/timeout.cpp
-+++ b/dbus-cxx/timeout.cpp
-@@ -132,7 +132,7 @@ namespace DBus
-     return m_cobj;
-   }
- 
--  void Timeout::timer_callback_proxy( sigval_t sv ) {
-+  void Timeout::timer_callback_proxy( union sigval sv ) {
-     SIMPLELOGGER_DEBUG( "dbus.Timeout","Timeout::timer_callback_proxy" );
-     Timeout* t;
-     t = ( Timeout* ) sv.sival_ptr;
-diff --git a/dbus-cxx/timeout.h b/dbus-cxx/timeout.h
-index 1e469b5..5b69fbb 100644
---- a/dbus-cxx/timeout.h
-+++ b/dbus-cxx/timeout.h
-@@ -83,7 +83,7 @@ namespace DBus
- 
-       std::mutex m_arming_mutex;
- 
--      static void timer_callback_proxy( sigval_t sv );
-+      static void timer_callback_proxy( union sigval sv );
- 
-   };
- 
+diff --git a/dbus-cxx/sasl.cpp b/dbus-cxx/sasl.cpp
+index e8a6060..7a76af6 100644
+--- a/dbus-cxx/sasl.cpp
++++ b/dbus-cxx/sasl.cpp
+@@ -70,7 +70,7 @@ std::tuple<bool, bool, std::vector<uint8_t>> SASL::authenticate() {
+     bool success = false;
+     bool negotiatedFD = false;
+     std::vector<uint8_t> serverGUID;
+-    __uid_t uid = getuid();
++    uid_t uid = getuid();
+     std::string line;
+     std::smatch regex_match;