summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-support/poco
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/poco')
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch31
-rw-r--r--meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb (renamed from meta-openembedded/meta-oe/recipes-support/poco/poco_1.8.0.1.bb)87
2 files changed, 71 insertions, 47 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch
new file mode 100644
index 000000000..f4a358f47
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco/0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch
@@ -0,0 +1,31 @@
+From fa079dfc5e1d22ea35762bf4c5b09999bdc5e731 Mon Sep 17 00:00:00 2001
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Wed, 22 Aug 2018 21:42:09 +0200
+Subject: [PATCH] Don't try to install non existing Encodings/testsuite/data
+
+Upstream-Status: Backport [https://github.com/pocoproject/poco/pull/2437]
+---
+ Encodings/testsuite/CMakeLists.txt | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/Encodings/testsuite/CMakeLists.txt b/Encodings/testsuite/CMakeLists.txt
+index 7508e5522..79495ae02 100644
+--- a/Encodings/testsuite/CMakeLists.txt
++++ b/Encodings/testsuite/CMakeLists.txt
+@@ -19,12 +19,9 @@ POCO_SOURCES_AUTO_PLAT( TEST_SRCS WINCE
+ add_executable( ${TESTUNIT} ${TEST_SRCS} )
+ if(ANDROID)
+ add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+- COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} "-DTEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/data;" -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/${TESTUNIT} -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
++ COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/Encodings-testrunner -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake)
+ else()
+ add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${TESTUNIT} -all)
+- # The test is run in the build directory. So the test data is copied there too
+- add_custom_command(TARGET ${TESTUNIT} POST_BUILD
+- COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR}/data )
+ endif()
+ #set_target_properties( ${TESTUNIT} PROPERTIES COMPILE_FLAGS ${RELEASE_CXX_FLAGS} )
+ target_link_libraries( ${TESTUNIT} PocoEncodings PocoFoundation CppUnit )
+--
+2.18.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.8.0.1.bb b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
index 160b4d391..258cc4994 100644
--- a/meta-openembedded/meta-oe/recipes-support/poco/poco_1.8.0.1.bb
+++ b/meta-openembedded/meta-oe/recipes-support/poco/poco_1.9.0.bb
@@ -1,39 +1,28 @@
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/"
+SECTION = "libs"
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 = "af527ab21fca5ab2659285408aec9920ed7c7b17"
SRC_URI = " \
- git://github.com/pocoproject/poco.git \
+ git://github.com/pocoproject/poco.git;branch=poco-${PV} \
+ file://0001-Don-t-try-to-install-non-existing-Encodings-testsuit.patch \
file://run-ptest \
"
+SRCREV = "daf00da73ab917e4d4581e3aa00c0ee61e0cc58b"
S = "${WORKDIR}/git"
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
- -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
- ${@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"
+inherit cmake ptest
# 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 JSON MongoDB PDF Util Net NetSSL Crypto Data DataSQLite Zip Encodings Redis"
PACKAGECONFIG[XML] = "-DENABLE_XML=ON -DEXPAT_LIBRARY:STRING=expat,-DENABLE_XML=OFF,expat"
PACKAGECONFIG[JSON] = "-DENABLE_JSON=ON,-DENABLE_JSON=OFF"
@@ -46,6 +35,8 @@ PACKAGECONFIG[Crypto] = "-DENABLE_CRYPTO=ON -DOPENSSL_SSL_LIBRARY:STRING=ssl -DO
PACKAGECONFIG[Data] = "-DENABLE_DATA=ON,-DENABLE_DATA=OFF"
PACKAGECONFIG[DataSQLite] = "-DENABLE_DATA_SQLITE=ON -DSQLITE3_LIBRARY:STRING=sqlite3,-DENABLE_DATA_SQLITE=OFF,sqlite3"
PACKAGECONFIG[Zip] = "-DENABLE_ZIP=ON,-DENABLE_ZIP=OFF"
+PACKAGECONFIG[Encodings] = "-DENABLE_ENCODINGS=ON,-DENABLE_ENCODINGS=OFF"
+PACKAGECONFIG[Redis] = "-DENABLE_REDIS=ON,-DENABLE_REDIS=OFF"
# Additional components not build by default,
# they might have dependencies not included in oe-core
@@ -58,49 +49,51 @@ PACKAGECONFIG[PageCompiler] = "-DENABLE_PAGECOMPILER=ON,-DENABLE_PAGECOMPILER=OF
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 () {
+EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=RelWithDebInfo -DPOCO_UNBUNDLED=ON \
+ -DZLIB_LIBRARY_RELEASE:STRING=z -DPCRE_LIBRARY:STRING=pcre \
+ ${@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"
+
+python populate_packages_prepend () {
+ poco_libdir = d.expand('${libdir}')
+ pn = d.getVar("PN")
packages = []
testrunners = []
- components = d.getVar("PACKAGECONFIG").split()
- components.append("Foundation")
- for lib in components:
- pkg = ("poco-%s" % lib.lower()).replace("_","")
+
+ def hook(f, pkg, file_regex, output_pattern, modulename):
packages.append(pkg)
- if not d.getVar("FILES_%s" % pkg):
- d.setVar("FILES_%s" % pkg, "${libdir}/libPoco%s.so.*" % lib)
- testrunners.append("%s" % lib)
+ testrunners.append(modulename)
- d.setVar("POCO_PACKAGES", " ".join(packages))
+ do_split_packages(d, poco_libdir, '^libPoco(.*)\.so\..*$',
+ 'poco-%s', 'Poco %s component', extra_depends='', prepend=True, hook=hook)
+
+ d.setVar("RRECOMMENDS_%s" % pn, " ".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"
+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"
+}
-# -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"
+PACKAGES_DYNAMIC = "poco-.*"
-# ptest support
-FILES_${PN}-dbg += "${PTEST_PATH}/bin/.debug"
+# "poco" is a metapackage which pulls in all Poco components
+ALLOW_EMPTY_${PN} = "1"
# cppunit is only built if tests are enabled
-PACKAGES += "${PN}-cppunit"
+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"
-}
+BBCLASSEXTEND = "native"