summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim@guixotic.coop>2025-07-21 16:49:09 +0900
committerMaxim Cournoyer <maxim@guixotic.coop>2025-07-22 00:42:19 +0900
commit9b9120dcad9b95be9dfec5a4ca3536dbe6cfd8c4 (patch)
tree88373e94de2a83c23866cd6e9fdd0d274619aa92
parent1e37255969f743b503c5252d2a2bbbc3276f618e (diff)
gnu: libjami: Fix build with GCC 14, building with sdbus-cpp v2.1.0.
* gnu/packages/patches/libjami-sdbus-cpp-v2.patch: New patch. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/jami.scm (libjami): Apply it. [inputs]: Replace sdbus-c++-1.4 with sdbus-c++. Change-Id: Ib123cb84a4ffa241ae3c6bcdff0d97884732c173
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/jami.scm5
-rw-r--r--gnu/packages/patches/libjami-sdbus-cpp-v2.patch144
3 files changed, 148 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f1a9e940c6..e1b2003842 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1761,6 +1761,7 @@ dist_patch_DATA = \
%D%/packages/patches/libgnomeui-utf8.patch \
%D%/packages/patches/libgrss-CVE-2016-2001.patch \
%D%/packages/patches/libjami-ac-config-files.patch \
+ %D%/packages/patches/libjami-sdbus-cpp-v2.patch \
%D%/packages/patches/libjxr-fix-function-signature.patch \
%D%/packages/patches/libjxr-fix-typos.patch \
%D%/packages/patches/libofa-ftbfs-1.diff \
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index f8b7a4345f..e5a0798991 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -96,7 +96,8 @@
(base32
"136hiippjfbyp4h3pf68kh3cyw6r2idjgq7vj1h9sdipc87a1a2r"))
(patches (search-patches
- "libjami-ac-config-files.patch"))))
+ "libjami-ac-config-files.patch"
+ "libjami-sdbus-cpp-v2.patch"))))
(outputs '("out" "bin" "debug")) ;"bin' contains jamid
(build-system gnu-build-system)
(arguments
@@ -158,7 +159,7 @@
openssl
pjproject-jami
pulseaudio
- sdbus-c++-1.4.0
+ sdbus-c++
speex
speexdsp
webrtc-audio-processing-0.3
diff --git a/gnu/packages/patches/libjami-sdbus-cpp-v2.patch b/gnu/packages/patches/libjami-sdbus-cpp-v2.patch
new file mode 100644
index 0000000000..3a6460d380
--- /dev/null
+++ b/gnu/packages/patches/libjami-sdbus-cpp-v2.patch
@@ -0,0 +1,144 @@
+Upstream-status: <https://review.jami.net/c/jami-daemon/+/31504>
+
+diff --git a/bin/dbus/dbuscallmanager.hpp b/bin/dbus/dbuscallmanager.hpp
+index b79e0cd6f..918d8bc30 100644
+--- a/bin/dbus/dbuscallmanager.hpp
++++ b/bin/dbus/dbuscallmanager.hpp
+@@ -23,7 +23,7 @@ class DBusCallManager : public sdbus::AdaptorInterfaces<cx::ring::Ring::CallMana
+ {
+ public:
+ DBusCallManager(sdbus::IConnection& connection)
+- : AdaptorInterfaces(connection, "/cx/ring/Ring/CallManager")
++ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/CallManager"))
+ {
+ registerAdaptor();
+ registerSignalHandlers();
+diff --git a/bin/dbus/dbusconfigurationmanager.hpp b/bin/dbus/dbusconfigurationmanager.hpp
+index a6bb8e4e9..895c7690d 100644
+--- a/bin/dbus/dbusconfigurationmanager.hpp
++++ b/bin/dbus/dbusconfigurationmanager.hpp
+@@ -33,7 +33,7 @@ public:
+ std::vector<std::map<std::string, std::string>>,
+ std::map<std::string, int32_t>>;
+ DBusConfigurationManager(sdbus::IConnection& connection)
+- : AdaptorInterfaces(connection, "/cx/ring/Ring/ConfigurationManager")
++ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/ConfigurationManager"))
+ {
+ registerAdaptor();
+ registerSignalHandlers();
+diff --git a/bin/dbus/dbusinstance.hpp b/bin/dbus/dbusinstance.hpp
+index d45c033e1..184fd2c7d 100644
+--- a/bin/dbus/dbusinstance.hpp
++++ b/bin/dbus/dbusinstance.hpp
+@@ -28,7 +28,7 @@ class DBusInstance : public sdbus::AdaptorInterfaces<cx::ring::Ring::Instance_ad
+ {
+ public:
+ DBusInstance(sdbus::IConnection& connection)
+- : AdaptorInterfaces(connection, "/cx/ring/Ring/Instance")
++ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/Instance"))
+ {
+ registerAdaptor();
+ }
+diff --git a/bin/dbus/dbuspluginmanagerinterface.hpp b/bin/dbus/dbuspluginmanagerinterface.hpp
+index c063a9903..132674e9f 100644
+--- a/bin/dbus/dbuspluginmanagerinterface.hpp
++++ b/bin/dbus/dbuspluginmanagerinterface.hpp
+@@ -23,7 +23,7 @@ class DBusPluginManagerInterface : public sdbus::AdaptorInterfaces<cx::ring::Rin
+ {
+ public:
+ DBusPluginManagerInterface(sdbus::IConnection& connection)
+- : AdaptorInterfaces(connection, "/cx/ring/Ring/PluginManagerInterface")
++ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/PluginManagerInterface"))
+ {
+ registerAdaptor();
+ registerSignalHandlers();
+diff --git a/bin/dbus/dbuspresencemanager.hpp b/bin/dbus/dbuspresencemanager.hpp
+index ca8ba7f2a..27b93eee4 100644
+--- a/bin/dbus/dbuspresencemanager.hpp
++++ b/bin/dbus/dbuspresencemanager.hpp
+@@ -23,7 +23,7 @@ class DBusPresenceManager : public sdbus::AdaptorInterfaces<cx::ring::Ring::Pres
+ {
+ public:
+ DBusPresenceManager(sdbus::IConnection& connection)
+- : AdaptorInterfaces(connection, "/cx/ring/Ring/PresenceManager")
++ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/PresenceManager"))
+ {
+ registerAdaptor();
+ registerSignalHandlers();
+diff --git a/bin/dbus/dbusvideomanager.hpp b/bin/dbus/dbusvideomanager.hpp
+index 7fbca2492..96f73e99b 100644
+--- a/bin/dbus/dbusvideomanager.hpp
++++ b/bin/dbus/dbusvideomanager.hpp
+@@ -23,7 +23,7 @@ class DBusVideoManager : public sdbus::AdaptorInterfaces<cx::ring::Ring::VideoMa
+ {
+ public:
+ DBusVideoManager(sdbus::IConnection& connection)
+- : AdaptorInterfaces(connection, "/cx/ring/Ring/VideoManager")
++ : AdaptorInterfaces(connection, sdbus::ObjectPath("/cx/ring/Ring/VideoManager"))
+ {
+ registerAdaptor();
+ registerSignalHandlers();
+diff --git a/bin/dbus/main.cpp b/bin/dbus/main.cpp
+index ee8a349cc..4d7adc95e 100644
+--- a/bin/dbus/main.cpp
++++ b/bin/dbus/main.cpp
+@@ -180,7 +180,7 @@ main(int argc, char *argv [])
+ }
+
+ try {
+- connection = sdbus::createSessionBusConnection("cx.ring.Ring");
++ connection = sdbus::createSessionBusConnection(sdbus::ServiceName("cx.ring.Ring"));
+ DBusCallManager callManager(*connection);
+ DBusConfigurationManager configurationManager(*connection);
+ DBusInstance instanceManager(*connection);
+diff --git a/configure.ac b/configure.ac
+index 66e52ee62..68de32497 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -420,7 +420,7 @@ AC_ARG_WITH([dbus],
+ [],
+ [with_dbus=yes])
+ AS_IF([test "x$with_dbus" = "xyes"],
+- [PKG_CHECK_MODULES(SDBUSCPP, [sdbus-c++],,
++ [PKG_CHECK_MODULES(SDBUSCPP, [sdbus-c++ >= 2.0.0],,
+ AC_MSG_ERROR([sdbus-c++ not found]))
+
+ AC_CONFIG_FILES([bin/dbus/Makefile])
+diff --git a/contrib/src/sdbus-cpp/SHA512SUMS b/contrib/src/sdbus-cpp/SHA512SUMS
+index a48ebec1c..009d0b81b 100644
+--- a/contrib/src/sdbus-cpp/SHA512SUMS
++++ b/contrib/src/sdbus-cpp/SHA512SUMS
+@@ -1 +1 @@
+-dab2c4d9a5ea6d626672a5a6ee6f3490c60c6fdd160769801a4d6b4cf3df4983fad57ff0230132a5d637ec78a55993200ce217fa89461016e101865cc2777d7d sdbus-cpp-1.2.0.tar.gz
++4247d49f0d5231e2768c0c96fa9c266bbcc340292c9c3d748f9c37ff992b82301faea798300f916e9a5c992d77adfe56186866c91a4c7d4157750ff09ba5a047 sdbus-cpp-2.1.0.tar.gz
+diff --git a/contrib/src/sdbus-cpp/rules.mak b/contrib/src/sdbus-cpp/rules.mak
+index 397d18d3b..d00fa97ca 100644
+--- a/contrib/src/sdbus-cpp/rules.mak
++++ b/contrib/src/sdbus-cpp/rules.mak
+@@ -1,4 +1,4 @@
+-SDBUS_CPP_VERSION := 1.2.0
++SDBUS_CPP_VERSION := 2.1.0
+ SDBUS_CPP_URL := https://github.com/Kistler-Group/sdbus-cpp/archive/refs/tags/v$(SDBUS_CPP_VERSION).tar.gz
+
+ ifdef HAVE_LINUX
+@@ -7,17 +7,14 @@ PKGS += sdbus-cpp
+ endif
+ endif
+
+-ifeq ($(call need_pkg,"sdbus-c++ >= 1.2.0"),)
++ifeq ($(call need_pkg,"sdbus-c++ >= 2.0.0"),)
+ PKGS_FOUND += sdbus-cpp
+ endif
+
+ SDBUS_CPP_CMAKECONF := -D CMAKE_BUILD_TYPE=Release \
+ -D BUILD_SHARED_LIBS=OFF \
+- -D BUILD_CODE_GEN=ON \
+- -D BUILD_LIBSYSTEMD=OFF \
+- -D BUILD_TESTS=OFF \
+- -D BUILD_EXAMPLES=OFF \
+- -D BUILD_DOC=OFF
++ -D SDBUSCPP_BUILD_CODEGEN=ON \
++ -D SDBUSCPP_BUILD_DOCS=OFF
+
+ $(TARBALLS)/sdbus-cpp-$(SDBUS_CPP_VERSION).tar.gz:
+ $(call download,$(SDBUS_CPP_URL))