Gentoo Archives: gentoo-commits

From: Mart Raudsepp <leio@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxml2/, dev-libs/libxml2/files/
Date: Sat, 30 Mar 2019 20:57:23
Message-Id: 1553979405.588a79fdf708601c7f512ddbb52394c4cc425f95.leio@gentoo
1 commit: 588a79fdf708601c7f512ddbb52394c4cc425f95
2 Author: Mart Raudsepp <leio <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 30 20:56:45 2019 +0000
4 Commit: Mart Raudsepp <leio <AT> gentoo <DOT> org>
5 CommitDate: Sat Mar 30 20:56:45 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=588a79fd
7
8 dev-libs/libxml2: remove old
9
10 Package-Manager: Portage-2.3.52, Repoman-2.3.12
11 Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>
12
13 dev-libs/libxml2/Manifest | 1 -
14 .../files/libxml2-2.9.8-CVE-2017-8872.patch | 65 ------
15 .../files/libxml2-2.9.8-CVE-2018-14404.patch | 54 -----
16 .../files/libxml2-2.9.8-CVE-2018-14567.patch | 50 -----
17 dev-libs/libxml2/libxml2-2.9.8-r1.ebuild | 225 ---------------------
18 dev-libs/libxml2/libxml2-2.9.8.ebuild | 213 -------------------
19 6 files changed, 608 deletions(-)
20
21 diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest
22 index 34ec74aa101..7c58d04e3ed 100644
23 --- a/dev-libs/libxml2/Manifest
24 +++ b/dev-libs/libxml2/Manifest
25 @@ -1,4 +1,3 @@
26 -DIST libxml2-2.9.8.tar.gz 5469097 BLAKE2B 0b7836db46edebf6e7108c28da4bb7e3fb5ddc695aaa3e456ba51a66c0294a741d7b60eb4c31c7040443bbd54712c019424078bd533856a9650b39a703a926d5 SHA512 28903282c7672206effa1362fd564cbe4cf5be44264b083a7d14e383f73bccd1b81bcafb5f4f2f56f5e7e05914c660e27668c9ce91b1b9f256ef5358d55ba917
27 DIST libxml2-2.9.9-patchset.tar.xz 16792 BLAKE2B f761b5cda41d57543dadf2cdd8915b69727a818f31badc1092903a9e4341b807852fed0887e9ec7a06a0c19c4a49f9afc2f3c048947f21a09006bb51ef8399ef SHA512 c8c0ee6d0a2833e5664aa7549999f8ba63b9f0bbfda4651050eeee7d3a958c33ef55daba8cfb1ca73ebffeb44d411b5f4259fe6e11ef0204ad2deebd1708ebfb
28 DIST libxml2-2.9.9.tar.gz 5476717 BLAKE2B 00a67c38084f2effd5d68d7d3e68f0c96cf4f52eab6d8d9b96dc91f03a84baa132abeaf303a836ff9bbf04f832432a036077316c464398e433c9779d8519074b SHA512 cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810
29 DIST xmlts20080827.tar.gz 638940 BLAKE2B c5aab959c6e0698acd5b9be82b48a8ac26f4d01cc03f9acfff20d344f97f4711fc6d4a524ae70457147e8e30c72e27b6726829e1dd21896286aa974ed60774e7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d
30
31 diff --git a/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2017-8872.patch b/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2017-8872.patch
32 deleted file mode 100644
33 index 6062f63df9e..00000000000
34 --- a/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2017-8872.patch
35 +++ /dev/null
36 @@ -1,65 +0,0 @@
37 -https://bugs.gentoo.org/618110
38 -https://bugzilla.gnome.org/show_bug.cgi?id=775200
39 -https://gitlab.gnome.org/GNOME/libxml2/issues/26
40 -
41 -From 123234f2cfcd9e9b9f83047eee1dc17b4c3f4407 Mon Sep 17 00:00:00 2001
42 -From: Nick Wellnhofer <wellnhofer@×××××.de>
43 -Date: Tue, 11 Sep 2018 14:52:07 +0200
44 -Subject: [PATCH] Free input buffer in xmlHaltParser
45 -
46 -This avoids miscalculation of available bytes.
47 -
48 -Thanks to Yunho Kim for the report.
49 -
50 -Closes: #26
51 ----
52 - parser.c | 5 +++++
53 - result/errors/759573.xml.err | 17 +++++++----------
54 - 2 files changed, 12 insertions(+), 10 deletions(-)
55 -
56 -diff --git a/parser.c b/parser.c
57 -index ca9fde2c8758..5813a6643e15 100644
58 ---- a/parser.c
59 -+++ b/parser.c
60 -@@ -12462,7 +12462,12 @@ xmlHaltParser(xmlParserCtxtPtr ctxt) {
61 - ctxt->input->free((xmlChar *) ctxt->input->base);
62 - ctxt->input->free = NULL;
63 - }
64 -+ if (ctxt->input->buf != NULL) {
65 -+ xmlFreeParserInputBuffer(ctxt->input->buf);
66 -+ ctxt->input->buf = NULL;
67 -+ }
68 - ctxt->input->cur = BAD_CAST"";
69 -+ ctxt->input->length = 0;
70 - ctxt->input->base = ctxt->input->cur;
71 - ctxt->input->end = ctxt->input->cur;
72 - }
73 -diff --git a/result/errors/759573.xml.err b/result/errors/759573.xml.err
74 -index 554039f65b91..38ef5c40b8e3 100644
75 ---- a/result/errors/759573.xml.err
76 -+++ b/result/errors/759573.xml.err
77 -@@ -21,14 +21,11 @@ Entity: line 1:
78 - ^
79 - ./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
80 -
81 --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
82 -- ^
83 -+
84 -+^
85 - ./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated
86 --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
87 -- ^
88 --./test/errors/759573.xml:1: parser error : StartTag: invalid element name
89 --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
90 -- ^
91 --./test/errors/759573.xml:1: parser error : Extra content at the end of the document
92 --<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
93 -- ^
94 -+
95 -+^
96 -+./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found
97 -+
98 -+^
99 ---
100 -2.19.1
101 -
102
103 diff --git a/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2018-14404.patch b/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2018-14404.patch
104 deleted file mode 100644
105 index 59bfc0fa9b8..00000000000
106 --- a/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2018-14404.patch
107 +++ /dev/null
108 @@ -1,54 +0,0 @@
109 -From a436374994c47b12d5de1b8b1d191a098fa23594 Mon Sep 17 00:00:00 2001
110 -From: Nick Wellnhofer <wellnhofer@×××××.de>
111 -Date: Mon, 30 Jul 2018 12:54:38 +0200
112 -Subject: [PATCH] Fix nullptr deref with XPath logic ops
113 -
114 -If the XPath stack is corrupted, for example by a misbehaving extension
115 -function, the "and" and "or" XPath operators could dereference NULL
116 -pointers. Check that the XPath stack isn't empty and optimize the
117 -logic operators slightly.
118 -
119 -Closes: https://gitlab.gnome.org/GNOME/libxml2/issues/5
120 -
121 -Also see
122 -https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=901817
123 -https://bugzilla.redhat.com/show_bug.cgi?id=1595985
124 -
125 -This is CVE-2018-14404.
126 -
127 -Thanks to Guy Inbar for the report.
128 ----
129 - xpath.c | 10 ++++------
130 - 1 file changed, 4 insertions(+), 6 deletions(-)
131 -
132 -diff --git a/xpath.c b/xpath.c
133 -index 3fae0bf4e0a0..5e3bb9ff6401 100644
134 ---- a/xpath.c
135 -+++ b/xpath.c
136 -@@ -13234,9 +13234,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
137 - return(0);
138 - }
139 - xmlXPathBooleanFunction(ctxt, 1);
140 -- arg1 = valuePop(ctxt);
141 -- arg1->boolval &= arg2->boolval;
142 -- valuePush(ctxt, arg1);
143 -+ if (ctxt->value != NULL)
144 -+ ctxt->value->boolval &= arg2->boolval;
145 - xmlXPathReleaseObject(ctxt->context, arg2);
146 - return (total);
147 - case XPATH_OP_OR:
148 -@@ -13252,9 +13251,8 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
149 - return(0);
150 - }
151 - xmlXPathBooleanFunction(ctxt, 1);
152 -- arg1 = valuePop(ctxt);
153 -- arg1->boolval |= arg2->boolval;
154 -- valuePush(ctxt, arg1);
155 -+ if (ctxt->value != NULL)
156 -+ ctxt->value->boolval |= arg2->boolval;
157 - xmlXPathReleaseObject(ctxt->context, arg2);
158 - return (total);
159 - case XPATH_OP_EQUAL:
160 ---
161 -2.19.1
162 -
163
164 diff --git a/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2018-14567.patch b/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2018-14567.patch
165 deleted file mode 100644
166 index 0d289352d2f..00000000000
167 --- a/dev-libs/libxml2/files/libxml2-2.9.8-CVE-2018-14567.patch
168 +++ /dev/null
169 @@ -1,50 +0,0 @@
170 -From 2240fbf5912054af025fb6e01e26375100275e74 Mon Sep 17 00:00:00 2001
171 -From: Nick Wellnhofer <wellnhofer@×××××.de>
172 -Date: Mon, 30 Jul 2018 13:14:11 +0200
173 -Subject: [PATCH] Fix infinite loop in LZMA decompression
174 -MIME-Version: 1.0
175 -Content-Type: text/plain; charset=UTF-8
176 -Content-Transfer-Encoding: 8bit
177 -
178 -Check the liblzma error code more thoroughly to avoid infinite loops.
179 -
180 -Closes: https://gitlab.gnome.org/GNOME/libxml2/issues/13
181 -Closes: https://bugzilla.gnome.org/show_bug.cgi?id=794914
182 -
183 -This is CVE-2018-9251 and CVE-2018-14567.
184 -
185 -Thanks to Dongliang Mu and Simon Wörner for the reports.
186 ----
187 - xzlib.c | 9 +++++++++
188 - 1 file changed, 9 insertions(+)
189 -
190 -diff --git a/xzlib.c b/xzlib.c
191 -index a839169ef2ec..0ba88cfa849d 100644
192 ---- a/xzlib.c
193 -+++ b/xzlib.c
194 -@@ -562,6 +562,10 @@ xz_decomp(xz_statep state)
195 - "internal error: inflate stream corrupt");
196 - return -1;
197 - }
198 -+ /*
199 -+ * FIXME: Remapping a couple of error codes and falling through
200 -+ * to the LZMA error handling looks fragile.
201 -+ */
202 - if (ret == Z_MEM_ERROR)
203 - ret = LZMA_MEM_ERROR;
204 - if (ret == Z_DATA_ERROR)
205 -@@ -587,6 +591,11 @@ xz_decomp(xz_statep state)
206 - xz_error(state, LZMA_PROG_ERROR, "compression error");
207 - return -1;
208 - }
209 -+ if ((state->how != GZIP) &&
210 -+ (ret != LZMA_OK) && (ret != LZMA_STREAM_END)) {
211 -+ xz_error(state, ret, "lzma error");
212 -+ return -1;
213 -+ }
214 - } while (strm->avail_out && ret != LZMA_STREAM_END);
215 -
216 - /* update available output and crc check value */
217 ---
218 -2.19.1
219 -
220
221 diff --git a/dev-libs/libxml2/libxml2-2.9.8-r1.ebuild b/dev-libs/libxml2/libxml2-2.9.8-r1.ebuild
222 deleted file mode 100644
223 index 86521ab289a..00000000000
224 --- a/dev-libs/libxml2/libxml2-2.9.8-r1.ebuild
225 +++ /dev/null
226 @@ -1,225 +0,0 @@
227 -# Copyright 1999-2018 Gentoo Authors
228 -# Distributed under the terms of the GNU General Public License v2
229 -
230 -EAPI=6
231 -PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
232 -PYTHON_REQ_USE="xml"
233 -
234 -inherit libtool flag-o-matic ltprune python-r1 autotools prefix multilib-minimal
235 -
236 -DESCRIPTION="XML C parser and toolkit"
237 -HOMEPAGE="http://www.xmlsoft.org/"
238 -
239 -LICENSE="MIT"
240 -SLOT="2"
241 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
242 -IUSE="debug examples icu ipv6 lzma python readline static-libs test"
243 -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
244 -
245 -XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
246 -XSTS_NAME_1="xmlschema2002-01-16"
247 -XSTS_NAME_2="xmlschema2004-01-14"
248 -XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
249 -XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
250 -XMLCONF_TARBALL="xmlts20080827.tar.gz"
251 -
252 -SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
253 - test? (
254 - ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
255 - ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
256 - http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
257 -
258 -RDEPEND="
259 - >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
260 - icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
261 - lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
262 - python? ( ${PYTHON_DEPS} )
263 - readline? ( sys-libs/readline:= )
264 -"
265 -DEPEND="${RDEPEND}
266 - dev-util/gtk-doc-am
267 - virtual/pkgconfig
268 - hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
269 -"
270 -
271 -S="${WORKDIR}/${PN}-${PV%_rc*}"
272 -
273 -MULTILIB_CHOST_TOOLS=(
274 - /usr/bin/xml2-config
275 -)
276 -
277 -src_unpack() {
278 - # ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
279 - # as they are needed as tarballs in ${S}/xstc instead and not unpacked
280 - unpack ${P/_rc/-rc}.tar.gz
281 - cd "${S}" || die
282 -
283 - if use test; then
284 - cp "${DISTDIR}/${XSTS_TARBALL_1}" \
285 - "${DISTDIR}/${XSTS_TARBALL_2}" \
286 - "${S}"/xstc/ \
287 - || die "Failed to install test tarballs"
288 - unpack ${XMLCONF_TARBALL}
289 - fi
290 -}
291 -
292 -src_prepare() {
293 - default
294 -
295 - DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
296 -
297 - # Patches needed for prefix support
298 - eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
299 -
300 - eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
301 -
302 - # Fix build for Windows platform
303 - # https://bugzilla.gnome.org/show_bug.cgi?id=760456
304 - # eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
305 -
306 - # Fix python detection, bug #567066
307 - # https://bugzilla.gnome.org/show_bug.cgi?id=760458
308 - eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
309 -
310 - # Fix python tests when building out of tree #565576
311 - eapply "${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
312 -
313 - # CVE-2017-8872 #618110
314 - # https://bugzilla.gnome.org/show_bug.cgi?id=775200
315 - eapply "${FILESDIR}"/${PN}-2.9.8-CVE-2017-8872.patch
316 -
317 - # CVE-2018-14567
318 - # https://bugzilla.gnome.org/show_bug.cgi?id=794914
319 - eapply "${FILESDIR}"/${PN}-2.9.8-CVE-2018-14567.patch
320 -
321 - # CVE-2018-14404
322 - # https://gitlab.gnome.org/GNOME/libxml2/issues/5
323 - eapply "${FILESDIR}"/${PN}-2.9.8-CVE-2018-14404.patch
324 -
325 - if [[ ${CHOST} == *-darwin* ]] ; then
326 - # Avoid final linking arguments for python modules
327 - sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
328 - # gcc-apple doesn't grok -Wno-array-bounds
329 - sed -i -e 's/-Wno-array-bounds//' configure.ac || die
330 - fi
331 -
332 - # Please do not remove, as else we get references to PORTAGE_TMPDIR
333 - # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
334 - # We now need to run eautoreconf at the end to prevent maintainer mode.
335 -# elibtoolize
336 -# epunt_cxx # if we don't eautoreconf
337 -
338 - eautoreconf
339 -}
340 -
341 -multilib_src_configure() {
342 - # filter seemingly problematic CFLAGS (#26320)
343 - filter-flags -fprefetch-loop-arrays -funroll-loops
344 -
345 - # USE zlib support breaks gnome2
346 - # (libgnomeprint for instance fails to compile with
347 - # fresh install, and existing) - <azarah@g.o> (22 Dec 2002).
348 -
349 - # The meaning of the 'debug' USE flag does not apply to the --with-debug
350 - # switch (enabling the libxml2 debug module). See bug #100898.
351 -
352 - # --with-mem-debug causes unusual segmentation faults (bug #105120).
353 -
354 - libxml2_configure() {
355 - ECONF_SOURCE="${S}" econf \
356 - --with-html-subdir=${PF}/html \
357 - $(use_with debug run-debug) \
358 - $(use_with icu) \
359 - $(use_with lzma) \
360 - $(use_enable ipv6) \
361 - $(use_enable static-libs static) \
362 - $(multilib_native_use_with readline) \
363 - $(multilib_native_use_with readline history) \
364 - "$@"
365 - }
366 -
367 - libxml2_py_configure() {
368 - mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
369 - run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
370 - }
371 -
372 - libxml2_configure --without-python # build python bindings separately
373 -
374 - if multilib_is_native_abi && use python; then
375 - python_foreach_impl libxml2_py_configure
376 - fi
377 -}
378 -
379 -multilib_src_compile() {
380 - default
381 - if multilib_is_native_abi && use python; then
382 - local native_builddir=${BUILD_DIR}
383 - python_foreach_impl libxml2_py_emake top_builddir="${native_builddir}" all
384 - fi
385 -}
386 -
387 -multilib_src_test() {
388 - emake check
389 - multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
390 -}
391 -
392 -multilib_src_install() {
393 - emake DESTDIR="${D}" \
394 - EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
395 -
396 - if multilib_is_native_abi && use python; then
397 - python_foreach_impl libxml2_py_emake \
398 - DESTDIR="${D}" \
399 - docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
400 - exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
401 - install
402 - python_foreach_impl python_optimize
403 - fi
404 -}
405 -
406 -multilib_src_install_all() {
407 - # on windows, xmllint is installed by interix libxml2 in parent prefix.
408 - # this is the version to use. the native winnt version does not support
409 - # symlinks, which makes repoman fail if the portage tree is linked in
410 - # from another location (which is my default). -- mduft
411 - if [[ ${CHOST} == *-winnt* ]]; then
412 - rm -rf "${ED}"/usr/bin/xmllint
413 - rm -rf "${ED}"/usr/bin/xmlcatalog
414 - fi
415 -
416 - rm -rf "${ED}"/usr/share/doc/${P}
417 - einstalldocs
418 -
419 - if ! use examples; then
420 - rm -rf "${ED}"/usr/share/doc/${PF}/examples
421 - rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
422 - fi
423 -
424 - prune_libtool_files --modules
425 -}
426 -
427 -pkg_postinst() {
428 - # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
429 - # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
430 - if [[ "${ROOT}" != "/" ]]; then
431 - elog "Skipping XML catalog creation for stage building (bug #208887)."
432 - else
433 - # need an XML catalog, so no-one writes to a non-existent one
434 - CATALOG="${EROOT}etc/xml/catalog"
435 -
436 - # we dont want to clobber an existing catalog though,
437 - # only ensure that one is there
438 - # <obz@g.o>
439 - if [[ ! -e ${CATALOG} ]]; then
440 - [[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml"
441 - "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
442 - einfo "Created XML catalog in ${CATALOG}"
443 - fi
444 - fi
445 -}
446 -
447 -libxml2_py_emake() {
448 - pushd "${BUILD_DIR}/python" > /dev/null || die
449 - emake "$@"
450 - popd > /dev/null
451 -}
452
453 diff --git a/dev-libs/libxml2/libxml2-2.9.8.ebuild b/dev-libs/libxml2/libxml2-2.9.8.ebuild
454 deleted file mode 100644
455 index fbb37285cb7..00000000000
456 --- a/dev-libs/libxml2/libxml2-2.9.8.ebuild
457 +++ /dev/null
458 @@ -1,213 +0,0 @@
459 -# Copyright 1999-2018 Gentoo Authors
460 -# Distributed under the terms of the GNU General Public License v2
461 -
462 -EAPI=6
463 -PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
464 -PYTHON_REQ_USE="xml"
465 -
466 -inherit libtool flag-o-matic ltprune python-r1 autotools prefix multilib-minimal
467 -
468 -DESCRIPTION="XML C parser and toolkit"
469 -HOMEPAGE="http://www.xmlsoft.org/"
470 -
471 -LICENSE="MIT"
472 -SLOT="2"
473 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
474 -IUSE="debug examples icu ipv6 lzma python readline static-libs test"
475 -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
476 -
477 -XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
478 -XSTS_NAME_1="xmlschema2002-01-16"
479 -XSTS_NAME_2="xmlschema2004-01-14"
480 -XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
481 -XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
482 -XMLCONF_TARBALL="xmlts20080827.tar.gz"
483 -
484 -SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
485 - test? (
486 - ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
487 - ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
488 - http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
489 -
490 -RDEPEND="
491 - >=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
492 - icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
493 - lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
494 - python? ( ${PYTHON_DEPS} )
495 - readline? ( sys-libs/readline:= )
496 -"
497 -DEPEND="${RDEPEND}
498 - dev-util/gtk-doc-am
499 - virtual/pkgconfig
500 - hppa? ( >=sys-devel/binutils-2.15.92.0.2 )
501 -"
502 -
503 -S="${WORKDIR}/${PN}-${PV%_rc*}"
504 -
505 -MULTILIB_CHOST_TOOLS=(
506 - /usr/bin/xml2-config
507 -)
508 -
509 -src_unpack() {
510 - # ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
511 - # as they are needed as tarballs in ${S}/xstc instead and not unpacked
512 - unpack ${P/_rc/-rc}.tar.gz
513 - cd "${S}" || die
514 -
515 - if use test; then
516 - cp "${DISTDIR}/${XSTS_TARBALL_1}" \
517 - "${DISTDIR}/${XSTS_TARBALL_2}" \
518 - "${S}"/xstc/ \
519 - || die "Failed to install test tarballs"
520 - unpack ${XMLCONF_TARBALL}
521 - fi
522 -}
523 -
524 -src_prepare() {
525 - default
526 -
527 - DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
528 -
529 - # Patches needed for prefix support
530 - eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
531 -
532 - eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
533 -
534 - # Fix build for Windows platform
535 - # https://bugzilla.gnome.org/show_bug.cgi?id=760456
536 - # eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
537 -
538 - # Fix python detection, bug #567066
539 - # https://bugzilla.gnome.org/show_bug.cgi?id=760458
540 - eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
541 -
542 - # Fix python tests when building out of tree #565576
543 - eapply "${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
544 -
545 - if [[ ${CHOST} == *-darwin* ]] ; then
546 - # Avoid final linking arguments for python modules
547 - sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
548 - # gcc-apple doesn't grok -Wno-array-bounds
549 - sed -i -e 's/-Wno-array-bounds//' configure.ac || die
550 - fi
551 -
552 - # Please do not remove, as else we get references to PORTAGE_TMPDIR
553 - # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
554 - # We now need to run eautoreconf at the end to prevent maintainer mode.
555 -# elibtoolize
556 -# epunt_cxx # if we don't eautoreconf
557 -
558 - eautoreconf
559 -}
560 -
561 -multilib_src_configure() {
562 - # filter seemingly problematic CFLAGS (#26320)
563 - filter-flags -fprefetch-loop-arrays -funroll-loops
564 -
565 - # USE zlib support breaks gnome2
566 - # (libgnomeprint for instance fails to compile with
567 - # fresh install, and existing) - <azarah@g.o> (22 Dec 2002).
568 -
569 - # The meaning of the 'debug' USE flag does not apply to the --with-debug
570 - # switch (enabling the libxml2 debug module). See bug #100898.
571 -
572 - # --with-mem-debug causes unusual segmentation faults (bug #105120).
573 -
574 - libxml2_configure() {
575 - ECONF_SOURCE="${S}" econf \
576 - --with-html-subdir=${PF}/html \
577 - $(use_with debug run-debug) \
578 - $(use_with icu) \
579 - $(use_with lzma) \
580 - $(use_enable ipv6) \
581 - $(use_enable static-libs static) \
582 - $(multilib_native_use_with readline) \
583 - $(multilib_native_use_with readline history) \
584 - "$@"
585 - }
586 -
587 - libxml2_py_configure() {
588 - mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
589 - run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130
590 - }
591 -
592 - libxml2_configure --without-python # build python bindings separately
593 -
594 - if multilib_is_native_abi && use python; then
595 - python_foreach_impl libxml2_py_configure
596 - fi
597 -}
598 -
599 -multilib_src_compile() {
600 - default
601 - if multilib_is_native_abi && use python; then
602 - local native_builddir=${BUILD_DIR}
603 - python_foreach_impl libxml2_py_emake top_builddir="${native_builddir}" all
604 - fi
605 -}
606 -
607 -multilib_src_test() {
608 - emake check
609 - multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
610 -}
611 -
612 -multilib_src_install() {
613 - emake DESTDIR="${D}" \
614 - EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install
615 -
616 - if multilib_is_native_abi && use python; then
617 - python_foreach_impl libxml2_py_emake \
618 - DESTDIR="${D}" \
619 - docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
620 - exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
621 - install
622 - python_foreach_impl python_optimize
623 - fi
624 -}
625 -
626 -multilib_src_install_all() {
627 - # on windows, xmllint is installed by interix libxml2 in parent prefix.
628 - # this is the version to use. the native winnt version does not support
629 - # symlinks, which makes repoman fail if the portage tree is linked in
630 - # from another location (which is my default). -- mduft
631 - if [[ ${CHOST} == *-winnt* ]]; then
632 - rm -rf "${ED}"/usr/bin/xmllint
633 - rm -rf "${ED}"/usr/bin/xmlcatalog
634 - fi
635 -
636 - rm -rf "${ED}"/usr/share/doc/${P}
637 - einstalldocs
638 -
639 - if ! use examples; then
640 - rm -rf "${ED}"/usr/share/doc/${PF}/examples
641 - rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
642 - fi
643 -
644 - prune_libtool_files --modules
645 -}
646 -
647 -pkg_postinst() {
648 - # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
649 - # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
650 - if [[ "${ROOT}" != "/" ]]; then
651 - elog "Skipping XML catalog creation for stage building (bug #208887)."
652 - else
653 - # need an XML catalog, so no-one writes to a non-existent one
654 - CATALOG="${EROOT}etc/xml/catalog"
655 -
656 - # we dont want to clobber an existing catalog though,
657 - # only ensure that one is there
658 - # <obz@g.o>
659 - if [[ ! -e ${CATALOG} ]]; then
660 - [[ -d "${EROOT}etc/xml" ]] || mkdir -p "${EROOT}etc/xml"
661 - "${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
662 - einfo "Created XML catalog in ${CATALOG}"
663 - fi
664 - fi
665 -}
666 -
667 -libxml2_py_emake() {
668 - pushd "${BUILD_DIR}/python" > /dev/null || die
669 - emake "$@"
670 - popd > /dev/null
671 -}