summaryrefslogtreecommitdiff
path: root/dev-libs/dbus-c++
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-libs/dbus-c++
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-libs/dbus-c++')
-rw-r--r--dev-libs/dbus-c++/Manifest1
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild75
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch22
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch38
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch89
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-gcc7.patch25
-rw-r--r--dev-libs/dbus-c++/metadata.xml9
7 files changed, 259 insertions, 0 deletions
diff --git a/dev-libs/dbus-c++/Manifest b/dev-libs/dbus-c++/Manifest
new file mode 100644
index 000000000000..036ee940747b
--- /dev/null
+++ b/dev-libs/dbus-c++/Manifest
@@ -0,0 +1 @@
+DIST libdbus-c++-0.9.0.tar.gz 466362 BLAKE2B 401e266286fef383754c945f3adcf8e68a1169e55d33614f1e11227c324fe1219db7043674b5894d548f827d0b673ab4f012babbb4a395c212f6e17ef6d0e281 SHA512 7acebbb4254b2886cc0f05c5ddeeeac0b5863c5552d32249463b89380b0b95b8225c80bd98b8c7fcaada42ab770b5eff41b15390cd0d78bf1ee322ac6c2de319
diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
new file mode 100644
index 000000000000..c3293610a63a
--- /dev/null
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal autotools virtualx
+
+DESCRIPTION="Provides a C++ API for D-BUS"
+HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
+SRC_URI="https://downloads.sourceforge.net/dbus-cplusplus/lib${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="doc ecore glib test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/expat
+ sys-apps/dbus[${MULTILIB_USEDEP}]
+ ecore? ( dev-libs/efl )
+ glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ dev-util/cppunit[${MULTILIB_USEDEP}]"
+BDEPEND="
+ virtual/pkgconfig
+ doc? ( app-text/doxygen )
+ test? ( sys-apps/dbus[X,${MULTILIB_USEDEP}] )"
+
+S="${WORKDIR}/lib${P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-4.7.patch #424707
+ "${FILESDIR}"/${PN}-gcc7.patch #622790
+ "${FILESDIR}"/${P}-gcc12.patch
+ "${FILESDIR}"/${PN}-0.9.0-enable-tests.patch #873487
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # TODO : add ecore multilib support if/when it is multilibified
+ ECONF_SOURCE="${S}" econf \
+ --disable-examples \
+ --disable-static \
+ $(multilib_native_use_enable doc doxygen-docs) \
+ $(multilib_native_use_enable ecore) \
+ $(use_enable glib) \
+ $(use_enable test tests) \
+ PTHREAD_LIBS=-lpthread
+ # ACX_PTHREAD sets PTHREAD_CFLAGS but not PTHREAD_LIBS for some reason...
+
+ if multilib_is_native_abi; then
+ # docs don't like out-of-source builds
+ local d
+ for d in img html; do
+ ln -s "${S}"/doc/${d} "${BUILD_DIR}"/doc/${d} || die
+ done
+ fi
+}
+
+src_test() {
+ virtx multilib-minimal_src_test
+}
+
+multilib_src_install_all() {
+ use doc && HTML_DOCS=( doc/html/. )
+ einstalldocs
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch
new file mode 100644
index 000000000000..827332c9f679
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-enable-tests.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/873487
+https://github.com/gentoo/gentoo/pull/27679
+
+diff --git a/test/functional/Test1/Makefile.am b/test/functional/Test1/Makefile.am
+index 3269751..50dd2a9 100644
+--- a/test/functional/Test1/Makefile.am
++++ b/test/functional/Test1/Makefile.am
+@@ -40,3 +40,4 @@ AM_CPPFLAGS =
+
+ ## File created by the gnome-build tools
+
++TESTS = $(noinst_PROGRAMS)
+diff --git a/test/generator/Makefile.am b/test/generator/Makefile.am
+index 6c2403d..c6781aa 100644
+--- a/test/generator/Makefile.am
++++ b/test/generator/Makefile.am
+@@ -38,3 +38,5 @@ dist-hook:
+
+ MAINTAINERCLEANFILES = \
+ Makefile.in
++
++TESTS = $(noinst_PROGRAMS)
diff --git a/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch
new file mode 100644
index 000000000000..2d5771717248
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc-4.7.patch
@@ -0,0 +1,38 @@
+sniped from ChromiumOS
+
+https://bugs.gentoo.org/424707
+
+From 154f7861d19a2bd5c79c488f9989610971db451b Mon Sep 17 00:00:00 2001
+From: Han Shen <shenhan@google.com>
+Date: Thu, 31 May 2012 16:49:35 -0700
+Subject: [PATCH] Fixed dbus-c++ gcc 4.7 building problem.
+
+Just add "unistd.h" inclusion to eventloop-integration.h.
+
+BUG=None
+TEST=Manually built using gcc 4.7.
+
+Change-Id: I87bd1f90db6a4c974a5ed8134044e8be2034aff2
+Reviewed-on: https://gerrit.chromium.org/gerrit/24260
+Tested-by: Han Shen <shenhan@google.com>
+Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
+Commit-Ready: Han Shen <shenhan@chromium.org>
+---
+ include/dbus-c++/eventloop-integration.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/include/dbus-c++/eventloop-integration.h b/include/dbus-c++/eventloop-integration.h
+index 5108340..1b56ab5 100644
+--- a/include/dbus-c++/eventloop-integration.h
++++ b/include/dbus-c++/eventloop-integration.h
+@@ -27,6 +27,7 @@
+
+ #include <cstring>
+ #include <errno.h>
++#include <unistd.h>
+ #include "api.h"
+ #include "dispatcher.h"
+ #include "util.h"
+--
+1.7.9.7
+
diff --git a/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch
new file mode 100644
index 000000000000..9c2b52453df9
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch
@@ -0,0 +1,89 @@
+https://src.fedoraproject.org/rpms/dbus-c++/blob/rawhide/f/dbus-c++-template-operators.patch
+https://bugs.gentoo.org/737120
+https://bugs.gentoo.org/740068
+
+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.
+
+--- 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
+
+--- 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 */
+
diff --git a/dev-libs/dbus-c++/files/dbus-c++-gcc7.patch b/dev-libs/dbus-c++/files/dbus-c++-gcc7.patch
new file mode 100644
index 000000000000..90809ea5838b
--- /dev/null
+++ b/dev-libs/dbus-c++/files/dbus-c++-gcc7.patch
@@ -0,0 +1,25 @@
+--- ./include/dbus-c++/dispatcher.h.old 2017-06-27 07:03:52.159413535 +0900
++++ ./include/dbus-c++/dispatcher.h 2017-06-27 07:04:04.974399195 +0900
+@@ -229,13 +229,8 @@
+ typedef Mutex *(*MutexNewFn)();
+ typedef void (*MutexUnlockFn)(Mutex *mx);
+
+-#ifndef DBUS_HAS_RECURSIVE_MUTEX
+-typedef bool (*MutexFreeFn)(Mutex *mx);
+-typedef bool (*MutexLockFn)(Mutex *mx);
+-#else
+ typedef void (*MutexFreeFn)(Mutex *mx);
+ typedef void (*MutexLockFn)(Mutex *mx);
+-#endif//DBUS_HAS_RECURSIVE_MUTEX
+
+ typedef CondVar *(*CondVarNewFn)();
+ typedef void (*CondVarFreeFn)(CondVar *cv);
+--- ./src/pipe.cpp.old 2017-06-27 07:00:17.275653653 +0900
++++ ./src/pipe.cpp 2017-06-27 07:00:23.537646665 +0900
+@@ -83,5 +83,5 @@
+ void Pipe::signal()
+ {
+ // TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
+- ::write(_fd_write, '\0', 1);
++ ::write(_fd_write, "\0", 1);
+ }
diff --git a/dev-libs/dbus-c++/metadata.xml b/dev-libs/dbus-c++/metadata.xml
new file mode 100644
index 000000000000..7062e2c2bae9
--- /dev/null
+++ b/dev-libs/dbus-c++/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="ecore">Use Ecore integration</flag>
+ <flag name="glib">Use glib integration</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>