summaryrefslogtreecommitdiff
path: root/dev-libs/dbus-c++
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-06-29 12:04:12 +0100
commit0f558761aa2dee1017b4751e4017205e015a9560 (patch)
tree037df795519468a25d9362b4e95cdaeb84eb1cf9 /dev-libs/dbus-c++
parent752d6256e5204b958b0ef7905675a940b5e9172f (diff)
gentoo resync : 29.12.2022
Diffstat (limited to 'dev-libs/dbus-c++')
-rw-r--r--dev-libs/dbus-c++/Manifest2
-rw-r--r--dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild64
-rw-r--r--dev-libs/dbus-c++/files/dbus-c++-0.9.0-gcc12.patch89
3 files changed, 155 insertions, 0 deletions
diff --git a/dev-libs/dbus-c++/Manifest b/dev-libs/dbus-c++/Manifest
index af47e5cc0d83..e243ec94c156 100644
--- a/dev-libs/dbus-c++/Manifest
+++ b/dev-libs/dbus-c++/Manifest
@@ -1,5 +1,7 @@
AUX dbus-c++-0.9.0-gcc-4.7.patch 1073 BLAKE2B 2cc43e4d23c14646adfffae77bc1168b69d4e3e2049ae8d3b5283d41f8214fd6884500fc014b66dfbc86dc1928c7e5c33024833e4b2bb28ddad6d17e443db2d1 SHA512 3625f7473db8ee069009655f5c8b68bd7290d622be56ace8e1472bd93b0a946a000bf0d728839cd6309414cbcb925247bfee888bb58fda8316e906fe5a8e25b2
+AUX dbus-c++-0.9.0-gcc12.patch 2555 BLAKE2B 4c8d9740a200eb1a0060dd0c3684cf8fc24c61cb5db9bfefdf353f73b1e62b6e84df140e0b05091bd4a1f94786c3f3a980fb0369c5b2fe7acfdcd36e9fcccc50 SHA512 0e73e8295a8d88988fac65b43b44ffa380721881c5bc1af05267a12d856ad752f241ffab3e7de10c17d1dd0a71d006b7de5f327b10cf4150de2fb67633d236bc
AUX dbus-c++-gcc7.patch 891 BLAKE2B e3f1c902b52cbec776849c86d2d4c7a13acbc907355c380cad7eabdfe670d9058a1ddd3687af9bcbbd4d815affea21728d8296f5a87122bc6b5fc99396ea0428 SHA512 b8c67af11620c2414d482cb3d77784f7c9831e64e0bc9cb9b946e13b0ad13135f06cfb894667fb9b184e6fc7e750df0769a2d4c09df4f430c2189c2c3804fbae
DIST libdbus-c++-0.9.0.tar.gz 466362 BLAKE2B 401e266286fef383754c945f3adcf8e68a1169e55d33614f1e11227c324fe1219db7043674b5894d548f827d0b673ab4f012babbb4a395c212f6e17ef6d0e281 SHA512 7acebbb4254b2886cc0f05c5ddeeeac0b5863c5552d32249463b89380b0b95b8225c80bd98b8c7fcaada42ab770b5eff41b15390cd0d78bf1ee322ac6c2de319
EBUILD dbus-c++-0.9.0-r4.ebuild 1539 BLAKE2B aaa663650fd9946ae8c86017ad580aad58a0ff2b9d8ad96b02513afc55140a80c91443be935aed33556456b905e7bab67fa3683629d09ea9737c681c2efd1bd4 SHA512 7cc9abda1a97042fe011ae6dca6a002ca62726286d35ae0f929352d023caa3cd00b4fe6810e776482d2565538d92772417a8a29b3c27c0bc90579e8f1df2ee15
+EBUILD dbus-c++-0.9.0-r5.ebuild 1589 BLAKE2B 0191a6c6f22374da733d6073136772e8eafba172fba41107a670d866884a87d07a3b223c9c48e77a658817d662761ca175d7d6641b83ca5e83d5f69a90e8721e SHA512 d851f8efc3d00651dd87d78c987f3982179649e8e223246671f6c0e2b0442af54b3b10fc0fd23ae121ccda7dac37ca37f90466f5683433710b8374c6117f9fa0
MISC metadata.xml 365 BLAKE2B 0522c37f8ab0c117b0d65e7c5e198a05644bc2332b837569a1665f60147453937bc6f9db546f341f2d9f48b61078e41dd35e0b71539cb29808365091b3a4c758 SHA512 446fe1ccce403eeb4f46c114fdb3f7d9bfaf845849873f2c9807781980c20b226160bfc8d3b039629ad4649119c7d22032bf095cdfd5636db5460fc8a541ca23
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..bd749ca5481f
--- /dev/null
+++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-minimal
+
+DESCRIPTION="Provides a C++ API for D-BUS"
+HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/"
+SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~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-doc/doxygen )"
+
+S="${WORKDIR}/lib${P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc-4.7.patch #424707
+ "${FILESDIR}"/${PN}-gcc7.patch #622790
+ "${FILESDIR}"/${P}-gcc12.patch
+)
+
+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
+}
+
+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-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 */
+