Gentoo Archives: gentoo-commits

From: Mike Frysinger <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libpcre/, dev-libs/libpcre/files/
Date: Wed, 30 Mar 2016 23:49:12
Message-Id: 1459381663.6ef97cb24a97b21cf46d077f8ba9dd363db4e44d.vapier@gentoo
1 commit: 6ef97cb24a97b21cf46d077f8ba9dd363db4e44d
2 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 30 23:29:53 2016 +0000
4 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 30 23:47:43 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ef97cb2
7
8 dev-libs/libpcre: drop old 8.3[567] versions
9
10 dev-libs/libpcre/Manifest | 3 -
11 .../libpcre/files/libpcre-8.37-CVE-2015-3210.patch | 91 ---------------------
12 .../libpcre/files/libpcre-8.37-CVE-2015-5073.patch | 72 ----------------
13 dev-libs/libpcre/libpcre-8.35.ebuild | 95 ----------------------
14 dev-libs/libpcre/libpcre-8.36.ebuild | 95 ----------------------
15 dev-libs/libpcre/libpcre-8.37-r2.ebuild | 93 ---------------------
16 6 files changed, 449 deletions(-)
17
18 diff --git a/dev-libs/libpcre/Manifest b/dev-libs/libpcre/Manifest
19 index c0cadfd..1e875c9 100644
20 --- a/dev-libs/libpcre/Manifest
21 +++ b/dev-libs/libpcre/Manifest
22 @@ -1,5 +1,2 @@
23 DIST pcre-7.9.tar.bz2 861580 SHA256 40a13a9759f1de5b16bc2f0d47b6aa5f0ec010325646922f54b013c040dcd740 SHA512 b4c47a9b196750d4bead9e3904702fc793d282a22af1b34e24081077b4c167ec787cf7dec9a565fa9df4dafb5927b7accdd49568f5c2f8733842cbbec5d4d25c WHIRLPOOL 412cf0a128861cbb991a0424e9f4ba551093b7853465776e17465f9c2b4222002a8b26d7a234b91a49e055a04ae840ad5d6c1613615c98db3d44413a723a6152
24 -DIST pcre-8.35.tar.bz2 1522220 SHA256 a961c1c78befef263cc130756eeca7b674b4e73a81533293df44e4265236865b SHA512 e94c652b40de60b391e28afbddc67b5a034650f6f62027e52f2d7aef53caf5f0da9f2d4f6872d1558f965dd9d4d696e5e23d2a50f20a4fbc9f0a707fb6f55fae WHIRLPOOL 677dd9673299438c4d76c68947124069b9c2b88ac837e59d00fc4e92113498357041f173ec4ae1cd61e760debad0a2392710f986794796678e596b9a22ba62a2
25 -DIST pcre-8.36.tar.bz2 1533818 SHA256 ef833457de0c40e82f573e34528f43a751ff20257ad0e86d272ed5637eb845bb SHA512 acd2bc6911be7b518ad4aca3c3ccbe98bdbeabf0e77d6b04009838c7825b563a001377f8c3a6a8a0583ec32ee9fefe05e3c1a69f272fe5084469a6b6c2148fbf WHIRLPOOL 4c144e3c468a76d8bac3d8a0d4642f7b2e2bd03f84ca915d51a81af7128d7d9c6ed7272bf25e2b9c5eb435037b77ffc41b871bd7257efde0a14a20f5fb4b8432
26 -DIST pcre-8.37.tar.bz2 1557603 SHA256 51679ea8006ce31379fb0860e46dd86665d864b5020fc9cd19e71260eef4789d SHA512 19344c9add2ebbd26c528505d07d3b028d79bc3e6103d51453a449cebd76bc76f5bc7ddd9ef0de41f98c50be74a2d9a65db539ed60f1add1086d99bde8a81466 WHIRLPOOL 43f723a9107fd6d78a88d4682502d79d5b9b0df90a579667a80b9862611a1c7bee25a1d5a1f9facec7c077f89605d7d96e3843d4aa5b94113b49b06a974331e5
27 DIST pcre-8.38.tar.bz2 1562265 SHA256 b9e02d36e23024d6c02a2e5b25204b3a4fa6ade43e0a5f869f254f49535079df SHA512 ad3412ceee8f992787a3e7cbe0155ffba67affd4b2dfece6c4501dc8d2012f52dcc1ee1f56759362e04bbbd10ea9370b3e46f238e2f75005cb69f6c8439e52c0 WHIRLPOOL 68533f741a3faa618f4d7341bfa59aaac295ac6af6085772e4c169ad73fae38e98cace2ce2af2899a619bb05dce79859dcd175a158a73729082f7cf52107d1df
28
29 diff --git a/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch b/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch
30 deleted file mode 100644
31 index 8199b08..0000000
32 --- a/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-3210.patch
33 +++ /dev/null
34 @@ -1,91 +0,0 @@
35 -https://bugs.exim.org/show_bug.cgi?id=1636
36 -https://bugs.gentoo.org/551240
37 -https://bugzilla.redhat.com/1236659
38 -
39 -From 68ff1beb43bb3d4d8838f3285c97023d1e50513a Mon Sep 17 00:00:00 2001
40 -From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
41 -Date: Fri, 15 May 2015 17:17:03 +0000
42 -Subject: [PATCH] Fix buffer overflow for named recursive back reference when
43 - the name is duplicated.
44 -MIME-Version: 1.0
45 -Content-Type: text/plain; charset=UTF-8
46 -Content-Transfer-Encoding: 8bit
47 -
48 -Upstream commit ported to pcre-8.37:
49 -
50 -commit 4b79af6b4cbeb5326ae5e4d83f3e935e00286c19
51 -Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
52 -Date: Fri May 15 17:17:03 2015 +0000
53 -
54 - Fix buffer overflow for named recursive back reference when the name is
55 - duplicated.
56 -
57 - git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1558 2f5784b3-3f2a-0410-8824-cb99058d5e15
58 -
59 -This fixes CVE-2015-3210.
60 -
61 -Signed-off-by: Petr Písař <ppisar@××××××.com>
62 ----
63 - pcre_compile.c | 16 ++++++++++++++--
64 - testdata/testinput2 | 2 ++
65 - testdata/testoutput2 | 2 ++
66 - 3 files changed, 18 insertions(+), 2 deletions(-)
67 -
68 -diff --git a/pcre_compile.c b/pcre_compile.c
69 -index 0efad26..6f06912 100644
70 ---- a/pcre_compile.c
71 -+++ b/pcre_compile.c
72 -@@ -7173,14 +7173,26 @@ for (;; ptr++)
73 - number. If the name is not found, set the value to 0 for a forward
74 - reference. */
75 -
76 -+ recno = 0;
77 - ng = cd->named_groups;
78 - for (i = 0; i < cd->names_found; i++, ng++)
79 - {
80 - if (namelen == ng->length &&
81 - STRNCMP_UC_UC(name, ng->name, namelen) == 0)
82 -- break;
83 -+ {
84 -+ open_capitem *oc;
85 -+ recno = ng->number;
86 -+ if (is_recurse) break;
87 -+ for (oc = cd->open_caps; oc != NULL; oc = oc->next)
88 -+ {
89 -+ if (oc->number == recno)
90 -+ {
91 -+ oc->flag = TRUE;
92 -+ break;
93 -+ }
94 -+ }
95 -+ }
96 - }
97 -- recno = (i < cd->names_found)? ng->number : 0;
98 -
99 - /* Count named back references. */
100 -
101 -diff --git a/testdata/testinput2 b/testdata/testinput2
102 -index 58fe53b..83bb471 100644
103 ---- a/testdata/testinput2
104 -+++ b/testdata/testinput2
105 -@@ -4152,4 +4152,6 @@ backtracking verbs. --/
106 -
107 - /((?2){73}(?2))((?1))/
108 -
109 -+"(?J)(?'d'(?'d'\g{d}))"
110 -+
111 - /-- End of testinput2 --/
112 -diff --git a/testdata/testoutput2 b/testdata/testoutput2
113 -index b718df0..7dff52a 100644
114 ---- a/testdata/testoutput2
115 -+++ b/testdata/testoutput2
116 -@@ -14423,4 +14423,6 @@ Failed: lookbehind assertion is not fixed length at offset 17
117 -
118 - /((?2){73}(?2))((?1))/
119 -
120 -+"(?J)(?'d'(?'d'\g{d}))"
121 -+
122 - /-- End of testinput2 --/
123 ---
124 -2.4.3
125 -
126
127 diff --git a/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch b/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch
128 deleted file mode 100644
129 index a97ea39..0000000
130 --- a/dev-libs/libpcre/files/libpcre-8.37-CVE-2015-5073.patch
131 +++ /dev/null
132 @@ -1,72 +0,0 @@
133 -https://bugs.exim.org/show_bug.cgi?id=1651
134 -https://bugs.gentoo.org/553300
135 -https://bugzilla.redhat.com/1237224
136 -
137 -From 354e1f8e921dcb9cf2f3a5eac93cd826d01a7d8a Mon Sep 17 00:00:00 2001
138 -From: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
139 -Date: Tue, 23 Jun 2015 16:34:53 +0000
140 -Subject: [PATCH] Fix buffer overflow for forward reference within backward
141 - assertion with excess closing parenthesis. Bugzilla 1651.
142 -MIME-Version: 1.0
143 -Content-Type: text/plain; charset=UTF-8
144 -Content-Transfer-Encoding: 8bit
145 -
146 -This is upstream commit ported to 8.37:
147 -
148 -commit 764692f9aea9eab50fdba6cb537441d8b34c6c37
149 -Author: ph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>
150 -Date: Tue Jun 23 16:34:53 2015 +0000
151 -
152 - Fix buffer overflow for forward reference within backward assertion with excess
153 - closing parenthesis. Bugzilla 1651.
154 -
155 - git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1571 2f5784b3-3f2a-0410-8824-cb99058d5e15
156 -
157 -It fixes CVE-2015-5073.
158 -
159 -Signed-off-by: Petr Písař <ppisar@××××××.com>
160 ----
161 - pcre_compile.c | 2 +-
162 - testdata/testinput2 | 2 ++
163 - testdata/testoutput2 | 3 +++
164 - 3 files changed, 6 insertions(+), 1 deletion(-)
165 -
166 -diff --git a/pcre_compile.c b/pcre_compile.c
167 -index 6f06912..b66b1f6 100644
168 ---- a/pcre_compile.c
169 -+++ b/pcre_compile.c
170 -@@ -9392,7 +9392,7 @@ OP_RECURSE that are not fixed length get a diagnosic with a useful offset. The
171 - exceptional ones forgo this. We scan the pattern to check that they are fixed
172 - length, and set their lengths. */
173 -
174 --if (cd->check_lookbehind)
175 -+if (errorcode == 0 && cd->check_lookbehind)
176 - {
177 - pcre_uchar *cc = (pcre_uchar *)codestart;
178 -
179 -diff --git a/testdata/testinput2 b/testdata/testinput2
180 -index 83bb471..5cc9ce6 100644
181 ---- a/testdata/testinput2
182 -+++ b/testdata/testinput2
183 -@@ -4154,4 +4154,6 @@ backtracking verbs. --/
184 -
185 - "(?J)(?'d'(?'d'\g{d}))"
186 -
187 -+/(?=di(?<=(?1))|(?=(.))))/
188 -+
189 - /-- End of testinput2 --/
190 -diff --git a/testdata/testoutput2 b/testdata/testoutput2
191 -index 7dff52a..4decb8d 100644
192 ---- a/testdata/testoutput2
193 -+++ b/testdata/testoutput2
194 -@@ -14425,4 +14425,7 @@ Failed: lookbehind assertion is not fixed length at offset 17
195 -
196 - "(?J)(?'d'(?'d'\g{d}))"
197 -
198 -+/(?=di(?<=(?1))|(?=(.))))/
199 -+Failed: unmatched parentheses at offset 23
200 -+
201 - /-- End of testinput2 --/
202 ---
203 -2.4.3
204 -
205
206 diff --git a/dev-libs/libpcre/libpcre-8.35.ebuild b/dev-libs/libpcre/libpcre-8.35.ebuild
207 deleted file mode 100644
208 index 6339233..0000000
209 --- a/dev-libs/libpcre/libpcre-8.35.ebuild
210 +++ /dev/null
211 @@ -1,95 +0,0 @@
212 -# Copyright 1999-2014 Gentoo Foundation
213 -# Distributed under the terms of the GNU General Public License v2
214 -# $Id$
215 -
216 -EAPI="4"
217 -
218 -inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
219 -
220 -DESCRIPTION="Perl-compatible regular expression library"
221 -HOMEPAGE="http://www.pcre.org/"
222 -MY_P="pcre-${PV/_rc/-RC}"
223 -if [[ ${PV} != *_rc* ]] ; then
224 - # Only the final releases are available here.
225 - SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
226 - ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
227 -else
228 - SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
229 -fi
230 -
231 -LICENSE="BSD"
232 -SLOT="3"
233 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
234 -IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
235 -REQUIRED_USE="readline? ( !libedit )
236 - libedit? ( !readline )"
237 -
238 -RDEPEND="bzip2? ( app-arch/bzip2 )
239 - zlib? ( sys-libs/zlib )
240 - libedit? ( dev-libs/libedit )
241 - readline? ( sys-libs/readline )"
242 -DEPEND="${RDEPEND}
243 - virtual/pkgconfig"
244 -RDEPEND="${RDEPEND}
245 - abi_x86_32? (
246 - !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
247 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
248 - )"
249 -
250 -S=${WORKDIR}/${MY_P}
251 -
252 -MULTILIB_CHOST_TOOLS=(
253 - /usr/bin/pcre-config
254 -)
255 -
256 -src_prepare() {
257 - local pc
258 - for pc in *.pc.in ; do
259 - echo "Libs.private: @PTHREAD_CFLAGS@" >> ${pc} #454478
260 - done
261 - sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
262 - elibtoolize
263 -}
264 -
265 -multilib_src_configure() {
266 - ECONF_SOURCE="${S}" econf \
267 - --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
268 - $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
269 - $(use_enable cxx cpp) \
270 - $(use_enable jit) $(use_enable jit pcregrep-jit) \
271 - $(use_enable pcre16) \
272 - $(use_enable pcre32) \
273 - $(multilib_native_use_enable libedit pcretest-libedit) \
274 - $(multilib_native_use_enable readline pcretest-libreadline) \
275 - $(use_enable static-libs static) \
276 - $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
277 - $(multilib_native_use_enable zlib pcregrep-libz) \
278 - --enable-pcre8 \
279 - --enable-shared \
280 - --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
281 - --docdir="${EPREFIX}"/usr/share/doc/${PF}
282 -}
283 -
284 -multilib_src_compile() {
285 - emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
286 -}
287 -
288 -multilib_src_install() {
289 - emake \
290 - DESTDIR="${D}" \
291 - $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
292 - install
293 - gen_usr_ldscript -a pcre
294 -}
295 -
296 -multilib_src_install_all() {
297 - prune_libtool_files
298 -}
299 -
300 -pkg_preinst() {
301 - preserve_old_lib /$(get_libdir)/libpcre.so.0
302 -}
303 -
304 -pkg_postinst() {
305 - preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
306 -}
307
308 diff --git a/dev-libs/libpcre/libpcre-8.36.ebuild b/dev-libs/libpcre/libpcre-8.36.ebuild
309 deleted file mode 100644
310 index 7cff23e..0000000
311 --- a/dev-libs/libpcre/libpcre-8.36.ebuild
312 +++ /dev/null
313 @@ -1,95 +0,0 @@
314 -# Copyright 1999-2015 Gentoo Foundation
315 -# Distributed under the terms of the GNU General Public License v2
316 -# $Id$
317 -
318 -EAPI="4"
319 -
320 -inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
321 -
322 -DESCRIPTION="Perl-compatible regular expression library"
323 -HOMEPAGE="http://www.pcre.org/"
324 -MY_P="pcre-${PV/_rc/-RC}"
325 -if [[ ${PV} != *_rc* ]] ; then
326 - # Only the final releases are available here.
327 - SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
328 - ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
329 -else
330 - SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
331 -fi
332 -
333 -LICENSE="BSD"
334 -SLOT="3"
335 -KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
336 -IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
337 -REQUIRED_USE="readline? ( !libedit )
338 - libedit? ( !readline )"
339 -
340 -RDEPEND="bzip2? ( app-arch/bzip2 )
341 - zlib? ( sys-libs/zlib )
342 - libedit? ( dev-libs/libedit )
343 - readline? ( sys-libs/readline )"
344 -DEPEND="${RDEPEND}
345 - virtual/pkgconfig"
346 -RDEPEND="${RDEPEND}
347 - abi_x86_32? (
348 - !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
349 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
350 - )"
351 -
352 -S=${WORKDIR}/${MY_P}
353 -
354 -MULTILIB_CHOST_TOOLS=(
355 - /usr/bin/pcre-config
356 -)
357 -
358 -src_prepare() {
359 - local pc
360 - for pc in *.pc.in ; do
361 - echo "Libs.private: @PTHREAD_CFLAGS@" >> ${pc} #454478
362 - done
363 - sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
364 - elibtoolize
365 -}
366 -
367 -multilib_src_configure() {
368 - ECONF_SOURCE="${S}" econf \
369 - --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
370 - $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
371 - $(use_enable cxx cpp) \
372 - $(use_enable jit) $(use_enable jit pcregrep-jit) \
373 - $(use_enable pcre16) \
374 - $(use_enable pcre32) \
375 - $(multilib_native_use_enable libedit pcretest-libedit) \
376 - $(multilib_native_use_enable readline pcretest-libreadline) \
377 - $(use_enable static-libs static) \
378 - $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
379 - $(multilib_native_use_enable zlib pcregrep-libz) \
380 - --enable-pcre8 \
381 - --enable-shared \
382 - --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
383 - --docdir="${EPREFIX}"/usr/share/doc/${PF}
384 -}
385 -
386 -multilib_src_compile() {
387 - emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
388 -}
389 -
390 -multilib_src_install() {
391 - emake \
392 - DESTDIR="${D}" \
393 - $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
394 - install
395 - gen_usr_ldscript -a pcre
396 -}
397 -
398 -multilib_src_install_all() {
399 - prune_libtool_files
400 -}
401 -
402 -pkg_preinst() {
403 - preserve_old_lib /$(get_libdir)/libpcre.so.0
404 -}
405 -
406 -pkg_postinst() {
407 - preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
408 -}
409
410 diff --git a/dev-libs/libpcre/libpcre-8.37-r2.ebuild b/dev-libs/libpcre/libpcre-8.37-r2.ebuild
411 deleted file mode 100644
412 index 4b098ab..0000000
413 --- a/dev-libs/libpcre/libpcre-8.37-r2.ebuild
414 +++ /dev/null
415 @@ -1,93 +0,0 @@
416 -# Copyright 1999-2015 Gentoo Foundation
417 -# Distributed under the terms of the GNU General Public License v2
418 -# $Id$
419 -
420 -EAPI="5"
421 -
422 -inherit eutils multilib libtool flag-o-matic toolchain-funcs multilib-minimal
423 -
424 -DESCRIPTION="Perl-compatible regular expression library"
425 -HOMEPAGE="http://www.pcre.org/"
426 -MY_P="pcre-${PV/_rc/-RC}"
427 -if [[ ${PV} != *_rc* ]] ; then
428 - # Only the final releases are available here.
429 - SRC_URI="mirror://sourceforge/pcre/${MY_P}.tar.bz2
430 - ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${MY_P}.tar.bz2"
431 -else
432 - SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/${MY_P}.tar.bz2"
433 -fi
434 -
435 -LICENSE="BSD"
436 -SLOT="3"
437 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
438 -IUSE="bzip2 +cxx +jit libedit pcre16 pcre32 +readline +recursion-limit static-libs unicode zlib"
439 -REQUIRED_USE="readline? ( !libedit )
440 - libedit? ( !readline )"
441 -
442 -RDEPEND="bzip2? ( app-arch/bzip2 )
443 - zlib? ( sys-libs/zlib )
444 - libedit? ( dev-libs/libedit )
445 - readline? ( sys-libs/readline:0= )"
446 -DEPEND="${RDEPEND}
447 - virtual/pkgconfig"
448 -RDEPEND="${RDEPEND}
449 - abi_x86_32? (
450 - !<=app-emulation/emul-linux-x86-baselibs-20131008-r2
451 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
452 - )"
453 -
454 -S=${WORKDIR}/${MY_P}
455 -
456 -MULTILIB_CHOST_TOOLS=(
457 - /usr/bin/pcre-config
458 -)
459 -
460 -src_prepare() {
461 - epatch "${FILESDIR}"/${P}-CVE-2015-3210.patch #551240
462 - epatch "${FILESDIR}"/${P}-CVE-2015-5073.patch #553300
463 - sed -i -e "s:-lpcre ::" libpcrecpp.pc.in || die
464 - elibtoolize
465 -}
466 -
467 -multilib_src_configure() {
468 - ECONF_SOURCE="${S}" econf \
469 - --with-match-limit-recursion=$(usex recursion-limit 8192 MATCH_LIMIT) \
470 - $(multilib_native_use_enable bzip2 pcregrep-libbz2) \
471 - $(use_enable cxx cpp) \
472 - $(use_enable jit) $(use_enable jit pcregrep-jit) \
473 - $(use_enable pcre16) \
474 - $(use_enable pcre32) \
475 - $(multilib_native_use_enable libedit pcretest-libedit) \
476 - $(multilib_native_use_enable readline pcretest-libreadline) \
477 - $(use_enable static-libs static) \
478 - $(use_enable unicode utf) $(use_enable unicode unicode-properties) \
479 - $(multilib_native_use_enable zlib pcregrep-libz) \
480 - --enable-pcre8 \
481 - --enable-shared \
482 - --htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
483 - --docdir="${EPREFIX}"/usr/share/doc/${PF}
484 -}
485 -
486 -multilib_src_compile() {
487 - emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
488 -}
489 -
490 -multilib_src_install() {
491 - emake \
492 - DESTDIR="${D}" \
493 - $(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
494 - install
495 - gen_usr_ldscript -a pcre
496 -}
497 -
498 -multilib_src_install_all() {
499 - prune_libtool_files
500 -}
501 -
502 -pkg_preinst() {
503 - preserve_old_lib /$(get_libdir)/libpcre.so.0
504 -}
505 -
506 -pkg_postinst() {
507 - preserve_old_lib_notify /$(get_libdir)/libpcre.so.0
508 -}