summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-libs/poco
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-libs/poco')
-rw-r--r--dev-libs/poco/Manifest2
-rw-r--r--dev-libs/poco/files/1.3.3_p1-gcc44.patch16
-rw-r--r--dev-libs/poco/files/1.3.3_p1-gentoo.patch80
-rw-r--r--dev-libs/poco/files/1.3.3_p1-openssl-1.patch16
-rw-r--r--dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch197
-rw-r--r--dev-libs/poco/files/1.3.6_p2-gentoo.patch85
-rw-r--r--dev-libs/poco/files/1.4.3_p1-gentoo.patch85
-rw-r--r--dev-libs/poco/files/1.4.5-gentoo.patch74
-rw-r--r--dev-libs/poco/files/1.4.6_p1-gentoo.patch74
-rw-r--r--dev-libs/poco/files/1.4.6_p4-gentoo.patch71
-rw-r--r--dev-libs/poco/files/libpcre-8.13.patch10
-rw-r--r--dev-libs/poco/files/poco-1.4.4-patch-for-libpcre-8.32.patch45
-rw-r--r--dev-libs/poco/metadata.xml28
-rw-r--r--dev-libs/poco/poco-1.4.6_p4.ebuild119
14 files changed, 902 insertions, 0 deletions
diff --git a/dev-libs/poco/Manifest b/dev-libs/poco/Manifest
new file mode 100644
index 000000000000..666dbdb0af5e
--- /dev/null
+++ b/dev-libs/poco/Manifest
@@ -0,0 +1,2 @@
+DIST poco-1.4.6-all-doc.zip 2072762 SHA256 a1cfb143a671bcef7a2bafcbba095edf8ed21e51a30ae7eb19955e73bb23067d SHA512 458e1a3c6a6017b5ae5efcbd0d7b2bbf50aedd6ddc7ae7befddac07ed133b7243208aadd6ecdb17b3fa273e04eb0da4d73b1d3e5591aee98b754e430b2248e52 WHIRLPOOL af52385b3557853ea4fcd1a31092a5e1fa009e082bc4fcec8e51e42207147400eca7c26c9a65c84de24d322677fcfaa364207dc83f88299ddca2fd06cf9a26af
+DIST poco-1.4.6p4-all.tar.bz2 3158594 SHA256 e48ce805702048e099eee4965f3db573728e32bd9a15ff643f5ea856926f2dd6 SHA512 ae4e1190a0ba719f807d0abaf1c47ff445a8f5867157f209260672546f3755ff021c7073bc8d5e656be383d5667dc15ad7eae8208728053fb61439c4c80a7fca WHIRLPOOL fd4efd270103dc7ce248481d5e9048a88caf1ece985384fdd2385d381a3d0bc5cad124b6230dbc6ba9679c3ae4ce69dbe77ae5d684798eb2c4a916d373f87e4a
diff --git a/dev-libs/poco/files/1.3.3_p1-gcc44.patch b/dev-libs/poco/files/1.3.3_p1-gcc44.patch
new file mode 100644
index 000000000000..990aff1c4b61
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-gcc44.patch
@@ -0,0 +1,16 @@
+diff -NrU5 poco-1.3.3p1-all.orig/Foundation/src/Environment.cpp poco-1.3.3p1-all/Foundation/src/Environment.cpp
+--- poco-1.3.3p1-all.orig/Foundation/src/Environment.cpp 2009-05-15 20:44:37.000000000 -0600
++++ poco-1.3.3p1-all/Foundation/src/Environment.cpp 2009-05-15 20:46:12.000000000 -0600
+@@ -34,11 +34,11 @@
+ //
+
+
+ #include "Poco/Environment.h"
+ #include <cstdlib>
+-
++#include <cstdio>
+
+ #if defined(POCO_OS_FAMILY_VMS)
+ #include "Environment_VMS.cpp"
+ #elif defined(POCO_OS_FAMILY_UNIX)
+ #include "Environment_UNIX.cpp"
diff --git a/dev-libs/poco/files/1.3.3_p1-gentoo.patch b/dev-libs/poco/files/1.3.3_p1-gentoo.patch
new file mode 100644
index 000000000000..f162cd1d222e
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-gentoo.patch
@@ -0,0 +1,80 @@
+diff -Naur poco-1.3.3p1-all.orig/components poco-1.3.3p1-all/components
+--- poco-1.3.3p1-all.orig/components 2008-10-20 19:40:05.000000000 +0200
++++ poco-1.3.3p1-all/components 2008-10-20 20:11:19.000000000 +0200
+@@ -1,12 +1,6 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+-Crypto
+ Zip
+diff -Naur poco-1.3.3p1-all.orig/Data/ODBC/Makefile poco-1.3.3p1-all/Data/ODBC/Makefile
+--- poco-1.3.3p1-all.orig/Data/ODBC/Makefile 2008-10-20 19:40:05.000000000 +0200
++++ poco-1.3.3p1-all/Data/ODBC/Makefile 2008-10-20 19:54:07.000000000 +0200
+@@ -11,19 +11,19 @@
+ ifeq ($(POCO_CONFIG),MinGW)
+ # Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib
+ else
+-ifeq (0, $(shell test -e /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -h /usr/lib/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -e /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+-ifeq (0, $(shell test -h /usr/lib/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+diff -Naur poco-1.3.3p1-all.orig/Makefile poco-1.3.3p1-all/Makefile
+--- poco-1.3.3p1-all.orig/Makefile 2008-10-20 19:40:05.000000000 +0200
++++ poco-1.3.3p1-all/Makefile 2008-10-20 20:12:09.000000000 +0200
+@@ -21,7 +21,7 @@
+
+ .PHONY: all libexecs cppunit tests samples clean distclean install
+
+-all: libexecs tests samples
++all: libexecs
+
+ INSTALLDIR = $(DESTDIR)$(POCO_PREFIX)
+ COMPONENTS = Foundation XML Util Net NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL Crypto Zip
+@@ -31,7 +31,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 \
+@@ -41,11 +41,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 NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Crypto-libexec Zip-libexec
+-tests = Foundation-tests XML-tests Util-tests Net-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Crypto-tests Zip-tests
++libexecs = Foundation-libexec XML-libexec Util-libexec Net-libexec Data-libexec Zip-libexec
++tests = Foundation-tests XML-tests Util-tests Net-tests Data-tests Zip-tests
+ samples = Foundation-samples XML-samples Util-samples Net-samples NetSSL_OpenSSL-samples Data-samples Crypto-samples Zip-samples
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.3.3_p1-openssl-1.patch b/dev-libs/poco/files/1.3.3_p1-openssl-1.patch
new file mode 100644
index 000000000000..2377edd85a63
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-openssl-1.patch
@@ -0,0 +1,16 @@
+http://bugs.gentoo.org/327769
+
+--- NetSSL_OpenSSL/src/SecureSocketImpl.cpp
++++ NetSSL_OpenSSL/src/SecureSocketImpl.cpp
+@@ -430,7 +430,11 @@
+
+ if (!strcmp(extstr, "subjectAltName"))
+ {
++ #if OPENSSL_VERSION_NUMBER >= 0x10000000L
++ const X509V3_EXT_METHOD* meth = X509V3_EXT_get(ext);
++ #else
+ X509V3_EXT_METHOD* meth = X509V3_EXT_get(ext);
++ #endif
+ if (!meth)
+ break;
+
diff --git a/dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch b/dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch
new file mode 100644
index 000000000000..2ec2067b318a
--- /dev/null
+++ b/dev-libs/poco/files/1.3.3_p1-unbundle_libs.patch
@@ -0,0 +1,197 @@
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/Makefile poco-1.3.3p1-all/Data/SQLite/Makefile
+--- poco-1.3.3p1-all.orig/Data/SQLite/Makefile 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/Makefile 2008-11-23 10:27:53.000000000 +0100
+@@ -9,10 +9,10 @@
+ include $(POCO_BASE)/build/rules/global
+
+ SYSFLAGS += -DTHREADSAFE -DNO_TCL -DSQLITE_DISABLE_LFS
++SYSLIBS += -lsqlite3
+
+ objects = Binder Extractor SessionImpl Connector \
+- SQLiteException SQLiteStatementImpl Utility \
+- sqlite3
++ SQLiteException SQLiteStatementImpl Utility
+
+ target = PocoSQLite
+ target_version = $(LIBVERSION)
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Binder.cpp poco-1.3.3p1-all/Data/SQLite/src/Binder.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Binder.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Binder.cpp 2008-11-23 10:30:43.000000000 +0100
+@@ -38,7 +38,7 @@
+ #include "Poco/Data/SQLite/Utility.h"
+ #include "Poco/Data/BLOB.h"
+ #include "Poco/Exception.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+ #include <cstdlib>
+
+
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Connector.cpp poco-1.3.3p1-all/Data/SQLite/src/Connector.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Connector.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Connector.cpp 2008-11-23 10:29:32.000000000 +0100
+@@ -37,7 +37,7 @@
+ #include "Poco/Data/SQLite/Connector.h"
+ #include "Poco/Data/SQLite/SessionImpl.h"
+ #include "Poco/Data/SessionFactory.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Extractor.cpp poco-1.3.3p1-all/Data/SQLite/src/Extractor.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Extractor.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Extractor.cpp 2008-11-23 10:29:44.000000000 +0100
+@@ -39,7 +39,7 @@
+ #include "Poco/Data/BLOB.h"
+ #include "Poco/Data/DataException.h"
+ #include "Poco/Exception.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+ #include <cstdlib>
+
+
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/SessionImpl.cpp poco-1.3.3p1-all/Data/SQLite/src/SessionImpl.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/SessionImpl.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/SessionImpl.cpp 2008-11-23 10:30:05.000000000 +0100
+@@ -37,7 +37,7 @@
+ #include "Poco/Data/SQLite/SessionImpl.h"
+ #include "Poco/Data/SQLite/Utility.h"
+ #include "Poco/Data/SQLite/SQLiteStatementImpl.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+ #include <cstdlib>
+
+
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/SQLiteStatementImpl.cpp poco-1.3.3p1-all/Data/SQLite/src/SQLiteStatementImpl.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/SQLiteStatementImpl.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/SQLiteStatementImpl.cpp 2008-11-23 10:30:34.000000000 +0100
+@@ -40,7 +40,7 @@
+ #include "Poco/String.h"
+ #include <cstdlib>
+ #include <cstring>
+-#include "sqlite3.h"
++#include <sqlite3.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Data/SQLite/src/Utility.cpp poco-1.3.3p1-all/Data/SQLite/src/Utility.cpp
+--- poco-1.3.3p1-all.orig/Data/SQLite/src/Utility.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Data/SQLite/src/Utility.cpp 2008-11-23 10:29:22.000000000 +0100
+@@ -41,7 +41,7 @@
+ #include "Poco/NumberFormatter.h"
+ #include "Poco/String.h"
+ #include "Poco/Exception.h"
+-#include "sqlite3.h"
++#include <sqlite3.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/include/Poco/DeflatingStream.h poco-1.3.3p1-all/Foundation/include/Poco/DeflatingStream.h
+--- poco-1.3.3p1-all.orig/Foundation/include/Poco/DeflatingStream.h 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/include/Poco/DeflatingStream.h 2008-11-22 22:13:50.000000000 +0100
+@@ -44,7 +44,7 @@
+ #include "Poco/BufferedStreamBuf.h"
+ #include <istream>
+ #include <ostream>
+-#include "Poco/zlib.h"
++#include <zlib.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/include/Poco/InflatingStream.h poco-1.3.3p1-all/Foundation/include/Poco/InflatingStream.h
+--- poco-1.3.3p1-all.orig/Foundation/include/Poco/InflatingStream.h 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/include/Poco/InflatingStream.h 2008-11-22 22:13:50.000000000 +0100
+@@ -44,7 +44,7 @@
+ #include "Poco/BufferedStreamBuf.h"
+ #include <istream>
+ #include <ostream>
+-#include "Poco/zlib.h"
++#include <zlib.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/Makefile poco-1.3.3p1-all/Foundation/Makefile
+--- poco-1.3.3p1-all.orig/Foundation/Makefile 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/Makefile 2008-11-23 10:04:10.000000000 +0100
+@@ -8,6 +8,8 @@
+
+ include $(POCO_BASE)/build/rules/global
+
++SYSLIBS += -lpcre -lz
++
+ objects = ArchiveStrategy ASCIIEncoding AsyncChannel Base64Decoder Base64Encoder \
+ BinaryReader BinaryWriter Bugcheck ByteOrder Channel Checksum Configurable ConsoleChannel \
+ CountingStream DateTime LocalDateTime DateTimeFormat DateTimeFormatter DateTimeParser \
+@@ -30,12 +32,7 @@
+ FileStreamFactory URIStreamFactory URIStreamOpener UTF16Encoding Windows1252Encoding \
+ UTF8Encoding UnicodeConverter UUID UUIDGenerator Void Format \
+ Pipe PipeImpl PipeStream DynamicAny DynamicAnyHolder SharedMemory \
+- FileStream Unicode UTF8String \
+- adler32 compress crc32 deflate gzio infback inffast inflate inftrees \
+- trees zutil \
+- pcre_chartables pcre_compile pcre_globals pcre_maketables pcre_study \
+- pcre_tables pcre_try_flipped pcre_ucd pcre_valid_utf8 \
+- pcre_exec pcre_ord2utf8 pcre_newline pcre_fullinfo pcre_xclass
++ FileStream Unicode UTF8String
+
+ ifeq ($(POCO_CONFIG),MinGW)
+ objects += EventLogChannel WindowsConsoleChannel
+diff -Naur poco-1.3.3p1-all.orig/Foundation/src/Checksum.cpp poco-1.3.3p1-all/Foundation/src/Checksum.cpp
+--- poco-1.3.3p1-all.orig/Foundation/src/Checksum.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/src/Checksum.cpp 2008-11-22 22:13:50.000000000 +0100
+@@ -35,7 +35,7 @@
+
+
+ #include "Poco/Checksum.h"
+-#include "Poco/zlib.h"
++#include <zlib.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/Foundation/src/RegularExpression.cpp poco-1.3.3p1-all/Foundation/src/RegularExpression.cpp
+--- poco-1.3.3p1-all.orig/Foundation/src/RegularExpression.cpp 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/Foundation/src/RegularExpression.cpp 2008-11-22 22:13:50.000000000 +0100
+@@ -37,7 +37,7 @@
+ #include "Poco/RegularExpression.h"
+ #include "Poco/Exception.h"
+ #include <sstream>
+-#include "pcre.h"
++#include <pcre.h>
+
+
+ namespace Poco {
+diff -Naur poco-1.3.3p1-all.orig/XML/include/Poco/XML/ParserEngine.h poco-1.3.3p1-all/XML/include/Poco/XML/ParserEngine.h
+--- poco-1.3.3p1-all.orig/XML/include/Poco/XML/ParserEngine.h 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/XML/include/Poco/XML/ParserEngine.h 2008-11-22 22:13:50.000000000 +0100
+@@ -40,7 +40,7 @@
+
+
+ #include "Poco/XML/XML.h"
+-#include "Poco/XML/expat.h"
++#include <expat.h>
+ #include "Poco/XML/XMLString.h"
+ #include "Poco/XML/XMLStream.h"
+ #include "Poco/SAX/Locator.h"
+diff -Naur poco-1.3.3p1-all.orig/XML/Makefile poco-1.3.3p1-all/XML/Makefile
+--- poco-1.3.3p1-all.orig/XML/Makefile 2008-11-22 22:13:34.000000000 +0100
++++ poco-1.3.3p1-all/XML/Makefile 2008-11-23 10:04:25.000000000 +0100
+@@ -8,7 +8,9 @@
+
+ include $(POCO_BASE)/build/rules/global
+
+-COMMONFLAGS += -DXML_NS -DXML_DTD -DHAVE_EXPAT_CONFIG_H
++COMMONFLAGS += -DXML_NS -DXML_DTD
++
++SYSLIBS += -lexpat
+
+ objects = AbstractContainerNode AbstractNode Attr AttrMap Attributes \
+ AttributesImpl CDATASection CharacterData ChildNodesList Comment \
+@@ -22,7 +24,7 @@
+ NamespaceSupport Node NodeFilter NodeIterator NodeList Notation \
+ ParserEngine ProcessingInstruction SAXException SAXParser Text \
+ TreeWalker WhitespaceFilter XMLException XMLFilter XMLFilterImpl XMLReader \
+- XMLString XMLWriter NodeAppender xmlparse xmlrole xmltok
++ XMLString XMLWriter NodeAppender
+
+ target = PocoXML
+ target_version = $(LIBVERSION)
diff --git a/dev-libs/poco/files/1.3.6_p2-gentoo.patch b/dev-libs/poco/files/1.3.6_p2-gentoo.patch
new file mode 100644
index 000000000000..ec466f8567c5
--- /dev/null
+++ b/dev-libs/poco/files/1.3.6_p2-gentoo.patch
@@ -0,0 +1,85 @@
+diff -ur poco-1.3.6p2-all.orig//components poco-1.3.6p2-all/components
+--- poco-1.3.6p2-all.orig//components 2010-07-19 13:52:31.936802078 +0200
++++ poco-1.3.6p2-all/components 2010-07-19 13:59:37.351927395 +0200
+@@ -1,13 +1,7 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+diff -ur poco-1.3.6p2-all.orig//Data/ODBC/Makefile poco-1.3.6p2-all/Data/ODBC/Makefile
+--- poco-1.3.6p2-all.orig//Data/ODBC/Makefile 2010-07-19 13:52:31.932802424 +0200
++++ poco-1.3.6p2-all/Data/ODBC/Makefile 2010-07-19 13:55:24.976677962 +0200
+@@ -9,10 +9,10 @@
+ include $(POCO_BASE)/build/rules/global
+
+ # adjust for the target system (usually '/usr/lib' or '/usr/local/lib')
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+
+ INCLUDE += -I/usr/local/include -I/usr/include -I/usr/include/odbc -I/usr/local/include/odbc
+-SYSLIBS += -L/usr/local/lib/odbc -L/usr/lib/odbc -L/usr/lib -L/usr/local/lib
++SYSLIBS += -L/usr/local/$(LIBDIR)/odbc -L/usr/$(LIBDIR)/odbc -L/usr/$(LIBDIR) -L/usr/local/$(LIBDIR)
+
+ ifeq ($(POCO_CONFIG),MinGW)
+ # Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib
+@@ -24,19 +24,19 @@
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+diff -ur poco-1.3.6p2-all.orig//Makefile poco-1.3.6p2-all/Makefile
+--- poco-1.3.6p2-all.orig//Makefile 2010-07-19 13:52:31.908802377 +0200
++++ poco-1.3.6p2-all/Makefile 2010-07-19 14:00:03.814676950 +0200
+@@ -31,7 +31,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 \
+@@ -41,11 +41,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
+-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
+
+ .PHONY: $(libexecs)
diff --git a/dev-libs/poco/files/1.4.3_p1-gentoo.patch b/dev-libs/poco/files/1.4.3_p1-gentoo.patch
new file mode 100644
index 000000000000..727015ad5335
--- /dev/null
+++ b/dev-libs/poco/files/1.4.3_p1-gentoo.patch
@@ -0,0 +1,85 @@
+diff -ur poco-1.3.6p2-all.orig//components poco-1.3.6p2-all/components
+--- poco-1.3.6p2-all.orig//components 2010-07-19 13:52:31.936802078 +0200
++++ poco-1.3.6p2-all/components 2010-07-19 13:59:37.351927395 +0200
+@@ -1,13 +1,7 @@
+-CppUnit
+ Foundation
+ XML
+ Util
+ Net
+-Crypto
+-NetSSL_OpenSSL
+ Data
+-Data/SQLite
+-Data/ODBC
+-Data/MySQL
+ Zip
+ PageCompiler
+diff -ur poco-1.3.6p2-all.orig//Data/ODBC/Makefile poco-1.3.6p2-all/Data/ODBC/Makefile
+--- poco-1.3.6p2-all.orig//Data/ODBC/Makefile 2010-07-19 13:52:31.932802424 +0200
++++ poco-1.3.6p2-all/Data/ODBC/Makefile 2010-07-19 13:55:24.976677962 +0200
+@@ -9,10 +9,10 @@
+ include $(POCO_BASE)/build/rules/global
+
+ # adjust for the target system (usually '/usr/lib' or '/usr/local/lib')
+-ODBCLIBDIR = /usr/lib
++ODBCLIBDIR = /usr/$(LIBDIR)
+
+ INCLUDE += -I/usr/local/include -I/usr/include -I/usr/include/odbc -I/usr/local/include/odbc
+-SYSLIBS += -L/usr/local/lib/odbc -L/usr/lib/odbc -L/usr/lib -L/usr/local/lib
++SYSLIBS += -L/usr/local/$(LIBDIR)/odbc -L/usr/$(LIBDIR)/odbc -L/usr/$(LIBDIR) -L/usr/local/$(LIBDIR)
+
+ ifeq ($(POCO_CONFIG),MinGW)
+ # Lack of unixODBC or iODBC is not an error for MinGW platform since it uses Windows odbc32.lib
+@@ -24,19 +24,19 @@
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ COMMONFLAGS += -DPOCO_UNIXODBC
+ else
+-ifeq (0, $(shell test -e $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+-ifeq (0, $(shell test -h $(ODBCLIBDIR)/libiodbc$(SHAREDLIBLINKEXT); echo $$?))
++ifeq (iodbc, $(GENTOO_ODBC))
+ SYSLIBS += -liodbc -liodbcinst
+ COMMONFLAGS += -DPOCO_IODBC
+ else
+diff -ur poco-1.3.6p2-all.orig//Makefile poco-1.3.6p2-all/Makefile
+--- poco-1.3.6p2-all.orig//Makefile 2010-07-19 13:52:31.908802377 +0200
++++ poco-1.3.6p2-all/Makefile 2010-07-19 14:00:03.814676950 +0200
+@@ -31,7 +31,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 \
+@@ -41,11 +41,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/1.4.5-gentoo.patch b/dev-libs/poco/files/1.4.5-gentoo.patch
new file mode 100644
index 000000000000..243ee924b16b
--- /dev/null
+++ b/dev-libs/poco/files/1.4.5-gentoo.patch
@@ -0,0 +1,74 @@
+diff -Nur poco-1.4.5-all_old/components poco-1.4.5-all/components
+--- poco-1.4.5-all_old/components 2012-11-18 16:56:59.000000000 +0100
++++ poco-1.4.5-all/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
+diff -Nur poco-1.4.5-all_old/Data/ODBC/ODBC.make poco-1.4.5-all/Data/ODBC/ODBC.make
+--- poco-1.4.5-all_old/Data/ODBC/ODBC.make 2012-11-18 16:56:57.000000000 +0100
++++ poco-1.4.5-all/Data/ODBC/ODBC.make 2012-12-06 12:29:07.779546771 +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
+
+@@ -39,10 +39,10 @@
+ CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ 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
+diff -Nur poco-1.4.5-all_old/Makefile poco-1.4.5-all/Makefile
+--- poco-1.4.5-all_old/Makefile 2012-11-18 16:57:00.000000000 +0100
++++ poco-1.4.5-all/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/1.4.6_p1-gentoo.patch b/dev-libs/poco/files/1.4.6_p1-gentoo.patch
new file mode 100644
index 000000000000..243ee924b16b
--- /dev/null
+++ b/dev-libs/poco/files/1.4.6_p1-gentoo.patch
@@ -0,0 +1,74 @@
+diff -Nur poco-1.4.5-all_old/components poco-1.4.5-all/components
+--- poco-1.4.5-all_old/components 2012-11-18 16:56:59.000000000 +0100
++++ poco-1.4.5-all/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
+diff -Nur poco-1.4.5-all_old/Data/ODBC/ODBC.make poco-1.4.5-all/Data/ODBC/ODBC.make
+--- poco-1.4.5-all_old/Data/ODBC/ODBC.make 2012-11-18 16:56:57.000000000 +0100
++++ poco-1.4.5-all/Data/ODBC/ODBC.make 2012-12-06 12:29:07.779546771 +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
+
+@@ -39,10 +39,10 @@
+ CXXFLAGS += -DODBCVER=0x0300 -DNOMINMAX
+ # CYGWIN platform has its own ODBC library in /lib/w32api
+ SYSLIBS += -L/lib/w32api -lodbc32 -lodbccp32
+-else ifeq (0, $(shell test -e $(ODBCLIBDIR)/libodbc$(LIBLINKEXT); echo $$?))
++else ifeq (unixodbc, $(GENTOO_ODBC))
+ SYSLIBS += -lodbc -lodbcinst
+ 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
+diff -Nur poco-1.4.5-all_old/Makefile poco-1.4.5-all/Makefile
+--- poco-1.4.5-all_old/Makefile 2012-11-18 16:57:00.000000000 +0100
++++ poco-1.4.5-all/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/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/libpcre-8.13.patch b/dev-libs/poco/files/libpcre-8.13.patch
new file mode 100644
index 000000000000..e46dd5b16be4
--- /dev/null
+++ b/dev-libs/poco/files/libpcre-8.13.patch
@@ -0,0 +1,10 @@
+--- Foundation/Makefile 2012-01-23 15:12:27.000000000 +0100
++++ Foundation/Makefile.new 2012-04-11 14:58:14.000000000 +0200
+@@ -43,7 +43,6 @@
+ pcre_utf8_objects = pcre_ucd pcre_tables
+
+ ifdef POCO_UNBUNDLED
+- objects += $(pcre_utf8_objects)
+ SYSLIBS += -lpcre -lz
+ else
+ objects += $(zlib_objects) $(pcre_objects) $(pcre_utf8_objects)
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/metadata.xml b/dev-libs/poco/metadata.xml
new file mode 100644
index 000000000000..ef852f1d155f
--- /dev/null
+++ b/dev-libs/poco/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tommy@gentoo.org</email>
+ <name>Thomas Sachau (Tommy[D])</name>
+ </maintainer>
+ <herd>cpp</herd>
+ <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>
+ </upstream>
+</pkgmetadata>
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..5123adb01484
--- /dev/null
+++ b/dev-libs/poco/poco-1.4.6_p4.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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++ class libraries to simplify the development of network-centric, portable applications"
+HOMEPAGE="http://pocoproject.org/"
+SRC_URI="http://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
+}