diff --git a/srcpkgs/libdbus-c++/patches/cross-tools.patch b/srcpkgs/libdbus-c++/patches/cross-tools.patch new file mode 100644 index 0000000000..818a6af45b --- /dev/null +++ b/srcpkgs/libdbus-c++/patches/cross-tools.patch @@ -0,0 +1,21 @@ +--- tools/Makefile.am 2018-03-18 17:20:02.221259868 +0100 ++++ tools/Makefile.am 2018-03-18 17:19:53.192259402 +0100 +@@ -1,6 +1,9 @@ + # hacky, but ... + + CXX = $(CXX_FOR_BUILD) ++CFLAGS=$(CFLAGS_FOR_BUILD) ++CXXFLAGS=$(CXXFLAGS_FOR_BUILD) ++LDFLAGS=$(LDFLAGS_FOR_BUILD) + + AM_CPPFLAGS = \ + $(dbus_CFLAGS) \ +@@ -13,7 +13,7 @@ + -Wall + + if CROSS_COMPILING +-libdbus_cxx_la = $(BUILD_LIBDBUS_CXX_DIR)/src/libdbus-c++-1.la ++libdbus_cxx_la = /usr/lib/libdbus-c++-1.so + else + libdbus_cxx_la = $(top_builddir)/src/libdbus-c++-1.la + endif diff --git a/srcpkgs/libdbus-c++/patches/fix-mutex-init.patch b/srcpkgs/libdbus-c++/patches/fix-mutex-init.patch deleted file mode 100644 index 85156d9798..0000000000 --- a/srcpkgs/libdbus-c++/patches/fix-mutex-init.patch +++ /dev/null @@ -1,18 +0,0 @@ -Use a portable way to initialize a recursive mutex. - ---- src/eventloop.cpp 2011-11-28 16:03:19.000000000 +0100 -+++ src/eventloop.cpp 2015-12-20 11:17:56.774568824 +0100 -@@ -85,8 +85,11 @@ - { - if (recursive) - { -- pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP; -- _mutex = recmutex; -+ pthread_mutexattr_t attr; -+ pthread_mutexattr_init(&attr); -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); -+ pthread_mutex_init(&_mutex, &attr); -+ pthread_mutexattr_destroy(&attr); - } - else - { diff --git a/srcpkgs/libdbus-c++/patches/gcc47.patch b/srcpkgs/libdbus-c++/patches/gcc47.patch deleted file mode 100644 index 6a82773006..0000000000 --- a/srcpkgs/libdbus-c++/patches/gcc47.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- src/eventloop-integration.cpp.orig 2012-05-09 11:22:09.683290763 +0200 -+++ src/eventloop-integration.cpp 2012-05-09 11:22:44.313288912 +0200 -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - using namespace DBus; - using namespace std; diff --git a/srcpkgs/libdbus-c++/patches/gcc73.patch b/srcpkgs/libdbus-c++/patches/gcc73.patch new file mode 100644 index 0000000000..e7e4716297 --- /dev/null +++ b/srcpkgs/libdbus-c++/patches/gcc73.patch @@ -0,0 +1,9 @@ +--- src/pipe.cpp 2015-12-20 03:04:02.000000000 +0100 ++++ src/pipe.cpp 2018-03-18 17:02:24.834205318 +0100 +@@ -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/srcpkgs/libdbus-c++/template b/srcpkgs/libdbus-c++/template index adf90bb9ff..5b77f95fae 100644 --- a/srcpkgs/libdbus-c++/template +++ b/srcpkgs/libdbus-c++/template @@ -1,19 +1,43 @@ # Template file for 'libdbus-c++' pkgname=libdbus-c++ -version=0.9.0 -revision=3 +version=0.9.1pw +revision=1 +wrksrc="${pkgname//+/-}-${version}" build_style=gnu-configure configure_args="--enable-glib --disable-ecore" -hostmakedepends="autoconf automake pkg-config" +hostmakedepends="automake libtool pkg-config" makedepends="dbus-devel glib-devel" short_desc="A C++ API for D-BUS" maintainer="Duncaen " license="LGPL-2" homepage="http://dbus-cplusplus.sourceforge.net/" -distfiles="${SOURCEFORGE_SITE}/dbus-cplusplus/$pkgname-$version.tar.gz" -checksum=bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61 -LDFLAGS+="-lexpat -lpthread" -nocross=yes +distfiles="https://github.com/pkgw/dbus-cplusplus/releases/download/v${version}/libdbus-c---${version}.tar.gz" +checksum=a762af8fbee01434f925ce8c3140cb43088390d5cab492e802fe6873d809cc6c + +if [ -n "$CROSS_BUILD" ]; then + hostmakedepends+=" libdbus-c++-devel dbus-devel glib-devel" +fi + +pre_configure() { + NOCONFIGURE=1 autoreconf -fi +} + +post_install() { + if [ -n "$CROSS_BUILD" ]; then + # Re-build tools for the target architecture + sed -i tools/Makefile \ + -e "s;^\(CXX =\).*;\1 $CXX;" \ + -e "s;^\(CFLAGS =\).*;\1 $CFLAGS;" \ + -e "s;^\(CXXFLAGS =\).*;\1 $CXXFLAGS;" \ + -e "s;^\(LDFLAGS =\).*;\1 $LDFLAGS;" \ + -e "/^libdbus_cxx_la/d" \ + -e "s;#\(libdbus_cxx_la = .*\);\1;" + make -C tools clean + make -C tools ${makejobs} + vbin tools/dbusxx-xml2cpp + vbin tools/dbusxx-introspect + fi +} libdbus-c++-devel_package() { short_desc+=" - development files"