Gentoo Archives: gentoo-commits

From: Michael Weber <xmw@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
Date: Wed, 29 Mar 2017 00:02:16
Message-Id: 1490745711.134bd877d0614574894e8bef0ab89bcd30da3f23.xmw@gentoo
1 commit: 134bd877d0614574894e8bef0ab89bcd30da3f23
2 Author: Michael Weber <xmw <AT> gentoo <DOT> org>
3 AuthorDate: Tue Mar 28 23:58:32 2017 +0000
4 Commit: Michael Weber <xmw <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 29 00:01:51 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=134bd877
7
8 dev-libs/libxslt: remove old.
9
10 Package-Manager: Portage-2.3.5, Repoman-2.3.2
11 RepoMan-Options: --include-arches="arm arm64 ppc ppc64"
12
13 dev-libs/libxslt/Manifest | 1 -
14 .../files/libxslt-1.1.28-AC_PATH_TOOL.patch | 46 -------
15 ...bxslt-1.1.28-attribute-type-preprocessing.patch | 29 -----
16 .../libxslt-1.1.28-broken-fprintf-parameters.patch | 52 --------
17 .../files/libxslt-1.1.28-exslt-str-replace.patch | 42 ------
18 .../files/libxslt-1.1.28-fix-quoting-xlocale.patch | 47 -------
19 ...bxslt-1.1.28-seed-pseudo-random-generator.patch | 60 ---------
20 dev-libs/libxslt/libxslt-1.1.28-r5.ebuild | 144 ---------------------
21 8 files changed, 421 deletions(-)
22
23 diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
24 index 3e393a9386f..16615d334a1 100644
25 --- a/dev-libs/libxslt/Manifest
26 +++ b/dev-libs/libxslt/Manifest
27 @@ -1,2 +1 @@
28 -DIST libxslt-1.1.28.tar.gz 3435907 SHA256 5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c SHA512 20b65bdaceaac5bd11d509bf683ce8e344030bc95164639266ae705d41659bcba47b5be1b059d0d67681e6428b0710db675d1749c06aa531bc2212ed3d0511b1 WHIRLPOOL 7f059d7d6b02fc5982c31d3239188ff0a6d211f722635ac3d3cd77bedf54ef9b1a9433ef1c55a9335f353ce618f3dd93a9e1e19c117988358ab31857edff1843
29 DIST libxslt-1.1.29.tar.gz 3428524 SHA256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce SHA512 a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31 WHIRLPOOL 874dca166a147e3928207b0dea720b92a3657406363536be0cc3c904dcea7bad0af48536a722d1570743908a7e730073a13440f41885b8fbaeba919b1e99521b
30
31 diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch b/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch
32 deleted file mode 100644
33 index bc9ff7fe359..00000000000
34 --- a/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch
35 +++ /dev/null
36 @@ -1,46 +0,0 @@
37 -From 1fc82ea63f16efc0d607b39a162e3032d7c2d602 Mon Sep 17 00:00:00 2001
38 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@g.o>
39 -Date: Wed, 3 Sep 2014 11:21:01 +0200
40 -Subject: [PATCH] Use AC_PATH_TOOL to find libgcrypt-config and xml2-config
41 -
42 -Using AC_PATH_TOOL prefers ${CHOST}-prefixed tools over 'bare' ones,
43 -therefore improving support for cross-compilation and multilib. This
44 -is useful for environment where libgcrypt-config and xml2-config
45 -correspond to the build host environment, while
46 -${CHOST}-libgcrypt-config and ${CHOST}-xml2-config are installed for
47 -each supported build targets.
48 -
49 -Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=725635
50 -Fixes: https://bugs.gentoo.org/show_bug.cgi?id=518728
51 ----
52 - configure.in | 6 +++---
53 - 1 file changed, 3 insertions(+), 3 deletions(-)
54 -
55 -diff --git a/configure.in b/configure.in
56 -index a861e90..f1639a8 100644
57 ---- a/configure.in
58 -+++ b/configure.in
59 -@@ -393,7 +393,7 @@ case $host in
60 - CRYPTO_TESTDIR=crypto
61 - ;;
62 - *)
63 -- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
64 -+ AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
65 - if test "$LIBGCRYPT_CONFIG" != "no" ; then
66 - LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
67 - if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
68 -@@ -507,9 +507,9 @@ AC_SUBST(LIBXML_REQUIRED_VERSION)
69 - AC_MSG_CHECKING(for libxml libraries >= $LIBXML_REQUIRED_VERSION)
70 - if test "x$LIBXML_CONFIG_PREFIX" != "x"
71 - then
72 -- XML_CONFIG=${LIBXML_CONFIG_PREFIX}/bin/xml2-config
73 -+ AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false], [${LIBXML_CONFIG_PREFIX}/bin])
74 - else
75 -- XML_CONFIG=xml2-config
76 -+ AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
77 - fi
78 -
79 - dnl
80 ---
81 -2.1.0
82 -
83
84 diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-attribute-type-preprocessing.patch b/dev-libs/libxslt/files/libxslt-1.1.28-attribute-type-preprocessing.patch
85 deleted file mode 100644
86 index fbcd7ea9055..00000000000
87 --- a/dev-libs/libxslt/files/libxslt-1.1.28-attribute-type-preprocessing.patch
88 +++ /dev/null
89 @@ -1,29 +0,0 @@
90 -From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001
91 -From: Daniel Veillard <veillard@××××××.com>
92 -Date: Thu, 29 Oct 2015 19:33:23 +0800
93 -Subject: Fix for type confusion in preprocessing attributes
94 -
95 -CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10
96 -We need to check that the parent node is an element before dereferencing
97 -its namespace
98 ----
99 - libxslt/preproc.c | 3 ++-
100 - 1 file changed, 2 insertions(+), 1 deletion(-)
101 -
102 -diff --git a/libxslt/preproc.c b/libxslt/preproc.c
103 -index 0eb80a0..7f69325 100644
104 ---- a/libxslt/preproc.c
105 -+++ b/libxslt/preproc.c
106 -@@ -2249,7 +2249,8 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
107 - } else if (IS_XSLT_NAME(inst, "attribute")) {
108 - xmlNodePtr parent = inst->parent;
109 -
110 -- if ((parent == NULL) || (parent->ns == NULL) ||
111 -+ if ((parent == NULL) ||
112 -+ (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) ||
113 - ((parent->ns != inst->ns) &&
114 - (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
115 - (!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) {
116 ---
117 -cgit v0.11.2
118 -
119
120 diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-broken-fprintf-parameters.patch b/dev-libs/libxslt/files/libxslt-1.1.28-broken-fprintf-parameters.patch
121 deleted file mode 100644
122 index de242f930f0..00000000000
123 --- a/dev-libs/libxslt/files/libxslt-1.1.28-broken-fprintf-parameters.patch
124 +++ /dev/null
125 @@ -1,52 +0,0 @@
126 -From 90e8b9066d877e040e791bbf206db0e5653e017a Mon Sep 17 00:00:00 2001
127 -From: Daniel Veillard <veillard@××××××.com>
128 -Date: Wed, 30 Jan 2013 17:31:37 +0100
129 -Subject: Fix a couple of places where (f)printf parameters were broken
130 -
131 -As reported by Thomas Jarosch <thomas.jarosch@×××××××××.com>
132 ----
133 - python/libxslt.c | 10 +++++-----
134 - xsltproc/xsltproc.c | 2 +-
135 - 2 files changed, 6 insertions(+), 6 deletions(-)
136 -
137 -diff --git a/python/libxslt.c b/python/libxslt.c
138 -index 6a4f1c3..8dd6c78 100644
139 ---- a/python/libxslt.c
140 -+++ b/python/libxslt.c
141 -@@ -356,15 +356,15 @@ libxslt_xsltRegisterExtModuleElement(PyObject *self ATTRIBUTE_UNUSED,
142 - PyObject *pyobj_element_f;
143 - PyObject *pyobj_precomp_f;
144 -
145 --#ifdef DEBUG_EXTENSIONS
146 -- printf("libxslt_xsltRegisterExtModuleElement called\n",
147 -- name, ns_uri);
148 --#endif
149 --
150 - if (!PyArg_ParseTuple(args, (char *)"szOO:registerExtModuleElement",
151 - &name, &ns_uri, &pyobj_precomp_f, &pyobj_element_f))
152 - return(NULL);
153 -
154 -+#ifdef DEBUG_EXTENSIONS
155 -+ printf("libxslt_xsltRegisterExtModuleElement called: %s %s\n",
156 -+ name, ns_uri);
157 -+#endif
158 -+
159 - if ((name == NULL) || (pyobj_element_f == NULL) || (pyobj_precomp_f == NULL)) {
160 - py_retval = libxml_intWrap(-1);
161 - return(py_retval);
162 -diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
163 -index 35f37e8..dfd6d31 100644
164 ---- a/xsltproc/xsltproc.c
165 -+++ b/xsltproc/xsltproc.c
166 -@@ -319,7 +319,7 @@ static void endTimer(char *format, ...)
167 - va_start(ap, format);
168 - vfprintf(stderr,format,ap);
169 - va_end(ap);
170 -- fprintf(stderr, " was not timed\n", msec);
171 -+ fprintf(stderr, " was not timed\n");
172 - #else
173 - /* We don't have gettimeofday, time or stdarg.h, what crazy world is
174 - * this ?!
175 ---
176 -cgit v0.11.2
177 -
178
179 diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-exslt-str-replace.patch b/dev-libs/libxslt/files/libxslt-1.1.28-exslt-str-replace.patch
180 deleted file mode 100644
181 index b0efa6a4c11..00000000000
182 --- a/dev-libs/libxslt/files/libxslt-1.1.28-exslt-str-replace.patch
183 +++ /dev/null
184 @@ -1,42 +0,0 @@
185 -From ae49d7a73b043bccb7631e7d9577bcaa0bbf8528 Mon Sep 17 00:00:00 2001
186 -From: Nick Wellnhofer <wellnhofer@×××××.de>
187 -Date: Mon, 1 Jul 2013 21:10:10 +0800
188 -Subject: EXSLT function str:replace() is broken as-is
189 -
190 -the str:replace() function is no longer usable without a transform
191 -context. I take it from the bug report that it is not supposed to be used
192 -from plain XPath but only from XSLT according to the EXSLT specification.
193 -
194 -However, the previous implementation used to work in XPath and is still
195 -registered on an xmlXPathContext by the exsltStrXpathCtxtRegister()
196 -function. When called from plain XPath, it results in a memory error in
197 -line 526 (exsltStrReturnString()) of strings.c because xsltCreateRVT()
198 -returns NULL as an error indicator due to a NULL transform context being
199 -passed in, which was the return value from xsltXPathGetTransformContext() a
200 -bit further up (and the code doesn't validate that).
201 -
202 -Since fixing the function looks impossible, best is to remove it.
203 ----
204 - libexslt/strings.c | 6 +-----
205 - 1 file changed, 1 insertion(+), 5 deletions(-)
206 -
207 -diff --git a/libexslt/strings.c b/libexslt/strings.c
208 -index 045cc14..c0c7a18 100644
209 ---- a/libexslt/strings.c
210 -+++ b/libexslt/strings.c
211 -@@ -838,11 +838,7 @@ exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix)
212 - && !xmlXPathRegisterFuncNS(ctxt,
213 - (const xmlChar *) "concat",
214 - (const xmlChar *) EXSLT_STRINGS_NAMESPACE,
215 -- exsltStrConcatFunction)
216 -- && !xmlXPathRegisterFuncNS(ctxt,
217 -- (const xmlChar *) "replace",
218 -- (const xmlChar *) EXSLT_STRINGS_NAMESPACE,
219 -- exsltStrReplaceFunction)) {
220 -+ exsltStrConcatFunction)) {
221 - return 0;
222 - }
223 - return -1;
224 ---
225 -cgit v0.11.2
226 -
227
228 diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-fix-quoting-xlocale.patch b/dev-libs/libxslt/files/libxslt-1.1.28-fix-quoting-xlocale.patch
229 deleted file mode 100644
230 index 1acdb2ebd23..00000000000
231 --- a/dev-libs/libxslt/files/libxslt-1.1.28-fix-quoting-xlocale.patch
232 +++ /dev/null
233 @@ -1,47 +0,0 @@
234 -From 0a1a5f8c67c90637f0ea3fdc9ec35280d54878d8 Mon Sep 17 00:00:00 2001
235 -From: Nick Wellnhofer <wellnhofer@×××××.de>
236 -Date: Tue, 30 Jul 2013 13:57:28 +0200
237 -Subject: Fix quoting of xlocale test program in configure.in
238 -
239 -Double square brackets aren't needed anymore, probably due to the
240 -changes in commit a2cd8a03.
241 ----
242 - configure.in | 14 +++++++-------
243 - 1 file changed, 7 insertions(+), 7 deletions(-)
244 -
245 -diff --git a/configure.in b/configure.in
246 -index fc8d5a8..dcbd971 100644
247 ---- a/configure.in
248 -+++ b/configure.in
249 -@@ -196,21 +196,21 @@ typedef locale_t xsltLocale;
250 - #endif
251 - ]],[[
252 - xsltLocale locale;
253 -- const char *src[[2]] = { "\xc3\x84rger", "Zeppelin" };
254 -- char *dst[[2]];
255 -+ const char *src[2] = { "\xc3\x84rger", "Zeppelin" };
256 -+ char *dst[2];
257 - size_t len, r;
258 - int i;
259 -
260 - locale = newlocale(LC_COLLATE_MASK, "en_US.utf8", NULL);
261 - if (locale == NULL) exit(1);
262 - for (i=0; i<2; ++i) {
263 -- len = strxfrm_l(NULL, src[[i]], 0, locale) + 1;
264 -- dst[[i]] = malloc(len);
265 -- if(dst[[i]] == NULL) exit(1);
266 -- r = strxfrm_l(dst[[i]], src[[i]], len, locale);
267 -+ len = strxfrm_l(NULL, src[i], 0, locale) + 1;
268 -+ dst[i] = malloc(len);
269 -+ if(dst[i] == NULL) exit(1);
270 -+ r = strxfrm_l(dst[i], src[i], len, locale);
271 - if(r >= len) exit(1);
272 - }
273 -- if (strcmp(dst[[0]], dst[[1]]) >= 0) exit(1);
274 -+ if (strcmp(dst[0], dst[1]) >= 0) exit(1);
275 -
276 - exit(0);
277 - return(0);
278 ---
279 -cgit v0.11.2
280 -
281
282 diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-seed-pseudo-random-generator.patch b/dev-libs/libxslt/files/libxslt-1.1.28-seed-pseudo-random-generator.patch
283 deleted file mode 100644
284 index 580fb29a350..00000000000
285 --- a/dev-libs/libxslt/files/libxslt-1.1.28-seed-pseudo-random-generator.patch
286 +++ /dev/null
287 @@ -1,60 +0,0 @@
288 -From 3fcf11ead6ad226227b0a3ef4cc6565b8d5857ff Mon Sep 17 00:00:00 2001
289 -From: Nils Werner <wernerns@××××××××××××××.de>
290 -Date: Thu, 24 Jan 2013 19:44:03 +0100
291 -Subject: Initialize pseudo random number generator with current time or
292 - optional command line parameter
293 -
294 ----
295 - xsltproc/xsltproc.c | 15 +++++++++++++++
296 - 1 file changed, 15 insertions(+)
297 -
298 -diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
299 -index dfd6d31..45adf5d 100644
300 ---- a/xsltproc/xsltproc.c
301 -+++ b/xsltproc/xsltproc.c
302 -@@ -514,6 +514,7 @@ static void usage(const char *name) {
303 - printf("\t--maxdepth val : increase the maximum depth (default %d)\n", xsltMaxDepth);
304 - printf("\t--maxvars val : increase the maximum variables (default %d)\n", xsltMaxVars);
305 - printf("\t--maxparserdepth val : increase the maximum parser depth\n");
306 -+ printf("\t--seed-rand val : initialize pseudo random number generator with specific seed\n");
307 - #ifdef LIBXML_HTML_ENABLED
308 - printf("\t--html: the input document is(are) an HTML file(s)\n");
309 - #endif
310 -@@ -556,6 +557,7 @@ main(int argc, char **argv)
311 - return (1);
312 - }
313 -
314 -+ srand(time(NULL));
315 - xmlInitMemory();
316 -
317 - LIBXML_TEST_VERSION
318 -@@ -750,6 +752,15 @@ main(int argc, char **argv)
319 - if (value > 0)
320 - xmlParserMaxDepth = value;
321 - }
322 -+ } else if ((!strcmp(argv[i], "-seed-rand")) ||
323 -+ (!strcmp(argv[i], "--seed-rand"))) {
324 -+ int value;
325 -+
326 -+ i++;
327 -+ if (sscanf(argv[i], "%d", &value) == 1) {
328 -+ if (value > 0)
329 -+ srand(value);
330 -+ }
331 - } else if ((!strcmp(argv[i],"-dumpextensions"))||
332 - (!strcmp(argv[i],"--dumpextensions"))) {
333 - dumpextensions++;
334 -@@ -786,6 +797,10 @@ main(int argc, char **argv)
335 - (!strcmp(argv[i], "--maxparserdepth"))) {
336 - i++;
337 - continue;
338 -+ } else if ((!strcmp(argv[i], "-seed-rand")) ||
339 -+ (!strcmp(argv[i], "--seed-rand"))) {
340 -+ i++;
341 -+ continue;
342 - } else if ((!strcmp(argv[i], "-o")) ||
343 - (!strcmp(argv[i], "-output")) ||
344 - (!strcmp(argv[i], "--output"))) {
345 ---
346 -cgit v0.11.2
347 -
348
349 diff --git a/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild
350 deleted file mode 100644
351 index 379c9ee418d..00000000000
352 --- a/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild
353 +++ /dev/null
354 @@ -1,144 +0,0 @@
355 -# Copyright 1999-2017 Gentoo Foundation
356 -# Distributed under the terms of the GNU General Public License v2
357 -
358 -EAPI=5
359 -
360 -PYTHON_COMPAT=( python2_7 )
361 -PYTHON_REQ_USE="xml"
362 -
363 -inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
364 -
365 -DESCRIPTION="XSLT libraries and tools"
366 -HOMEPAGE="http://www.xmlsoft.org/"
367 -SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
368 -
369 -LICENSE="MIT"
370 -SLOT="0"
371 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
372 -IUSE="crypt debug examples python static-libs"
373 -
374 -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
375 -
376 -RDEPEND="
377 - >=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
378 - crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
379 - python? (
380 - ${PYTHON_DEPS}
381 - dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
382 - abi_x86_32? (
383 - !<=app-emulation/emul-linux-x86-baselibs-20131008-r20
384 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
385 - )
386 -"
387 -DEPEND="${RDEPEND}"
388 -
389 -MULTILIB_CHOST_TOOLS=(
390 - /usr/bin/xslt-config
391 -)
392 -
393 -src_prepare() {
394 - DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
395 -
396 - # https://bugzilla.gnome.org/show_bug.cgi?id=684621
397 - epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
398 -
399 - # use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
400 - # https://bugzilla.gnome.org/show_bug.cgi?id=725635
401 - # same for xml2-config
402 - # https://bugs.gentoo.org/show_bug.cgi?id=518728
403 - epatch "${FILESDIR}"/${PN}-1.1.28-AC_PATH_TOOL.patch
404 -
405 - # Apply patches from master found in debian
406 - epatch \
407 - "${FILESDIR}"/${PN}-1.1.28-broken-fprintf-parameters.patch \
408 - "${FILESDIR}"/${PN}-1.1.28-exslt-str-replace.patch \
409 - "${FILESDIR}"/${PN}-1.1.28-fix-quoting-xlocale.patch \
410 - "${FILESDIR}"/${PN}-1.1.28-seed-pseudo-random-generator.patch
411 -
412 - # Fix null pointer dereference, from master
413 - # https://bugs.gentoo.org/show_bug.cgi?id=558822
414 - epatch "${FILESDIR}"/${PN}-1.1.28-attribute-type-preprocessing.patch
415 -
416 - # Simplify python setup
417 - epatch "${FILESDIR}"/${PN}-1.1.28-simplify-python.patch
418 - epatch "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
419 -
420 - mv configure.{in,ac} || die
421 -
422 - eautoreconf
423 - # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
424 - # and it is propably otherwise too if upstream generated with new
425 - # autoconf
426 -# epunt_cxx
427 - # But Prefix always needs elibtoolize if not eautoreconf'd.
428 -# elibtoolize
429 -}
430 -
431 -multilib_src_configure() {
432 - libxslt_configure() {
433 - ECONF_SOURCE="${S}" econf \
434 - --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
435 - --with-html-subdir=html \
436 - $(use_with crypt crypto) \
437 - $(use_with debug) \
438 - $(use_with debug mem-debug) \
439 - $(use_enable static-libs static) \
440 - "$@"
441 - }
442 -
443 - libxslt_py_configure() {
444 - mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
445 - run_in_build_dir libxslt_configure --with-python
446 - }
447 -
448 - libxslt_configure --without-python # build python bindings separately
449 -
450 - if multilib_is_native_abi && use python; then
451 - python_foreach_impl libxslt_py_configure
452 - fi
453 -}
454 -
455 -multilib_src_compile() {
456 - default
457 - multilib_is_native_abi && use python && libxslt_foreach_py_emake all
458 -}
459 -
460 -multilib_src_test() {
461 - default
462 - multilib_is_native_abi && use python && libxslt_foreach_py_emake test
463 -}
464 -
465 -multilib_src_install() {
466 - # "default" does not work here - docs are installed by multilib_src_install_all
467 - emake DESTDIR="${D}" install
468 -
469 - if multilib_is_native_abi && use python; then
470 - libxslt_foreach_py_emake \
471 - DESTDIR="${D}" \
472 - docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
473 - EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
474 - install
475 - python_foreach_impl python_optimize
476 - fi
477 -}
478 -
479 -multilib_src_install_all() {
480 - einstalldocs
481 -
482 - if ! use examples; then
483 - rm -rf "${ED}"/usr/share/doc/${PF}/examples
484 - rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
485 - fi
486 -
487 - prune_libtool_files --modules
488 -}
489 -
490 -libxslt_foreach_py_emake() {
491 - libxslt_py_emake() {
492 - pushd "${BUILD_DIR}/python" > /dev/null || die
493 - emake "$@"
494 - popd > /dev/null
495 - }
496 - local native_builddir=${BUILD_DIR}
497 - python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
498 -}