diff options
Diffstat (limited to 'dev-libs/poco')
-rw-r--r-- | dev-libs/poco/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch | 13 | ||||
-rw-r--r-- | dev-libs/poco/metadata.xml | 9 | ||||
-rw-r--r-- | dev-libs/poco/poco-1.10.1.ebuild | 136 |
4 files changed, 161 insertions, 2 deletions
diff --git a/dev-libs/poco/Manifest b/dev-libs/poco/Manifest index acf849271932..10177761ec8a 100644 --- a/dev-libs/poco/Manifest +++ b/dev-libs/poco/Manifest @@ -1,4 +1,7 @@ +AUX poco-1.10.1-iodbc-incdir.patch 369 BLAKE2B 345540ebd9c448a21e6c8adccba040a43fdf1db53cb0139f3cab5eb8ca67ca30dfa97058e4db4618d27ab2cd642e205349f5f70970fd2a4961a018aa7e1c5dac SHA512 1a155b10e98cdce8659a9308ac70e8114361a0062a1af469dc774b5d32bc00b5f1aa0e873fa5061625527ddeb006fdf29939b1899939a193d8724e491dedba10 AUX poco-1.7.2-iodbc-incdir.patch 321 BLAKE2B 640c0b69e8c925d48da6f2bfc59cd2c77a02662ad1d8d447bb8c7ca23234ca1859c4aa9497d5703ef5f675d9096606254a9142770c6fffa4334cf71b1ca6953f SHA512 f3a0b4032fd4f71f0281d58c00241b1cd2f92da1a23a8501c420949621167d1fc7e2a2ed3ec48b6f75d35569f6443e3391eaf19a8c8fbd17e24d1cbd9ffd892d +DIST poco-1.10.1.tar.gz 10224204 BLAKE2B 644bb2134c571e10b63937ca15b3f5d7255767bcc99dd6b6107a13d64ed7ac83d499d74f04084c666bbf5ef6f033d57d2fb1de0b8b8487844e3aaf8cefe6fba8 SHA512 40aa8049c68651f461280937c1c733e13d1cedbec12bc44a7f3a6c131d31229c5445067052441427071f6102fd1965d238b2222c0689279dd156b4e261ac9e73 DIST poco-1.9.0.tar.gz 10012966 BLAKE2B 98848e87008c71dc5131dbd1c2b17afc414074a3e26237918baf231b4e56ce3d69347cf7a3017715895f4ee56a428672fcb804fb3c732da0000ccc9790b0081d SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9 +EBUILD poco-1.10.1.ebuild 3835 BLAKE2B e9f3a497dc2abac87c1a8e12bd00b3f070c18f7c8fdf136973fc26e85c5d80f5255bf39b95943e3fd119d976c04d0d21fb830f2e4f04a4e2fc302ff4657c4b6a SHA512 45a2f75b1a60b5e69a59811fe6be0f1f9cbd983bab8e70045d3928e9f2d86339611bd92073d7e14a13fe784c5049d3501d38446fbeb672e1c69c5f59c62215c8 EBUILD poco-1.9.0-r2.ebuild 3845 BLAKE2B db4139cd4bc0e7d133d32f6a25cdf740e9671c400a909599a05da83726183fdb932a91ba5f628dd6d1d3531186779ea1ec9f8eed351994aab0c6a33f35133952 SHA512 a85f82234f98f4a8b89a2f1e9bbf63b48f3580d8651a0c09d98fadaeba59136af0073ae370128a8ec2f9c19cde0121a5eafd680b95db6fd857a4339b29b0eab0 -MISC metadata.xml 2354 BLAKE2B c376c105867c39c9bd2fbeb553f40acd95d71307b5c89b0e2d685862fa901b06c3056ff7996b4a1bce8b70f70bad45678c6a0d41567564dc009841f520fe8b3e SHA512 9263939c5e0120e2687446859db4fbfd84072f1d1ae37cb993b1eb69c39dddc828aadf95ef9fed86f8bea65ce24e041740dd48523ad68756b45ef47454c64a8c +MISC metadata.xml 2553 BLAKE2B 2de5210d62ca2df3a02187d592efc80ea4af5e0d2601885ceefc66079f8f7ecbd52535c4da7c4287f4232eca57947c890182cb497a99460733146bd3ea764000 SHA512 000dd91ec6f5bc139134ecb05b227c532c5efa81256f5302e71e22d9766ec48a629285a1895a6c731954ccda247c3962537dbfbc4d155ae8d0c882a725c3a4e1 diff --git a/dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch b/dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch new file mode 100644 index 000000000000..afac9bc79229 --- /dev/null +++ b/dev-libs/poco/files/poco-1.10.1-iodbc-incdir.patch @@ -0,0 +1,13 @@ +diff --git a/cmake/FindODBC.cmake b/cmake/FindODBC.cmake +index 55318b520..fb7efbffe 100644 +--- a/cmake/FindODBC.cmake ++++ b/cmake/FindODBC.cmake +@@ -34,7 +34,7 @@ find_path(ODBC_INCLUDE_DIR + ${ODBC_ROOT_INCLUDE_DIRS} + PATHS + ${PC_ODBC_INCLUDE_DIRS} +- /usr/include ++ /usr/include/iodbc + /usr/local/include + /usr/local/odbc/include + /usr/local/iodbc/include diff --git a/dev-libs/poco/metadata.xml b/dev-libs/poco/metadata.xml index 6c90e505339c..efd7d2d61160 100644 --- a/dev-libs/poco/metadata.xml +++ b/dev-libs/poco/metadata.xml @@ -1,7 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>davidroman96@gmail.com</email> + <name>David Roman</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> <longdescription> POCO, the C++ Portable Components, is a collection of open source C++ class libraries that simplify and accelerate the development of diff --git a/dev-libs/poco/poco-1.10.1.ebuild b/dev-libs/poco/poco-1.10.1.ebuild new file mode 100644 index 000000000000..dcdec18fa2ef --- /dev/null +++ b/dev-libs/poco/poco-1.10.1.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="C++ libraries for building network-based applications" +HOMEPAGE="https://pocoproject.org/" +SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${P}-release" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="7z cppparser +crypto +data examples +file2pagecompiler iodbc +json libressl mariadb +mongodb mysql +net odbc +pagecompiler pdf pocodoc sqlite +ssl test +util +xml +zip" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + 7z? ( xml ) + file2pagecompiler? ( pagecompiler ) + iodbc? ( odbc ) + mongodb? ( data ) + mysql? ( data ) + odbc? ( data ) + pagecompiler? ( json net util xml ) + pocodoc? ( cppparser util xml ) + sqlite? ( data ) + ssl? ( util ) + test? ( data? ( sqlite ) json util xml ) +" + +BDEPEND="virtual/pkgconfig" +RDEPEND=" + >=dev-libs/libpcre-8.42 + mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= ) + mariadb? ( dev-db/mariadb-connector-c:0= ) ) + odbc? ( iodbc? ( dev-db/libiodbc ) + !iodbc? ( dev-db/unixODBC ) ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + xml? ( dev-libs/expat ) + zip? ( sys-libs/zlib ) +" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${PN}-1.10.1-iodbc-incdir.patch" ) + +src_prepare() { + cmake_src_prepare + + if use test ; then + # ignore missing tests on experimental library + # and tests requiring running DB-servers, internet connections, etc. + sed -i -e '/testsuite/d' \ + {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF,Redis}/CMakeLists.txt || die + # Poco expands ~ using passwd, which does not match $HOME in the build environment + sed -i -e '/CppUnit_addTest.*testExpand/d' \ + Foundation/testsuite/src/PathTest.cpp || die + # ignore failing Crypto test since upstream does not seem to care, + # see https://github.com/pocoproject/poco/issues/1209 + sed -i -e '/RSATest, testRSACipherLarge/d' \ + Crypto/testsuite/src/RSATest.cpp || die + fi + + if use mariadb ; then + # Fix MariaDB detection + sed -i -e 's~/usr/include/mysql~~' \ + -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \ + cmake/FindMySQL.cmake || die + else + # Fix MySQL detection + sed -i -e 's/mysqlclient_r/mysqlclient/' \ + -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \ + cmake/FindMySQL.cmake || die + fi + + # Add missing directory that breaks the build + mkdir -p Encodings/testsuite/data || die + + if ! use iodbc ; then + sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die + fi +} + +src_configure() { + # apache support is dead and buggy, https://github.com/pocoproject/poco/issues/1764 + local mycmakeargs=( + -DPOCO_UNBUNDLED=ON + -DENABLE_APACHECONNECTOR=OFF + -DENABLE_CPPPARSER="$(usex cppparser)" + -DENABLE_CRYPTO="$(usex ssl)" + -DENABLE_DATA="$(usex data)" + -DENABLE_DATA_MYSQL="$(usex mysql)" + -DENABLE_DATA_ODBC="$(usex odbc)" + -DENABLE_DATA_SQLITE="$(usex sqlite)" + -DENABLE_JSON="$(usex util)" + -DENABLE_MONGODB="$(usex mongodb)" + -DENABLE_NET="$(usex net)" + -DENABLE_NETSSL="$(usex ssl)" + -DENABLE_NETSSL_WIN=OFF + -DENABLE_PAGECOMPILER="$(usex pagecompiler)" + -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)" + -DENABLE_PDF="$(usex pdf)" + -DENABLE_POCODOC="$(usex pocodoc)" + -DENABLE_SEVENZIP="$(usex 7z)" + -DENABLE_TESTS="$(usex test)" + -DENABLE_UTIL="$(usex util)" + -DENABLE_XML="$(usex xml)" + -DENABLE_ZIP="$(usex zip)" + ) + + cmake_src_configure +} + +src_test() { + POCO_BASE="${S}" cmake_src_test +} + +src_install() { + cmake_src_install + + if use examples ; then + for sd in */samples ; do + docinto examples/${sd%/samples} + dodoc -r ${sd} + done + + find "${D}/usr/share/doc/${PF}/examples" \ + -iname "*.sln" -or -iname "*.vcproj" -or \ + -iname "*.vmsbuild" -or -iname "*.properties" \ + | xargs rm -v || die + fi +} |