1 |
commit: ec8daf15e08a001221b6cebc7c905c6b7bdb0e75 |
2 |
Author: Brian Evans <grknight <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Feb 10 03:00:27 2019 +0000 |
4 |
Commit: Brian Evans <grknight <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Feb 10 03:00:27 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec8daf15 |
7 |
|
8 |
dev-libs/poco: Revbump to fix MySQL dependencies and detection |
9 |
|
10 |
Bug: https://bugs.gentoo.org/665880 |
11 |
Package-Manager: Portage-2.3.59, Repoman-2.3.12 |
12 |
Signed-off-by: Brian Evans <grknight <AT> gentoo.org> |
13 |
|
14 |
dev-libs/poco/metadata.xml | 1 + |
15 |
dev-libs/poco/poco-1.7.6-r1.ebuild | 119 ++++++++++++++++++++++++++++++++++ |
16 |
dev-libs/poco/poco-1.9.0-r1.ebuild | 128 +++++++++++++++++++++++++++++++++++++ |
17 |
3 files changed, 248 insertions(+) |
18 |
|
19 |
diff --git a/dev-libs/poco/metadata.xml b/dev-libs/poco/metadata.xml |
20 |
index a2b0f1f2ac3..f7a05b32b68 100644 |
21 |
--- a/dev-libs/poco/metadata.xml |
22 |
+++ b/dev-libs/poco/metadata.xml |
23 |
@@ -33,6 +33,7 @@ done quickly and working on the features that make their application unique. |
24 |
<flag name="data">Database abstraction layer to easily send/retrieve data to/from various databases</flag> |
25 |
<flag name="file2pagecompiler">Utility to convert ordinary files to Page Compiler source files</flag> |
26 |
<flag name="json">Add JSON support</flag> |
27 |
+ <flag name="mariadb">Prefer <pkg>dev-db/mariadb-connector-c</pkg> over <pkg>dev-db/mysql-connector-c</pkg></flag> |
28 |
<flag name="mongodb">Add <pkg>dev-db/mongodb</pkg> support</flag> |
29 |
<flag name="net">Classes to write network clients & servers</flag> |
30 |
<flag name="pagecompiler">Simple compiler translating HTML pages containing embedded C++ code into HTTPRequestHandler classes</flag> |
31 |
|
32 |
diff --git a/dev-libs/poco/poco-1.7.6-r1.ebuild b/dev-libs/poco/poco-1.7.6-r1.ebuild |
33 |
new file mode 100644 |
34 |
index 00000000000..0f6dc738686 |
35 |
--- /dev/null |
36 |
+++ b/dev-libs/poco/poco-1.7.6-r1.ebuild |
37 |
@@ -0,0 +1,119 @@ |
38 |
+# Copyright 1999-2019 Gentoo Authors |
39 |
+# Distributed under the terms of the GNU General Public License v2 |
40 |
+ |
41 |
+EAPI=6 |
42 |
+ |
43 |
+inherit cmake-utils |
44 |
+ |
45 |
+DESCRIPTION="C++ libraries for building network-based applications" |
46 |
+HOMEPAGE="https://pocoproject.org/" |
47 |
+SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz" |
48 |
+LICENSE="Boost-1.0" |
49 |
+SLOT="0" |
50 |
+KEYWORDS="~amd64 ~arm ~x86" |
51 |
+IUSE="7z apache cppparser +crypto +data examples +file2pagecompiler +json +pagecompiler iodbc libressl +mongodb mysql +net odbc pdf pocodoc sqlite +ssl test +util +xml +zip" |
52 |
+REQUIRED_USE="7z? ( xml ) |
53 |
+ apache? ( net util ) |
54 |
+ file2pagecompiler? ( pagecompiler ) |
55 |
+ iodbc? ( odbc ) |
56 |
+ mongodb? ( data ) |
57 |
+ mysql? ( data ) |
58 |
+ odbc? ( data ) |
59 |
+ pagecompiler? ( json net util xml ) |
60 |
+ pocodoc? ( cppparser util xml ) |
61 |
+ sqlite? ( data ) |
62 |
+ test? ( data? ( sqlite ) json util xml )" |
63 |
+ |
64 |
+RDEPEND=">=dev-libs/libpcre-8.13 |
65 |
+ xml? ( dev-libs/expat ) |
66 |
+ apache? ( dev-libs/apr |
67 |
+ dev-libs/apr-util |
68 |
+ www-servers/apache ) |
69 |
+ mysql? ( dev-db/mysql-connector-c:0= ) |
70 |
+ odbc? ( iodbc? ( dev-db/libiodbc ) |
71 |
+ !iodbc? ( dev-db/unixODBC ) ) |
72 |
+ ssl? ( |
73 |
+ !libressl? ( <dev-libs/openssl-1.1.0:0= ) |
74 |
+ libressl? ( dev-libs/libressl ) |
75 |
+ ) |
76 |
+ sqlite? ( dev-db/sqlite:3 ) |
77 |
+ zip? ( sys-libs/zlib )" |
78 |
+DEPEND="${DEPEND} |
79 |
+ virtual/pkgconfig" |
80 |
+ |
81 |
+S="${WORKDIR}/${PN}-${P}-release" |
82 |
+ |
83 |
+PATCHES=( "${FILESDIR}/${PN}-1.7.2-iodbc-incdir.patch" ) |
84 |
+ |
85 |
+src_prepare() { |
86 |
+ if use test ; then |
87 |
+ # ignore missing tests on experimental library |
88 |
+ # and tests requiring running DB-servers, internet connections, etc. |
89 |
+ sed -i \ |
90 |
+ -e '/testsuite/d' \ |
91 |
+ {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF}/CMakeLists.txt || die |
92 |
+ # Poco expands ~ using passwd, which does not match $HOME in the build environment |
93 |
+ sed -i \ |
94 |
+ -e '/CppUnit_addTest.*testExpand/d' \ |
95 |
+ Foundation/testsuite/src/PathTest.cpp || die |
96 |
+ # ignore failing Crypto test since upstream does not seem to care, |
97 |
+ # see https://github.com/pocoproject/poco/issues/1209 |
98 |
+ sed -i \ |
99 |
+ -e '/RSATest, testRSACipherLarge/d' \ |
100 |
+ Crypto/testsuite/src/RSATest.cpp || die |
101 |
+ fi |
102 |
+ |
103 |
+ # Fix MySQL detection |
104 |
+ sed -i -e 's/mysqlclient_r/mysqlclient/' \ |
105 |
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \ |
106 |
+ cmake/FindMySQL.cmake || die |
107 |
+ cmake-utils_src_prepare |
108 |
+} |
109 |
+ |
110 |
+src_configure() { |
111 |
+ local mycmakeargs=( |
112 |
+ -DPOCO_UNBUNDLED=ON |
113 |
+ -DENABLE_APACHECONNECTOR="$(usex apache)" |
114 |
+ -DENABLE_CPPPARSER="$(usex cppparser)" |
115 |
+ -DENABLE_CRYPTO="$(usex ssl)" |
116 |
+ -DENABLE_DATA="$(usex data)" |
117 |
+ -DENABLE_DATA_MYSQL="$(usex mysql)" |
118 |
+ -DENABLE_DATA_ODBC="$(usex odbc)" |
119 |
+ -DENABLE_DATA_SQLITE="$(usex sqlite)" |
120 |
+ -DENABLE_JSON="$(usex util)" |
121 |
+ -DENABLE_MONGODB="$(usex mongodb)" |
122 |
+ -DENABLE_NET="$(usex net)" |
123 |
+ -DENABLE_NETSSL="$(usex ssl)" |
124 |
+ -DENABLE_NETSSL_WIN=OFF |
125 |
+ -DENABLE_PAGECOMPILER="$(usex pagecompiler)" |
126 |
+ -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)" |
127 |
+ -DENABLE_PDF="$(usex pdf)" |
128 |
+ -DENABLE_POCODOC="$(usex pocodoc)" |
129 |
+ -DENABLE_SEVENZIP="$(usex 7z)" |
130 |
+ -DENABLE_TESTS="$(usex test)" |
131 |
+ -DENABLE_UTIL="$(usex util)" |
132 |
+ -DENABLE_XML="$(usex xml)" |
133 |
+ -DENABLE_ZIP="$(usex zip)" |
134 |
+ ) |
135 |
+ |
136 |
+ if ! use iodbc ; then |
137 |
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die |
138 |
+ fi |
139 |
+ |
140 |
+ cmake-utils_src_configure |
141 |
+} |
142 |
+ |
143 |
+src_install() { |
144 |
+ cmake-utils_src_install |
145 |
+ |
146 |
+ if use examples ; then |
147 |
+ for sd in */samples ; do |
148 |
+ insinto /usr/share/doc/${PF}/examples/${sd%/samples} |
149 |
+ doins -r ${sd} |
150 |
+ done |
151 |
+ find "${D}/usr/share/doc/${PF}/examples" \ |
152 |
+ -iname "*.sln" -or -iname "*.vcproj" -or \ |
153 |
+ -iname "*.vmsbuild" -or -iname "*.properties" \ |
154 |
+ | xargs rm |
155 |
+ fi |
156 |
+} |
157 |
|
158 |
diff --git a/dev-libs/poco/poco-1.9.0-r1.ebuild b/dev-libs/poco/poco-1.9.0-r1.ebuild |
159 |
new file mode 100644 |
160 |
index 00000000000..a00decb0b06 |
161 |
--- /dev/null |
162 |
+++ b/dev-libs/poco/poco-1.9.0-r1.ebuild |
163 |
@@ -0,0 +1,128 @@ |
164 |
+# Copyright 1999-2019 Gentoo Authors |
165 |
+# Distributed under the terms of the GNU General Public License v2 |
166 |
+ |
167 |
+EAPI=6 |
168 |
+ |
169 |
+inherit cmake-utils |
170 |
+ |
171 |
+DESCRIPTION="C++ libraries for building network-based applications" |
172 |
+HOMEPAGE="https://pocoproject.org/" |
173 |
+SRC_URI="https://github.com/pocoproject/${PN}/archive/${P}-release.tar.gz -> ${P}.tar.gz" |
174 |
+LICENSE="Boost-1.0" |
175 |
+SLOT="0" |
176 |
+KEYWORDS="~amd64 ~arm ~x86" |
177 |
+IUSE="7z apache cppparser +crypto +data examples +file2pagecompiler +json +pagecompiler iodbc libressl mariadb +mongodb mysql +net odbc pdf pocodoc sqlite +ssl test +util +xml +zip" |
178 |
+REQUIRED_USE="7z? ( xml ) |
179 |
+ apache? ( net util ) |
180 |
+ file2pagecompiler? ( pagecompiler ) |
181 |
+ iodbc? ( odbc ) |
182 |
+ mongodb? ( data ) |
183 |
+ mysql? ( data ) |
184 |
+ odbc? ( data ) |
185 |
+ pagecompiler? ( json net util xml ) |
186 |
+ pocodoc? ( cppparser util xml ) |
187 |
+ sqlite? ( data ) |
188 |
+ test? ( data? ( sqlite ) json util xml )" |
189 |
+ |
190 |
+RDEPEND=">=dev-libs/libpcre-8.13 |
191 |
+ xml? ( dev-libs/expat ) |
192 |
+ apache? ( dev-libs/apr |
193 |
+ dev-libs/apr-util |
194 |
+ www-servers/apache ) |
195 |
+ mysql? ( !mariadb? ( dev-db/mysql-connector-c:0= ) |
196 |
+ mariadb? ( dev-db/mariadb-connector-c:0= ) ) |
197 |
+ odbc? ( iodbc? ( dev-db/libiodbc ) |
198 |
+ !iodbc? ( dev-db/unixODBC ) ) |
199 |
+ ssl? ( |
200 |
+ !libressl? ( <dev-libs/openssl-1.1.0:0= ) |
201 |
+ libressl? ( dev-libs/libressl ) |
202 |
+ ) |
203 |
+ sqlite? ( dev-db/sqlite:3 ) |
204 |
+ zip? ( sys-libs/zlib )" |
205 |
+DEPEND="${DEPEND} |
206 |
+ virtual/pkgconfig" |
207 |
+ |
208 |
+S="${WORKDIR}/${PN}-${P}-release" |
209 |
+ |
210 |
+PATCHES=( "${FILESDIR}/${PN}-1.7.2-iodbc-incdir.patch" ) |
211 |
+ |
212 |
+src_prepare() { |
213 |
+ if use test ; then |
214 |
+ # ignore missing tests on experimental library |
215 |
+ # and tests requiring running DB-servers, internet connections, etc. |
216 |
+ sed -i \ |
217 |
+ -e '/testsuite/d' \ |
218 |
+ {Data/{MySQL,ODBC},MongoDB,Net,NetSSL_OpenSSL,PDF}/CMakeLists.txt || die |
219 |
+ # Poco expands ~ using passwd, which does not match $HOME in the build environment |
220 |
+ sed -i \ |
221 |
+ -e '/CppUnit_addTest.*testExpand/d' \ |
222 |
+ Foundation/testsuite/src/PathTest.cpp || die |
223 |
+ # ignore failing Crypto test since upstream does not seem to care, |
224 |
+ # see https://github.com/pocoproject/poco/issues/1209 |
225 |
+ sed -i \ |
226 |
+ -e '/RSATest, testRSACipherLarge/d' \ |
227 |
+ Crypto/testsuite/src/RSATest.cpp || die |
228 |
+ fi |
229 |
+ |
230 |
+ if use mariadb ; then |
231 |
+ # Fix MariaDB detection |
232 |
+ sed -i -e 's~/usr/include/mysql~~' \ |
233 |
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \ |
234 |
+ cmake/FindMySQL.cmake || die |
235 |
+ else |
236 |
+ # Fix MySQL detection |
237 |
+ sed -i -e 's/mysqlclient_r/mysqlclient/' \ |
238 |
+ -e 's/STATUS "Couldn/FATAL_ERROR "Couldn/' \ |
239 |
+ cmake/FindMySQL.cmake || die |
240 |
+ fi |
241 |
+ |
242 |
+ cmake-utils_src_prepare |
243 |
+} |
244 |
+ |
245 |
+src_configure() { |
246 |
+ local mycmakeargs=( |
247 |
+ -DPOCO_UNBUNDLED=ON |
248 |
+ -DENABLE_APACHECONNECTOR="$(usex apache)" |
249 |
+ -DENABLE_CPPPARSER="$(usex cppparser)" |
250 |
+ -DENABLE_CRYPTO="$(usex ssl)" |
251 |
+ -DENABLE_DATA="$(usex data)" |
252 |
+ -DENABLE_DATA_MYSQL="$(usex mysql)" |
253 |
+ -DENABLE_DATA_ODBC="$(usex odbc)" |
254 |
+ -DENABLE_DATA_SQLITE="$(usex sqlite)" |
255 |
+ -DENABLE_JSON="$(usex util)" |
256 |
+ -DENABLE_MONGODB="$(usex mongodb)" |
257 |
+ -DENABLE_NET="$(usex net)" |
258 |
+ -DENABLE_NETSSL="$(usex ssl)" |
259 |
+ -DENABLE_NETSSL_WIN=OFF |
260 |
+ -DENABLE_PAGECOMPILER="$(usex pagecompiler)" |
261 |
+ -DENABLE_PAGECOMPILER_FILE2PAGE="$(usex file2pagecompiler)" |
262 |
+ -DENABLE_PDF="$(usex pdf)" |
263 |
+ -DENABLE_POCODOC="$(usex pocodoc)" |
264 |
+ -DENABLE_SEVENZIP="$(usex 7z)" |
265 |
+ -DENABLE_TESTS="$(usex test)" |
266 |
+ -DENABLE_UTIL="$(usex util)" |
267 |
+ -DENABLE_XML="$(usex xml)" |
268 |
+ -DENABLE_ZIP="$(usex zip)" |
269 |
+ ) |
270 |
+ |
271 |
+ if ! use iodbc ; then |
272 |
+ sed -i -e 's|iodbc||' cmake/FindODBC.cmake || die |
273 |
+ fi |
274 |
+ |
275 |
+ cmake-utils_src_configure |
276 |
+} |
277 |
+ |
278 |
+src_install() { |
279 |
+ cmake-utils_src_install |
280 |
+ |
281 |
+ if use examples ; then |
282 |
+ for sd in */samples ; do |
283 |
+ insinto /usr/share/doc/${PF}/examples/${sd%/samples} |
284 |
+ doins -r ${sd} |
285 |
+ done |
286 |
+ find "${D}/usr/share/doc/${PF}/examples" \ |
287 |
+ -iname "*.sln" -or -iname "*.vcproj" -or \ |
288 |
+ -iname "*.vmsbuild" -or -iname "*.properties" \ |
289 |
+ | xargs rm |
290 |
+ fi |
291 |
+} |