From 1531469d14e9ea5327f99b71351e4fda3083ce39 Mon Sep 17 00:00:00 2001 From: Naoto Yamaguchi Date: Thu, 22 Dec 2016 21:19:54 +0900 Subject: [PATCH] Backport libdbusc++ from poky upstream This patch adds libdbusc ++ to AGL Distro. It is required for navigation API for CES demo. Since this patch should be deleted in the future, add it in meta-agl-demo. Change-Id: I4c8ef43f41f21e64646cb65367e8954dd718bd44 Signed-off-by: Naoto Yamaguchi --- ...op.cpp-use-portable-method-for-initializi.patch | 36 ++++++++++ ...ate_proxy.cpp-avoid-possibly-undefined-ui.patch | 58 ++++++++++++++++ ...efined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch | 30 +++++++++ ...04-use-POSIX-poll.h-instead-of-sys-poll.h.patch | 77 ++++++++++++++++++++++ .../fix-missing-unistd.h-include.patch | 40 +++++++++++ .../remove-CXX_FOR_BUILD-stuff.patch | 33 ++++++++++ recipes-core/dbus/libdbus-c++_0.9.0.bb | 29 ++++++++ 7 files changed, 303 insertions(+) create mode 100644 recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch create mode 100644 recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch create mode 100644 recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch create mode 100644 recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch create mode 100644 recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch create mode 100644 recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch create mode 100644 recipes-core/dbus/libdbus-c++_0.9.0.bb diff --git a/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch b/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch new file mode 100644 index 000000000..eed84e4a6 --- /dev/null +++ b/recipes-core/dbus/libdbus-c++-0.9.0/0001-src-eventloop.cpp-use-portable-method-for-initializi.patch @@ -0,0 +1,36 @@ +From 93fd4868d71aa7a26cdfd382d1e4c85112f069f9 Mon Sep 17 00:00:00 2001 +From: Peter Williams +Date: Sat, 19 Dec 2015 21:07:37 -0500 +Subject: [PATCH] src/eventloop.cpp: use portable method for initializing + recursive mutex +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- +Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/cdaeaa825db191bd65aad3aaaeb3178738727f05] +Signed-off-by: André Draszik + src/eventloop.cpp | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/src/eventloop.cpp b/src/eventloop.cpp +index 7fb06a3..f622812 100644 +--- a/src/eventloop.cpp ++++ b/src/eventloop.cpp +@@ -85,8 +85,11 @@ DefaultMutex::DefaultMutex(bool recursive) + { + 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); + } + else + { +-- +2.10.2 + diff --git a/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch b/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch new file mode 100644 index 000000000..65cd93976 --- /dev/null +++ b/recipes-core/dbus/libdbus-c++-0.9.0/0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch @@ -0,0 +1,58 @@ +From c673a76857cbe0ca82fa11aea9b70f94c3e5b041 Mon Sep 17 00:00:00 2001 +From: Peter Williams +Date: Sat, 19 Dec 2015 21:08:46 -0500 +Subject: [PATCH] tools/generate_proxy.cpp: avoid possibly undefined 'uint' + type +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- +Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/43f119a2b3fe951c0f1d88cc61170d4c81a88880] +Signed-off-by: André Draszik + tools/generate_proxy.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tools/generate_proxy.cpp b/tools/generate_proxy.cpp +index bf1094a..ebb75fa 100644 +--- a/tools/generate_proxy.cpp ++++ b/tools/generate_proxy.cpp +@@ -352,7 +352,7 @@ void generate_proxy(Xml::Document &doc, const char *filename) + if (!arg_name.length()) + { + arg_name = "argin"; +- arg_name += toString (i); ++ arg_name += toString (i); + } + + // generate extra code to wrap object +@@ -445,7 +445,7 @@ void generate_proxy(Xml::Document &doc, const char *filename) + + if (!arg_name.length()) + { +- arg_name = "argout" + toString (i); ++ arg_name = "argout" + toString (i); + } + + if (arg_object.length()) +@@ -569,7 +569,7 @@ void generate_proxy(Xml::Document &doc, const char *filename) + // use a default if no arg name given + if (!arg_name.length()) + { +- arg_name = "arg" + toString (i); ++ arg_name = "arg" + toString (i); + } + + body << arg_name << ";" << endl; +@@ -605,7 +605,7 @@ void generate_proxy(Xml::Document &doc, const char *filename) + + if (!arg_name.length()) + { +- arg_name = "arg" + toString (j); ++ arg_name = "arg" + toString (j); + } + + if (arg_object.length()) +-- +2.10.2 + diff --git a/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch b/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch new file mode 100644 index 000000000..f69cefdb7 --- /dev/null +++ b/recipes-core/dbus/libdbus-c++-0.9.0/0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch @@ -0,0 +1,30 @@ +From 465d98dbcdcb72375c198010a50b80b953e7d5a6 Mon Sep 17 00:00:00 2001 +From: Yuri +Date: Sat, 28 May 2016 13:20:10 -0700 +Subject: [PATCH] Fixed undefined ssize_t for clang-3.8.0 on FreeBSD. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- +Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/463f5a4400d494b831c3b3348c0a21f0faf14f39] +Signed-off-by: André Draszik + include/dbus-c++/pipe.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/dbus-c++/pipe.h b/include/dbus-c++/pipe.h +index 999f042..682646c 100644 +--- a/include/dbus-c++/pipe.h ++++ b/include/dbus-c++/pipe.h +@@ -30,6 +30,8 @@ + /* STD */ + #include + ++#include ++ + namespace DBus + { + +-- +2.10.2 + diff --git a/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch b/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 000000000..0c2c48746 --- /dev/null +++ b/recipes-core/dbus/libdbus-c++-0.9.0/0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,77 @@ +From 12de53b0f24c478ea4ff6b4e2c55366dbd2f02b1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Draszik?= +Date: Fri, 25 Nov 2016 09:33:20 +0000 +Subject: [PATCH] use POSIX poll.h instead of sys/poll.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +POSIX specifies that is the correct header to +include for poll() + http://pubs.opengroup.org/onlinepubs/009695399/functions/poll.html +whereas is only needed for ancient glibc (<2.3), +so let's follow POSIX instead. + +As a side-effect, this silences compilation warnings when +compiling against the musl C-library such as: + +| In file included from ../../libdbus-c++-0.9.0/src/eventloop.cpp:31:0: +| /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include to [-Wcpp] +| #warning redirecting incorrect #include to +| ^~~~~~~ +| In file included from ../../libdbus-c++-0.9.0/src/eventloop-integration.cpp:39:0: +| /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include to [-Wcpp] +| #warning redirecting incorrect #include to +| ^~~~~~~ + +Signed-off-by: André Draszik +--- +Upstream-Status: Submitted [https://github.com/andreas-volz/dbus-cplusplus/pull/3] +Signed-off-by: André Draszik + src/eventloop-integration.cpp | 2 +- + src/eventloop.cpp | 2 +- + src/pipe.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/eventloop-integration.cpp b/src/eventloop-integration.cpp +index 5776971..271b503 100644 +--- a/src/eventloop-integration.cpp ++++ b/src/eventloop-integration.cpp +@@ -36,7 +36,7 @@ + /* STD */ + #include + #include +-#include ++#include + #include + #include + +diff --git a/src/eventloop.cpp b/src/eventloop.cpp +index f622812..7790e1e 100644 +--- a/src/eventloop.cpp ++++ b/src/eventloop.cpp +@@ -28,7 +28,7 @@ + #include + #include + +-#include ++#include + #include + + #include +diff --git a/src/pipe.cpp b/src/pipe.cpp +index 01211b3..45c2ba6 100644 +--- a/src/pipe.cpp ++++ b/src/pipe.cpp +@@ -32,7 +32,7 @@ + + /* STD */ + #include +-#include ++#include + #include + #include + #include +-- +2.10.2 + diff --git a/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch b/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch new file mode 100644 index 000000000..903a7209f --- /dev/null +++ b/recipes-core/dbus/libdbus-c++-0.9.0/fix-missing-unistd.h-include.patch @@ -0,0 +1,40 @@ + +sniped from ChromiumOS + +https://bugs.gentoo.org/424707 + +From 154f7861d19a2bd5c79c488f9989610971db451b Mon Sep 17 00:00:00 2001 +From: Han Shen +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 +Reviewed-by: Yunlian Jiang +Commit-Ready: Han Shen +Upstream-Status: Inappropriate [ not author, no upstream ] +Signed-off-by: Thilo Cestonaro +--- + 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 + #include ++#include + #include "api.h" + #include "dispatcher.h" + #include "util.h" +-- +1.7.9.7 diff --git a/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch b/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch new file mode 100644 index 000000000..fa29d3cde --- /dev/null +++ b/recipes-core/dbus/libdbus-c++-0.9.0/remove-CXX_FOR_BUILD-stuff.patch @@ -0,0 +1,33 @@ +From: Thilo Cestonaro +Date: Fri, 18 Nov 2016 10:23:07 +0100 +Subject: Build libdbus-c++ tools for target platform rather than enforced for +host platform. + +Upstream-Status: Inappropriate [no upstream] +Signed-off-by: Thilo Cestonaro +--- + +diff -Naur libdbus-c++-0.9.0.ori/configure.ac libdbus-c++-0.9.0/configure.ac +--- libdbus-c++-0.9.0.ori/configure.ac 2016-11-15 14:25:36.085882774 +0100 ++++ libdbus-c++-0.9.0/configure.ac 2016-11-15 14:27:08.814568717 +0100 +@@ -64,9 +64,6 @@ + AC_PROG_CC + AC_PROG_CXX + +-CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}} +-AC_SUBST(CXX_FOR_BUILD) +- + AM_PROG_LIBTOOL + + PKG_PROG_PKG_CONFIG +diff -Naur libdbus-c++-0.9.0.ori/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am +--- libdbus-c++-0.9.0.ori/tools/Makefile.am 2016-11-15 14:25:36.089882803 +0100 ++++ libdbus-c++-0.9.0/tools/Makefile.am 2016-11-15 14:26:19.454203583 +0100 +@@ -1,7 +1,5 @@ + # hacky, but ... + +-CXX = $(CXX_FOR_BUILD) +- + AM_CPPFLAGS = \ + $(dbus_CFLAGS) \ + $(xml_CFLAGS) \ diff --git a/recipes-core/dbus/libdbus-c++_0.9.0.bb b/recipes-core/dbus/libdbus-c++_0.9.0.bb new file mode 100644 index 000000000..9b053fed8 --- /dev/null +++ b/recipes-core/dbus/libdbus-c++_0.9.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "DBus-C++ Library" +DESCRIPTION = "DBus-c++ attempts to provide a C++ API for D-BUS. The library has a glib and an Ecore mainloop integration. It also offers an optional own main loop." +HOMEPAGE = "http://dbus-cplusplus.sourceforge.net" +SECTION = "base" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +DEPENDS = "dbus expat glib-2.0 libpcre" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \ + file://fix-missing-unistd.h-include.patch \ + file://remove-CXX_FOR_BUILD-stuff.patch \ + file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \ + file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \ + file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \ + file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \ +" +SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2" +SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests" + +PACKAGE_BEFORE_PN = "${PN}-tools" + +FILES_${PN}-tools = "${bindir}" + +BBCLASSEXTEND = "native" -- 2.16.6