summaryrefslogtreecommitdiff
path: root/dev-libs/poco
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-libs/poco
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-libs/poco')
-rw-r--r--dev-libs/poco/Manifest12
-rw-r--r--dev-libs/poco/files/1.4.6_p4-gentoo.patch71
-rw-r--r--dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch45
-rw-r--r--dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch13
-rw-r--r--dev-libs/poco/metadata.xml47
-rw-r--r--dev-libs/poco/poco-1.4.6_p4-r1.ebuild121
-rw-r--r--dev-libs/poco/poco-1.4.6_p4.ebuild118
-rw-r--r--dev-libs/poco/poco-1.7.6.ebuild115
-rw-r--r--dev-libs/poco/poco-1.9.0.ebuild115
9 files changed, 657 insertions, 0 deletions
diff --git a/dev-libs/poco/Manifest b/dev-libs/poco/Manifest
new file mode 100644
index 000000000000..a43674b5ef37
--- /dev/null
+++ b/dev-libs/poco/Manifest
@@ -0,0 +1,12 @@
+AUX 1.4.6_p4-gentoo.patch 2899 BLAKE2B 868b2057a3f51a92d64552393608f51e115a7b50d58d4b5138476c82394e4b30514e9ba6b9310681c1fa1a63b1902cbf4f813ec339def74afe25f23fd7ac869c SHA512 d43ffa2422b8fcf465b94d9cf075ce855a90339949cc662e8c8ab81cdc744cdb7aa6563f872a12bffe87526385b9a6decf2b21f244e2b66c1871b6d578de0e79
+AUX poco-1.4.4-patch-for-libpcre-8.32.patch 1970 BLAKE2B 0a07795b410bcff83a89c4d1d9ede1d39bbddc39c0503ed89afb761e0ff3c736a55c355178c55a3ce765835664f7b218a0e64fe8f9f39ca4c29b4335b95af1a0 SHA512 955a1ed90c1a3ebe50e110ef650853e9e8784aa9ca7c8806478ee4689d886b31f6afb6f613d290dd19b174243001083d975135175027615bf182ad41a9c413b7
+AUX poco-1.7.2-iodbc-incdir.patch 321 BLAKE2B 640c0b69e8c925d48da6f2bfc59cd2c77a02662ad1d8d447bb8c7ca23234ca1859c4aa9497d5703ef5f675d9096606254a9142770c6fffa4334cf71b1ca6953f SHA512 f3a0b4032fd4f71f0281d58c00241b1cd2f92da1a23a8501c420949621167d1fc7e2a2ed3ec48b6f75d35569f6443e3391eaf19a8c8fbd17e24d1cbd9ffd892d
+DIST poco-1.4.6-all-doc.zip 2072762 BLAKE2B 51b8426d050e7ae373fbb0f3959657e37f1c3aeda75f5bf5cd3dc99e08414a9e65f61ea71dee6d8c40148f41157e2eac0888e64c5020707352c74b262ffae741 SHA512 458e1a3c6a6017b5ae5efcbd0d7b2bbf50aedd6ddc7ae7befddac07ed133b7243208aadd6ecdb17b3fa273e04eb0da4d73b1d3e5591aee98b754e430b2248e52
+DIST poco-1.4.6p4-all.tar.bz2 3158594 BLAKE2B 76accf617ddd087131a5960c131680451959704fee4b17b65bf85367a172d2fe023c9c7efde59fe5bd4142c7ca153734fb4ccbbf06bd5d0365a59d6e75a328a5 SHA512 ae4e1190a0ba719f807d0abaf1c47ff445a8f5867157f209260672546f3755ff021c7073bc8d5e656be383d5667dc15ad7eae8208728053fb61439c4c80a7fca
+DIST poco-1.7.6.tar.gz 8044937 BLAKE2B ad9bf61eb00ce4e1ef5079e07be04ceff79bf823cba49ffb0e144a1e579d9de4f6f8d3df6b629c522de5c2b7b4c7df0933777686b72190d717e407bc28ae2a49 SHA512 a02b7ff66acf080942517b3b8644d6e5c7136c5edc6e58fd13083a74b97b5619253fc9db7863284a565226f95410ad4da1fa9738d14885f560aeb03c1f7c18aa
+DIST poco-1.9.0.tar.gz 10012966 BLAKE2B 98848e87008c71dc5131dbd1c2b17afc414074a3e26237918baf231b4e56ce3d69347cf7a3017715895f4ee56a428672fcb804fb3c732da0000ccc9790b0081d SHA512 de2346d62b2e89ba04abe62a83f6ede7a496e80bcbe53a880a1aa8e87a8ebd9a430dd70fdc6aada836bb1021c6df21375fd0cbcf62dbb6e29a2f65d6d90cf2b9
+EBUILD poco-1.4.6_p4-r1.ebuild 3450 BLAKE2B bf27e0ab8a20a5fa04add798f24e6c2199bb0688266a963a020e858d7f77b0e709da65c5d3e0527880d57803341fa6b0dd95b5f1aa13977a364b310a17a14dde SHA512 3d69fe0e340a9406e26902577004c8314192a1794942c70a7f56342f9644fee87909a11ec3172b6d2f7b4c0f3687157f79130e88b60115442e74daafe6cfeb42
+EBUILD poco-1.4.6_p4.ebuild 3384 BLAKE2B a14df4b50fac726746d4692ac651e25ecfbfc487a7322d307d145b6e41de501c727e3d5729c6183275809cd8be3817e3f9ca256069abea147b01366c15375466 SHA512 dd0a231de34a03305f756d676ba6bd7e71bb919fac8752028610a4cbdd89807e058b74b1eba0a50b30878190dd42f2ca20cb84ea0cccbcd8cac8659ea9436a41
+EBUILD poco-1.7.6.ebuild 3302 BLAKE2B f1a53d2e9aefc01c2ea7c34d742e0bb974f2961613a887fc6e5a6a182600e9e9387e5581216d2a5529ca7aa65dba3ba2470dd2aa31bae86f2f4e867373ecc1eb SHA512 fc9587211f348abb68a5d94e76d926ae9e74ae840551d2ca493b0cd680d5be1b1193161ee69aa647f63c7a429465cf2dcfd5a0bbd6494e67156d46c796faf07e
+EBUILD poco-1.9.0.ebuild 3302 BLAKE2B f1a53d2e9aefc01c2ea7c34d742e0bb974f2961613a887fc6e5a6a182600e9e9387e5581216d2a5529ca7aa65dba3ba2470dd2aa31bae86f2f4e867373ecc1eb SHA512 fc9587211f348abb68a5d94e76d926ae9e74ae840551d2ca493b0cd680d5be1b1193161ee69aa647f63c7a429465cf2dcfd5a0bbd6494e67156d46c796faf07e
+MISC metadata.xml 2516 BLAKE2B b47d63bb959634ff62322bd2fbbb270d9521a2f7d3a40d75adc10420ca725fa9efba7ca0fa9fd956abffd2b74f093e83453395269c13ca3681ca5c96091310bb SHA512 a85a369be9cff2d225b6bedeba4a8fbaaf5735b811367ca6c213c56ffde6165f4e4fac9018243308d0a6b15ff416298a76738f35db10528c20571d5e71998a47
diff --git a/dev-libs/poco/files/1.4.6_p4-gentoo.patch b/dev-libs/poco/files/1.4.6_p4-gentoo.patch
new file mode 100644
index 000000000000..8cfc9237db01
--- /dev/null
+++ b/dev-libs/poco/files/1.4.6_p4-gentoo.patch
@@ -0,0 +1,71 @@
+--- components 2012-11-18 16:56:59.000000000 +0100
++++ components 2012-12-06 12:29:07.779546771 +0100
+@@ -1,14 +1,8 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+ PageCompiler/File2Page
+--- Data/ODBC/ODBC.make 2014-04-18 13:41:55.000000000 +0200
++++ Data/ODBC/ODBC.make.new 2014-12-29 13:44:03.000000000 +0100
+@@ -14,9 +14,9 @@
+ ifeq (0, $(shell test -d /usr/lib/$(OSARCH)-linux-gnu; echo $$?))
+ ODBCLIBDIR = /usr/lib/$(OSARCH)-linux-gnu
+ else ifeq (0, $(shell test -d /usr/lib64; echo $$?))
+-ODBCLIBDIR = /usr/lib64
++ODBCLIBDIR = /usr/$(LIBDIR)
+ else
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+ endif
+ endif
+
+@@ -35,10 +35,10 @@
+ # -DODBCVER=0x0300: SQLHandle declaration issue
+ # -DNOMINMAX : MIN/MAX macros defined in windows conflict with libstdc++
+ CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc
+ COMMONFLAGS += -DPOCO_UNIXODBC
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC -I/usr/include/iodbc
+ else
+--- Makefile 2012-11-18 16:57:00.000000000 +0100
++++ Makefile 2012-12-06 12:29:07.779546771 +0100
+@@ -33,7 +33,7 @@
+
+ install: libexecs
+ mkdir -p $(INSTALLDIR)/include/Poco
+- mkdir -p $(INSTALLDIR)/lib
++ mkdir -p $(INSTALLDIR)/$(LIBDIR)
+ mkdir -p $(INSTALLDIR)/bin
+ for comp in $(COMPONENTS) ; do \
+ if [ -d "$(POCO_BASE)/$$comp/include" ] ; then \
+@@ -43,11 +43,11 @@
+ find $(POCO_BUILD)/$$comp/bin -perm -700 -type f -exec cp -f {} $(INSTALLDIR)/bin \; ; \
+ fi ; \
+ done
+- find $(POCO_BUILD)/lib -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/lib \;
+- find $(POCO_BUILD)/lib -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/lib \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type f -exec cp -f {} $(INSTALLDIR)/$(LIBDIR) \;
++ find $(POCO_BUILD)/$(LIBDIR) -name "libPoco*" -type l -exec cp -Rf {} $(INSTALLDIR)/$(LIBDIR) \;
+
+-libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec PageCompiler-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples Zip-samples PageCompiler-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch b/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch
new file mode 100644
index 000000000000..d2654b59edec
--- /dev/null
+++ b/dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch
@@ -0,0 +1,45 @@
+Index: poco-1.5.0/Foundation/Makefile
+===================================================================
+--- poco-1.5.0.orig/Foundation/Makefile
++++ poco-1.5.0/Foundation/Makefile
+@@ -45,6 +45,7 @@ pcre_utf8_objects = pcre_ucd pcre_tables
+
+ ifdef POCO_UNBUNDLED
+ SYSLIBS += -lpcre -lz
++ objects += $(pcre_utf8_objects) # unicode.cpp uses internal pcre tables
+ else
+ objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
+ endif
+Index: poco-1.5.0/Foundation/src/pcre_internal.h
+===================================================================
+--- poco-1.5.0.orig/Foundation/src/pcre_internal.h
++++ poco-1.5.0/Foundation/src/pcre_internal.h
+@@ -1109,6 +1109,16 @@ typedef struct {
+ } ucp_type_table;
+
+
++/* renamed to avoid clashes with system pcre */
++#define _pcre_utf8_table1 _poco__pcre_utf8_table1
++#define _pcre_utf8_table1_size _poco__pcre_utf8_table1_size
++#define _pcre_utf8_table2 _poco__pcre_utf8_table2
++#define _pcre_utf8_table3 _poco__pcre_utf8_table3
++#define _pcre_utf8_table4 _poco__pcre_utf8_table4
++#define _pcre_utt _poco__pcre_utt
++#define _pcre_utt_size _poco__pcre_utt_size
++#define _pcre_utt_names _poco__pcre_utt_names
++#define _pcre_OP_lengths _poco__pcre_OP_lengths
+ /* Internal shared data tables. These are tables that are used by more than one
+ of the exported public functions. They have to be "external" in the C sense,
+ but are not part of the PCRE public API. The data for these tables is in the
+@@ -1153,6 +1163,11 @@ typedef struct {
+ pcre_int32 other_case;
+ } ucd_record;
+
++/* renamed to avoid clashes with system pcre */
++#define _pcre_ucd_records _poco__pcre_ucd_records
++#define _pcre_ucd_stage1 _poco__pcre_ucd_stage1
++#define _pcre_ucd_stage2 _poco__pcre_ucd_stage2
++#define _pcre_ucp_gentype _poco__pcre_ucp_gentype
+ extern const ucd_record _pcre_ucd_records[];
+ extern const uschar _pcre_ucd_stage1[];
+ extern const pcre_uint16 _pcre_ucd_stage2[];
diff --git a/dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch b/dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch
new file mode 100644
index 000000000000..e41d8f390d9f
--- /dev/null
+++ b/dev-libs/poco/files/poco-1.7.2-iodbc-incdir.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/FindODBC.cmake b/cmake/FindODBC.cmake
+index 9e229ed..5d79c7e 100644
+--- a/cmake/FindODBC.cmake
++++ b/cmake/FindODBC.cmake
+@@ -16,7 +16,7 @@
+ find_path(ODBC_INCLUDE_DIRECTORIES
+ NAMES sql.h
+ HINTS
+- /usr/include
++ /usr/include/iodbc
+ /usr/include/odbc
+ /usr/local/include
+ /usr/local/include/odbc
diff --git a/dev-libs/poco/metadata.xml b/dev-libs/poco/metadata.xml
new file mode 100644
index 000000000000..e115e946586f
--- /dev/null
+++ b/dev-libs/poco/metadata.xml
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tommy@gentoo.org</email>
+ <name>Thomas Sachau (Tommy[D])</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cpp@gentoo.org</email>
+ <name>Gentoo C++ Project</name>
+ </maintainer>
+ <longdescription>
+POCO, the C++ Portable Components, is a collection of open source
+C++ class libraries that simplify and accelerate the development of
+network-centric, portable applications in C++. The libraries integrate
+perfectly with the C++ Standard Library and fill many of the functional
+gaps left open by it. Their modular and efficient design and implementation
+makes the C++ Portable Components extremely well suited for embedded
+development, an area where the C++ programming language is becoming
+increasingly popular, due to its suitability for both low-level (device
+I/O, interrupt handlers, etc.) and high-level object-oriented development.
+Of course, POCO is also ready for enterprise-level challenges.
+
+The POCO libraries free developers from re-inventing the wheel, and allow
+them to spend their time on more worthwhile areas, such as getting things
+done quickly and working on the features that make their application unique.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">poco</remote-id>
+ <remote-id type="github">pocoproject/poco</remote-id>
+ </upstream>
+ <use>
+ <flag name="7z">Add Support for the 7z archive format</flag>
+ <flag name="apache">Enable support to write Apache modules using POCO</flag>
+ <flag name="cppparser">Build and install a minimal C++ parser</flag>
+ <flag name="crypto">Encryption and digital signing classes</flag>
+ <flag name="data">Database abstraction layer to easily send/retrieve data to/from various databases</flag>
+ <flag name="file2pagecompiler">Utility to convert ordinary files to Page Compiler source files</flag>
+ <flag name="json">Add JSON support</flag>
+ <flag name="mongodb">Add <pkg>dev-db/mongodb</pkg> support</flag>
+ <flag name="net">Classes to write network clients &amp; servers</flag>
+ <flag name="pagecompiler">Simple compiler translating HTML pages containing embedded C++ code into HTTPRequestHandler classes</flag>
+ <flag name="pocodoc">POCO documentation generator</flag>
+ <flag name="util">Several utility classes (like logger, timer, config file parser)</flag>
+ <flag name="zip">Add support for the zip &amp; gz archive formats</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-libs/poco/poco-1.4.6_p4-r1.ebuild b/dev-libs/poco/poco-1.4.6_p4-r1.ebuild
new file mode 100644
index 000000000000..24c307774d53
--- /dev/null
+++ b/dev-libs/poco/poco-1.4.6_p4-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs flag-o-matic multilib versionator
+
+MY_P="${P/_}"
+MY_DOCP="${PN}-$(get_version_component_range 1-3)-all-doc"
+
+DESCRIPTION="C++ libraries for building network-based applications"
+HOMEPAGE="https://pocoproject.org/"
+SRC_URI="https://pocoproject.org/releases/poco-$(get_version_component_range 1-3)/${MY_P}-all.tar.bz2
+ doc? ( mirror://sourceforge/poco/${MY_DOCP}.zip )"
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="doc examples iodbc libressl mysql odbc sqlite ssl test"
+
+DEPEND=">=dev-libs/libpcre-8.13
+ dev-libs/expat
+ sys-libs/zlib
+ mysql? ( virtual/mysql )
+ odbc? ( iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC ) )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ sqlite? ( dev-db/sqlite:3 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}-all"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-gentoo.patch \
+ "${FILESDIR}"/poco-1.4.4-patch-for-libpcre-8.32.patch
+}
+
+src_configure() {
+ targets="libexecs"
+ odbc="unixodbc"
+
+ if use ssl; then
+ targets="${targets} NetSSL_OpenSSL-libexec Crypto-libexec"
+ echo NetSSL_OpenSSL >> components
+ echo Crypto >> components
+ fi
+ if use odbc; then
+ targets="${targets} Data/ODBC-libexec"
+ echo Data/ODBC >> components
+ if use iodbc; then
+ append-flags "-I/usr/include/iodbc"
+ odbc="iodbc"
+ fi
+ fi
+ if use sqlite; then
+ targets="${targets} Data/SQLite-libexec"
+ echo Data/SQLite >> components
+ fi
+ if use mysql; then
+ targets="${targets} Data/MySQL-libexec"
+ echo Data/MySQL >> components
+ fi
+
+ if use test; then
+ targets="${targets} cppunit tests"
+ echo CppUnit >> components
+ use ssl && targets="${targets} NetSSL_OpenSSL-tests Crypto-tests"
+ use odbc && targets="${targets} Data/ODBC-tests"
+ use sqlite && targets="${targets} Data/SQLite-tests"
+ use mysql && targets="${targets} Data/MySQL-tests"
+ fi
+
+ local myconf
+ use test || myconf="--no-tests"
+ # not autoconf
+ ./configure \
+ --no-samples ${myconf} \
+ --prefix=/usr \
+ --unbundled \
+ || die "configure failed"
+
+ sed -i \
+ -e 's|-O2||g' \
+ -e "s|CC = .*|CC = $(tc-getCC)|" \
+ -e "s|CXX = .*|CXX = $(tc-getCXX)|" \
+ -e "s|RANLIB = .*|RANLIB = $(tc-getRANLIB)|" \
+ -e "s|LIB = ar|LIB = $(tc-getAR)|" \
+ -e "s|STRIP = .*|STRIP = /bin/true|" \
+ -e "s|CFLAGS = |CFLAGS = ${CFLAGS}|" \
+ -e "s|CXXFLAGS = |CXXFLAGS = ${CXXFLAGS} |" \
+ -e "s|LINKFLAGS =|LINKFLAGS = ${LDFLAGS} |" \
+ -e "s|SHAREDOPT_LINK = -Wl,-rpath,\$(LIBPATH)|SHAREDOPT_LINK =|" \
+ build/config/Linux build/config/FreeBSD || die "sed failed"
+ sed -i -e "s|SHLIBFLAGS)|SHLIBFLAGS) ${LDFLAGS}|" build/rules/lib || die
+}
+
+src_compile() {
+ emake POCO_PREFIX=/usr GENTOO_ODBC="${odbc}" LIBDIR="$(get_libdir)" ${targets} || die "emake failed"
+}
+
+src_install() {
+ emake POCO_PREFIX=/usr LIBDIR="$(get_libdir)" DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc CHANGELOG CONTRIBUTORS NEWS README
+
+ use doc && dohtml -r "${WORKDIR}/${MY_DOCP}"/*
+
+ if use examples ; then
+ for d in Net XML Data Util NetSSL_OpenSSL Foundation ; do
+ insinto /usr/share/doc/${PF}/examples/${d}
+ doins -r ${d}/samples
+ done
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm
+ fi
+}
diff --git a/dev-libs/poco/poco-1.4.6_p4.ebuild b/dev-libs/poco/poco-1.4.6_p4.ebuild
new file mode 100644
index 000000000000..1a4742f5ae5d
--- /dev/null
+++ b/dev-libs/poco/poco-1.4.6_p4.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs flag-o-matic multilib versionator
+
+MY_P="${P/_}"
+MY_DOCP="${PN}-$(get_version_component_range 1-3)-all-doc"
+
+DESCRIPTION="C++ libraries for building network-based applications"
+HOMEPAGE="https://pocoproject.org/"
+SRC_URI="https://pocoproject.org/releases/poco-$(get_version_component_range 1-3)/${MY_P}-all.tar.bz2
+ doc? ( mirror://sourceforge/poco/${MY_DOCP}.zip )"
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 arm x86"
+IUSE="doc examples iodbc mysql odbc sqlite ssl test"
+
+DEPEND=">=dev-libs/libpcre-8.13
+ dev-libs/expat
+ sys-libs/zlib
+ mysql? ( virtual/mysql )
+ odbc? ( iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC ) )
+ ssl? ( dev-libs/openssl )
+ sqlite? ( dev-db/sqlite:3 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}-all"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-gentoo.patch \
+ "${FILESDIR}"/poco-1.4.4-patch-for-libpcre-8.32.patch
+}
+
+src_configure() {
+ targets="libexecs"
+ odbc="unixodbc"
+
+ if use ssl; then
+ targets="${targets} NetSSL_OpenSSL-libexec Crypto-libexec"
+ echo NetSSL_OpenSSL >> components
+ echo Crypto >> components
+ fi
+ if use odbc; then
+ targets="${targets} Data/ODBC-libexec"
+ echo Data/ODBC >> components
+ if use iodbc; then
+ append-flags "-I/usr/include/iodbc"
+ odbc="iodbc"
+ fi
+ fi
+ if use sqlite; then
+ targets="${targets} Data/SQLite-libexec"
+ echo Data/SQLite >> components
+ fi
+ if use mysql; then
+ targets="${targets} Data/MySQL-libexec"
+ echo Data/MySQL >> components
+ fi
+
+ if use test; then
+ targets="${targets} cppunit tests"
+ echo CppUnit >> components
+ use ssl && targets="${targets} NetSSL_OpenSSL-tests Crypto-tests"
+ use odbc && targets="${targets} Data/ODBC-tests"
+ use sqlite && targets="${targets} Data/SQLite-tests"
+ use mysql && targets="${targets} Data/MySQL-tests"
+ fi
+
+ local myconf
+ use test || myconf="--no-tests"
+ # not autoconf
+ ./configure \
+ --no-samples ${myconf} \
+ --prefix=/usr \
+ --unbundled \
+ || die "configure failed"
+
+ sed -i \
+ -e 's|-O2||g' \
+ -e "s|CC = .*|CC = $(tc-getCC)|" \
+ -e "s|CXX = .*|CXX = $(tc-getCXX)|" \
+ -e "s|RANLIB = .*|RANLIB = $(tc-getRANLIB)|" \
+ -e "s|LIB = ar|LIB = $(tc-getAR)|" \
+ -e "s|STRIP = .*|STRIP = /bin/true|" \
+ -e "s|CFLAGS = |CFLAGS = ${CFLAGS}|" \
+ -e "s|CXXFLAGS = |CXXFLAGS = ${CXXFLAGS} |" \
+ -e "s|LINKFLAGS =|LINKFLAGS = ${LDFLAGS} |" \
+ -e "s|SHAREDOPT_LINK = -Wl,-rpath,\$(LIBPATH)|SHAREDOPT_LINK =|" \
+ build/config/Linux build/config/FreeBSD || die "sed failed"
+ sed -i -e "s|SHLIBFLAGS)|SHLIBFLAGS) ${LDFLAGS}|" build/rules/lib || die
+}
+
+src_compile() {
+ emake POCO_PREFIX=/usr GENTOO_ODBC="${odbc}" LIBDIR="$(get_libdir)" ${targets} || die "emake failed"
+}
+
+src_install() {
+ emake POCO_PREFIX=/usr LIBDIR="$(get_libdir)" DESTDIR="${D}" install || die "emake install failed"
+
+ dodoc CHANGELOG CONTRIBUTORS NEWS README
+
+ use doc && dohtml -r "${WORKDIR}/${MY_DOCP}"/*
+
+ if use examples ; then
+ for d in Net XML Data Util NetSSL_OpenSSL Foundation ; do
+ insinto /usr/share/doc/${PF}/examples/${d}
+ doins -r ${d}/samples
+ done
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm
+ fi
+}
diff --git a/dev-libs/poco/poco-1.7.6.ebuild b/dev-libs/poco/poco-1.7.6.ebuild
new file mode 100644
index 000000000000..127c9d0ac2c1
--- /dev/null
+++ b/dev-libs/poco/poco-1.7.6.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+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"
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="7z apache cppparser +crypto +data examples +file2pagecompiler +json +pagecompiler iodbc libressl +mongodb mysql +net odbc pdf pocodoc sqlite +ssl test +util +xml +zip"
+REQUIRED_USE="7z? ( xml )
+ apache? ( net util )
+ file2pagecompiler? ( pagecompiler )
+ iodbc? ( odbc )
+ mongodb? ( data )
+ mysql? ( data )
+ odbc? ( data )
+ pagecompiler? ( json net util xml )
+ pocodoc? ( cppparser util xml )
+ sqlite? ( data )
+ test? ( data? ( sqlite ) json util xml )"
+
+RDEPEND=">=dev-libs/libpcre-8.13
+ xml? ( dev-libs/expat )
+ apache? ( dev-libs/apr
+ dev-libs/apr-util
+ www-servers/apache )
+ mysql? ( virtual/mysql )
+ odbc? ( iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC ) )
+ ssl? (
+ !libressl? ( <dev-libs/openssl-1.1.0:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ zip? ( sys-libs/zlib )"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-${P}-release"
+
+PATCHES=( "${FILESDIR}/${PN}-1.7.2-iodbc-incdir.patch" )
+
+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}/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
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPOCO_UNBUNDLED=ON
+ -DENABLE_APACHECONNECTOR="$(usex apache)"
+ -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)"
+ )
+
+ if ! use iodbc ; then
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ for sd in */samples ; do
+ insinto /usr/share/doc/${PF}/examples/${sd%/samples}
+ doins -r ${sd}
+ done
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm
+ fi
+}
diff --git a/dev-libs/poco/poco-1.9.0.ebuild b/dev-libs/poco/poco-1.9.0.ebuild
new file mode 100644
index 000000000000..127c9d0ac2c1
--- /dev/null
+++ b/dev-libs/poco/poco-1.9.0.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+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"
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="7z apache cppparser +crypto +data examples +file2pagecompiler +json +pagecompiler iodbc libressl +mongodb mysql +net odbc pdf pocodoc sqlite +ssl test +util +xml +zip"
+REQUIRED_USE="7z? ( xml )
+ apache? ( net util )
+ file2pagecompiler? ( pagecompiler )
+ iodbc? ( odbc )
+ mongodb? ( data )
+ mysql? ( data )
+ odbc? ( data )
+ pagecompiler? ( json net util xml )
+ pocodoc? ( cppparser util xml )
+ sqlite? ( data )
+ test? ( data? ( sqlite ) json util xml )"
+
+RDEPEND=">=dev-libs/libpcre-8.13
+ xml? ( dev-libs/expat )
+ apache? ( dev-libs/apr
+ dev-libs/apr-util
+ www-servers/apache )
+ mysql? ( virtual/mysql )
+ odbc? ( iodbc? ( dev-db/libiodbc )
+ !iodbc? ( dev-db/unixODBC ) )
+ ssl? (
+ !libressl? ( <dev-libs/openssl-1.1.0:0 )
+ libressl? ( dev-libs/libressl )
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ zip? ( sys-libs/zlib )"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-${P}-release"
+
+PATCHES=( "${FILESDIR}/${PN}-1.7.2-iodbc-incdir.patch" )
+
+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}/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
+
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPOCO_UNBUNDLED=ON
+ -DENABLE_APACHECONNECTOR="$(usex apache)"
+ -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)"
+ )
+
+ if ! use iodbc ; then
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use examples ; then
+ for sd in */samples ; do
+ insinto /usr/share/doc/${PF}/examples/${sd%/samples}
+ doins -r ${sd}
+ done
+ find "${D}/usr/share/doc/${PF}/examples" \
+ -iname "*.sln" -or -iname "*.vcproj" -or \
+ -iname "*.vmsbuild" -or -iname "*.properties" \
+ | xargs rm
+ fi
+}