blob: 93c4559ec12a3f6e2aa552f93e70d18d6a6f77ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# Copyright 1999-2019 Gentoo Authors
# 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:0= )
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
}
|