libdbus-c++: update to 0.9.1pw

Enable cross build and change distfiles to use the fork
at https://github.com/pkgw/dbus-cplusplus.

Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
This commit is contained in:
Jürgen Buchmüller 2018-03-18 17:56:57 +01:00 committed by Enno Boland
parent 91f5973981
commit fcc85e5c21
5 changed files with 61 additions and 35 deletions

View file

@ -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

View file

@ -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
{

View file

@ -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 <cassert>
#include <sys/poll.h>
#include <fcntl.h>
+#include <unistd.h>
using namespace DBus;
using namespace std;

View file

@ -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);
}

View file

@ -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 <mail@duncano.de>"
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"