dev-libs/poco: add libressl support
authorJulian Ospald <hasufell@gentoo.org>
Mon, 5 Oct 2015 08:44:27 +0000 (10:44 +0200)
committerJulian Ospald <hasufell@gentoo.org>
Mon, 5 Oct 2015 08:45:16 +0000 (10:45 +0200)
dev-libs/poco/poco-1.4.6_p4-r1.ebuild [new file with mode: 0644]

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 (file)
index 0000000..0e0e4d4
--- /dev/null
@@ -0,0 +1,122 @@
+# 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 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
+}