From 9ed232ebdf0132c5b0ac4d0adfc5959df72bead2 Mon Sep 17 00:00:00 2001 From: Alexis Ballier Date: Tue, 27 Jun 2017 11:15:30 +0200 Subject: dev-libs/dbus-c++: add gcc7 fix, bug #622790 by Hector Martin Package-Manager: Portage-2.3.6, Repoman-2.3.2 --- dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild | 62 ---------------------------- dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild | 63 +++++++++++++++++++++++++++++ dev-libs/dbus-c++/files/dbus-c++-gcc7.patch | 25 ++++++++++++ 3 files changed, 88 insertions(+), 62 deletions(-) delete mode 100644 dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild create mode 100644 dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild create mode 100644 dev-libs/dbus-c++/files/dbus-c++-gcc7.patch (limited to 'dev-libs/dbus-c++') diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild deleted file mode 100644 index 76a0a00186ac..000000000000 --- a/dev-libs/dbus-c++/dbus-c++-0.9.0-r2.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="5" - -AUTOTOOLS_PRUNE_LIBTOOL_FILES="modules" - -inherit autotools-multilib - -DESCRIPTION="Provides a C++ API for D-BUS" -HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/ https://sourceforge.net/apps/mediawiki/dbus-cplusplus/index.php?title=Main_Page" -SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz" - -LICENSE="LGPL-2.1+" -SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~x86" -IUSE="doc ecore glib static-libs test" - -RDEPEND="sys-apps/dbus[${MULTILIB_USEDEP}] - ecore? ( dev-libs/efl ) - glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )" -DEPEND="${RDEPEND} - doc? ( app-doc/doxygen ) - dev-util/cppunit[${MULTILIB_USEDEP}] - virtual/pkgconfig" - -S=${WORKDIR}/lib${P} - -PATCHES=( - "${FILESDIR}"/${P}-gcc-4.7.patch #424707 -) - -multilib_src_configure() { - # not just using autotools-multilib_src_configure because of multilib_native... logic - - # TODO : add ecore multilib support if/when it is multilibified - ECONF_SOURCE="${S}" econf \ - --disable-examples \ - $(multilib_native_use_enable doc doxygen-docs) \ - $(multilib_native_use_enable ecore) \ - $(use_enable glib) \ - $(use_enable static-libs static) \ - $(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() { - einstalldocs - - if use doc; then - dohtml -r "${S}"/doc/html/* - fi -} diff --git a/dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild b/dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild new file mode 100644 index 000000000000..f0d11b35b358 --- /dev/null +++ b/dev-libs/dbus-c++/dbus-c++-0.9.0-r3.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +AUTOTOOLS_PRUNE_LIBTOOL_FILES="modules" + +inherit autotools-multilib + +DESCRIPTION="Provides a C++ API for D-BUS" +HOMEPAGE="https://sourceforge.net/projects/dbus-cplusplus/ https://sourceforge.net/apps/mediawiki/dbus-cplusplus/index.php?title=Main_Page" +SRC_URI="mirror://sourceforge/dbus-cplusplus/lib${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ppc ~x86" +IUSE="doc ecore glib static-libs test" + +RDEPEND="sys-apps/dbus[${MULTILIB_USEDEP}] + ecore? ( dev-libs/efl ) + glib? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + dev-util/cppunit[${MULTILIB_USEDEP}] + virtual/pkgconfig" + +S=${WORKDIR}/lib${P} + +PATCHES=( + "${FILESDIR}"/${P}-gcc-4.7.patch #424707 + "${FILESDIR}"/${PN}-gcc7.patch #622790 +) + +multilib_src_configure() { + # not just using autotools-multilib_src_configure because of multilib_native... logic + + # TODO : add ecore multilib support if/when it is multilibified + ECONF_SOURCE="${S}" econf \ + --disable-examples \ + $(multilib_native_use_enable doc doxygen-docs) \ + $(multilib_native_use_enable ecore) \ + $(use_enable glib) \ + $(use_enable static-libs static) \ + $(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() { + einstalldocs + + if use doc; then + dohtml -r "${S}"/doc/html/* + fi +} 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); + } -- cgit v1.2.3-65-gdbad