poco: use meta-oe's recipe instead of own one

The meta-oe provides since commit 8700ba38@openembedded/meta-openembedded
(commit date: 2016-01-14) [1] a recipe for the POCO C++ Library.
Consequently, this commit removes the libpoco recipe in the
meta-ros layer.

As meta-ros already depends on the meta-oe layer, the poco
recipe is available in release version since 2016-01-14,
and the poco recipe in meta-ros is redundant for these versions.
However, this commit still provides the currently latest poco
recipe [2] for users that are not using a recent version of the
meta-oe layer.

[1] http://cgit.openembedded.org/meta-openembedded/commit?id=8700ba38804af3c27f3662737f679afa1bdc86da
[2] http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/poco?id=0a2bd4f9784253a8a8dda35e3c4dbd75931d3564

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
This commit is contained in:
Lukas Bulwahn 2016-09-19 07:58:38 +02:00
parent 2d72d18447
commit 02582cf1a0
6 changed files with 118 additions and 46 deletions

View File

@ -226,9 +226,9 @@ Currently, this layer is still under continuous development.
(cf. https://github.com/kartikmohta/meta-km/blob/master/recipes-devtools/yaml-cpp/yaml-cpp_0.3.0.bb)
licensed with the MIT License.
The libpoco recipe originated from the recipe in digitalSTROM's OpenEmbedded layer
(cf. https://gitorious.digitalstrom.org/dss-oe/dss-oe/blobs/master/dS/meta-dss11-production/recipes-support/poco/poco_1.3.6p2.bb)
licensed with the MIT License.
The poco recipe is a copy of the poco recipe in the meta-oe layer licensed with the MIT License
(cf. http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/poco).
The recipe is included in the meta-ros layer to support the use of older versions of the meta-oe layer.
The core-image-ros-* recipes originated from the core-image-minimal recipe in OpenEmbedded Core
(cf. http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-minimal.bb)

View File

@ -1,24 +0,0 @@
From 9258e482d71f327020efa10b873b9623458f2985 Mon Sep 17 00:00:00 2001
From: Aleksandar Fabijanic <alex@pocoproject.org>
Date: Tue, 29 Jul 2014 10:46:52 -0500
Subject: [PATCH] GH #508: Can't compile for arm64 architecture
Upstream-Status: Backport [from version 1.5.4]
---
Foundation/src/utils.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Foundation/src/utils.h b/Foundation/src/utils.h
index dbd61a3..a25757c 100644
--- a/Foundation/src/utils.h
+++ b/Foundation/src/utils.h
@@ -59,7 +59,8 @@
defined(__mips__) || defined(__powerpc__) || \
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
defined(__SH4__) || defined(__alpha__) || \
- defined(_MIPS_ARCH_MIPS32R2)
+ defined(_MIPS_ARCH_MIPS32R2) || \
+ defined(__AARCH64EL__)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
#if defined(_WIN32)

View File

@ -1,18 +0,0 @@
DESCRIPTION = "POCO C++ Libraries"
HOMEPAGE = "http://pocoproject.org"
LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
DEPENDS = "expat zlib libpcre openssl"
SRC_URI = "https://github.com/pocoproject/poco/archive/poco-${PV}-release.tar.gz"
SRC_URI[md5sum] = "4636d84055a434fde3a67396bf15924a"
SRC_URI[sha256sum] = "f26bbd7879ad79b45630f8efa20b1c65f0ddf81dc44f169245d512d208c71e53"
SRC_URI += "file://9258e482d71f327020efa10b873b9623458f2985.patch"
S = "${WORKDIR}/poco-poco-${PV}-release"
EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release -DPOCO_UNBUNDLED=On"
inherit cmake

View File

@ -8,7 +8,7 @@ SECTION = "devel"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=d566ef916e9dedc494f5f793a6690ba5"
DEPENDS = "cmake-modules console-bridge libpoco"
DEPENDS = "cmake-modules console-bridge poco"
SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
SRC_URI[md5sum] = "3fb8bbc0273a613fcc519bdf549fcab6"

View File

@ -0,0 +1,9 @@
#!/bin/sh
while read runner; do
pushd . >/dev/null
cd bin
echo Testing $runner
./$runner-testrunner -all
popd >/dev/null
done < testrunners

View File

@ -0,0 +1,105 @@
SUMMARY = "Modern, powerful open source cross-platform C++ class libraries"
DESCRIPTION = "Modern, powerful open source C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems."
SECTION = "libs"
HOMEPAGE = "http://pocoproject.org/"
LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4267f48fc738f50380cbeeb76f95cebc"
# These dependencies are required by Foundation
DEPENDS = "libpcre zlib"
inherit cmake ptest
BBCLASSEXTEND = "native"
SRCREV = "da66f2863aa02c11967862f2d9f0251574a5e9c2"
SRC_URI = " \
git://github.com/pocoproject/poco.git \
file://run-ptest \
"
S = "${WORKDIR}/git"
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
${@bb.utils.contains('PTEST_ENABLED', '1', '-DENABLE_TESTS=ON ', '', d)}"
# For the native build we want to use the bundled version
EXTRA_OECMAKE_append_class-native = " -DPOCO_UNBUNDLED=OFF"
# do not use rpath
EXTRA_OECMAKE_append = " -DCMAKE_SKIP_RPATH=ON"
# By default the most commonly used poco components are built
# Foundation is built anyway and doesn't need to be listed explicitly
# these don't have dependencies outside oe-core
PACKAGECONFIG ??= "XML JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip"
PACKAGECONFIG[XML] = "-DENABLE_XML=ON,-DENABLE_XML=OFF,expat"
PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
PACKAGECONFIG[MongoDB] = "-DENABLE_MONGODB=ON,-DENABLE_MONGODB=OFF"
PACKAGECONFIG[PDF] = "-DENABLE_PDF=ON,-DENABLE_PDF=OFF,zlib"
PACKAGECONFIG[Util] = "-DENABLE_UTIL=ON,-DENABLE_UTIL=OFF"
PACKAGECONFIG[Net] = "-DENABLE_NET=ON,-DENABLE_NET=OFF"
PACKAGECONFIG[NetSSL] = "-DENABLE_NETSSL=ON,-DENABLE_NETSSL=OFF,openssl"
PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON,-DENABLE_CRYPTO=OFF,openssl"
PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON,-DENABLE_DATA_SQLITE=OFF,sqlite3"
PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
# Additional components not build by default,
# they might have dependencies not included in oe-core
# or they don't work on all architectures
PACKAGECONFIG[mod_poco] = "-DENABLE_APACHECONNECTOR=ON,-DENABLE_APACHECONNECTOR=OFF,apr apache2"
PACKAGECONFIG[CppParser] = "-DENABLE_CPPPARSER=ON,-DENABLE_CPPPARSER=OFF"
PACKAGECONFIG[DataMySQL] = "-DENABLE_DATA_MYSQL=ON,-DENABLE_DATA_MYSQL=OFF,mariadb"
PACKAGECONFIG[DataODBC] = "-DENABLE_DATA_ODBC=ON,-DENABLE_DATA_ODBC=OFF,libiodbc"
PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OFF"
PACKAGECONFIG[PageCompilerFile2Page] = "-DENABLE_PAGECOMPILER_FILE2PAGE=ON,-DENABLE_PAGECOMPILER_FILE2PAGE=OFF"
PACKAGECONFIG[SevenZip] = "-DENABLE_SEVENZIP=ON,-DENABLE_SEVENZIP=OFF"
# Make a package for each library
PACKAGES = "${PN}-dbg ${POCO_PACKAGES}"
python __anonymous () {
packages = []
testrunners = []
components = d.getVar("PACKAGECONFIG", True).split()
components.append("Foundation")
for lib in components:
pkg = ("poco-%s" % lib.lower()).replace("_","")
packages.append(pkg)
if not d.getVar("FILES_%s" % pkg, True):
d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
testrunners.append("%s" % lib)
d.setVar("POCO_PACKAGES", " ".join(packages))
d.setVar("POCO_TESTRUNNERS", "\n".join(testrunners))
}
# "poco" is a metapackage which pulls in all Poco components
PACKAGES += "${PN}"
RRECOMMENDS_${PN} += "${POCO_PACKAGES}"
RRECOMMENDS_${PN}_class-native = ""
ALLOW_EMPTY_${PN} = "1"
# -dev last to pick up the remaining stuff
PACKAGES += "${PN}-dev ${PN}-staticdev"
FILES_${PN}-dev = "${includedir} ${libdir}/libPoco*.so ${libdir}/cmake"
FILES_${PN}-staticdev = "${libdir}/libPoco*.a"
# ptest support
FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
# cppunit is only built if tests are enabled
PACKAGES += "${PN}-cppunit"
FILES_${PN}-cppunit += "${libdir}/libCppUnit.so*"
ALLOW_EMPTY_${PN}-cppunit = "1"
RDEPENDS_${PN}-ptest += "${PN}-cppunit"
do_install_ptest () {
cp -rf ${B}/bin/ ${D}${PTEST_PATH}
cp -f ${B}/lib/libCppUnit.so* ${D}${libdir}
cp -rf ${B}/*/testsuite/data ${D}${PTEST_PATH}/bin/
find "${D}${PTEST_PATH}" -executable -exec chrpath -d {} \;
echo "${POCO_TESTRUNNERS}" > "${D}${PTEST_PATH}/testrunners"
}