public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2015-09-25  7:11 Justin Lecher
  0 siblings, 0 replies; 11+ messages in thread
From: Justin Lecher @ 2015-09-25  7:11 UTC (permalink / raw
  To: gentoo-commits

commit:     12c3cf9ba7535b27e9a7d79f4600312c72db6bb3
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 25 07:07:04 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Sep 25 07:11:24 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=12c3cf9b

dev-libs/libxslt: Drop old

Package-Manager: portage-2.2.21
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 .../files/libxslt-1.1.27-python-config.patch       |  26 -----
 .../files/libxslt-1.1.28-libgcrypt-config.patch    |  30 ------
 .../files/libxslt-1.1.28-manual-python.patch       |  36 -------
 dev-libs/libxslt/libxslt-1.1.28-r1.ebuild          |  98 ------------------
 dev-libs/libxslt/libxslt-1.1.28-r2.ebuild          | 104 -------------------
 dev-libs/libxslt/libxslt-1.1.28-r3.ebuild          | 111 ---------------------
 6 files changed, 405 deletions(-)

diff --git a/dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch b/dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch
deleted file mode 100644
index 352a753..0000000
--- a/dev-libs/libxslt/files/libxslt-1.1.27-python-config.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4514fed897ab0911097e54715e7936048bf43dd9 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Sat, 22 Sep 2012 16:37:36 -0400
-Subject: [PATCH] Gentoo uses /usr/bin/python-config with automatic version
- detection
-
----
- configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index 0d7ba86..3c8a5ad 100644
---- a/configure.in
-+++ b/configure.in
-@@ -353,7 +353,7 @@ except: print 0"`
- 		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
- 	    fi
- 	fi
--        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
-+        PYTHON_LIBS=`python-config --libs`
-     fi
-     if test "$with_python" != ""
-     then
--- 
-1.7.12
-

diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch b/dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch
deleted file mode 100644
index 74ee935..0000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-libgcrypt-config.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 4eeed7de3fa90e27658c48cb06f034da43b4f057 Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue, 4 Mar 2014 00:10:37 -0500
-Subject: [PATCH] configure: use AC_PATH_TOOL to find libgcrypt-config
-
-Since libgcrypt-config is used to find host system libraries, we should
-be using AC_PATH_TOOL, not AC_PATH_PROG, for proper cross-compiling and
-multilib support.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=725635
----
- configure.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index a861e90..8328625 100644
---- a/configure.in
-+++ b/configure.in
-@@ -393,7 +393,7 @@ case $host in
-     CRYPTO_TESTDIR=crypto
-     ;;
-   *)
--    AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-+    AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-     if test "$LIBGCRYPT_CONFIG" != "no" ; then
-       LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
-       if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
--- 
-1.9.0
-

diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch b/dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch
deleted file mode 100644
index 019f325..0000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-manual-python.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1671e1004e18fa9bbce410050d1365374ececb6a Mon Sep 17 00:00:00 2001
-From: Alexandre Rostovtsev <tetromino@gentoo.org>
-Date: Tue, 18 Dec 2012 02:22:47 -0500
-Subject: [PATCH] build/test/install python bindings manually
-
-To support building for multiple python ABIs, we want to skip checks for
-python in configure, and build/test/install python bindings manually.
----
- configure.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index fc8d5a8..6312c37 100644
---- a/configure.in
-+++ b/configure.in
-@@ -296,7 +296,7 @@ PYTHON_INCLUDES=
- PYTHON_SITE_PACKAGES=
- pythondir=
- AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
--if test "$with_python" != "no" ; then
-+if false ; then
-     if test -x "$with_python/bin/python"
-     then
-         echo Found python in $with_python/bin/python
-@@ -365,7 +365,7 @@ except: print 0"`
-         pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
-     fi
- fi
--AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
-+AM_CONDITIONAL(WITH_PYTHON, test "$with_python" != "no")
- if test "$PYTHON_INCLUDES" != ""
- then
-     PYTHON_SUBDIR=python
--- 
-1.8.0.2
-

diff --git a/dev-libs/libxslt/libxslt-1.1.28-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r1.ebuild
deleted file mode 100644
index 96c5d02..0000000
--- a/dev-libs/libxslt/libxslt-1.1.28-r1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools eutils python-r1 toolchain-funcs
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
-IUSE="crypt debug python static-libs"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/libxml2-2.8.0:2
-	crypt?  ( >=dev-libs/libgcrypt-1.1.42:0= )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
-	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
-	epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
-
-	epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
-
-	# Python bindings are built/tested/installed manually.
-	epatch "${FILESDIR}"/${PN}-1.1.28-manual-python.patch
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-}
-
-src_configure() {
-	# libgcrypt is missing pkg-config file, so fixing cross-compile
-	# here. see bug 267503.
-	tc-is-cross-compiler && \
-		export LIBGCRYPT_CONFIG="${SYSROOT}"/usr/bin/libgcrypt-config
-
-	econf \
-		$(use_enable static-libs static) \
-		--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-		--with-html-subdir=html \
-		$(use_with crypt crypto) \
-		$(use_with python) \
-		$(use_with debug) \
-		$(use_with debug mem-debug)
-}
-
-src_compile() {
-	default
-	if use python; then
-		python_copy_sources
-		python_foreach_impl libxslt_py_emake
-	fi
-}
-
-src_test() {
-	default
-	use python && python_foreach_impl libxslt_py_emake test
-}
-
-src_install() {
-	default
-	dodoc FEATURES
-
-	if use python; then
-		python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
-		python_foreach_impl python_optimize
-		mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
-	fi
-
-	prune_libtool_files --modules
-}
-
-libxslt_py_emake() {
-	pushd "${BUILD_DIR}/python" > /dev/null || die
-	emake \
-		PYTHON="${PYTHON}" \
-		PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \
-		PYTHON_LIBS="$(python-config --ldflags)" \
-		PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
-		pythondir="${EPREFIX}$(python_get_sitedir)" \
-		PYTHON_VERSION=${EPYTHON/python} "$@"
-	popd > /dev/null
-}

diff --git a/dev-libs/libxslt/libxslt-1.1.28-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r2.ebuild
deleted file mode 100644
index 0701648..0000000
--- a/dev-libs/libxslt/libxslt-1.1.28-r2.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux"
-IUSE="crypt debug python static-libs"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
-	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-baselibs-20131008-r20
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
-	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
-	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
-	epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
-
-	epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
-
-	# use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
-	# https://bugzilla.gnome.org/show_bug.cgi?id=725635
-	epatch "${FILESDIR}"/${PN}-1.1.28-libgcrypt-config.patch
-
-	# Python bindings are built/tested/installed manually.
-	epatch "${FILESDIR}"/${PN}-1.1.28-manual-python.patch
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-}
-
-multilib_src_configure() {
-	ECONF_SOURCE=${S} econf \
-		$(use_enable static-libs static) \
-		--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-		--with-html-subdir=html \
-		$(use_with crypt crypto) \
-		$(multilib_is_native_abi && use_with python || echo --without-python) \
-		$(use_with debug) \
-		$(use_with debug mem-debug)
-}
-
-multilib_src_compile() {
-	default
-	if use python && multilib_is_native_abi; then
-		python_copy_sources
-		python_foreach_impl libxslt_py_emake
-	fi
-}
-
-multilib_src_test() {
-	default
-	use python && multilib_is_native_abi && python_foreach_impl libxslt_py_emake test
-}
-
-multilib_src_install() {
-	# "default" does not work here - docs are installed by multilib_src_install_all
-	emake DESTDIR="${D}" install
-
-	if use python && multilib_is_native_abi; then
-		python_foreach_impl libxslt_py_emake DESTDIR="${D}" install
-		python_foreach_impl python_optimize
-		mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
-	fi
-
-	prune_libtool_files --modules
-}
-
-libxslt_py_emake() {
-	pushd "${BUILD_DIR}/python" > /dev/null || die
-	emake \
-		PYTHON="${PYTHON}" \
-		PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \
-		PYTHON_LIBS="$(python-config --ldflags)" \
-		PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
-		pythondir="${EPREFIX}$(python_get_sitedir)" \
-		PYTHON_VERSION=${EPYTHON/python} "$@"
-	popd > /dev/null
-}

diff --git a/dev-libs/libxslt/libxslt-1.1.28-r3.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r3.ebuild
deleted file mode 100644
index aff69fa..0000000
--- a/dev-libs/libxslt/libxslt-1.1.28-r3.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-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 ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="crypt debug python static-libs"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND=">=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}]
-	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-baselibs-20131008-r20
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
-	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
-	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
-	epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
-
-	epatch "${FILESDIR}"/${PN}-1.1.26-disable_static_modules.patch
-
-	# use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
-	# https://bugzilla.gnome.org/show_bug.cgi?id=725635
-	epatch "${FILESDIR}"/${PN}-1.1.28-libgcrypt-config.patch
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-	# But Prefix always needs elibtoolize if not eautoreconf'd.
-#	elibtoolize
-}
-
-multilib_src_configure() {
-	libxslt_configure() {
-		ECONF_SOURCE=${S} econf \
-			$(use_enable static-libs static) \
-			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-			--with-html-subdir=html \
-			$(use_with crypt crypto) \
-			$(use_with debug) \
-			$(use_with debug mem-debug) \
-			"$@"
-	}
-
-	libxslt_py_configure() {
-		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
-		run_in_build_dir libxslt_configure "--with-python=${PYTHON}" # odd build system
-	}
-
-	libxslt_configure --without-python # build python bindings separately
-
-	if multilib_is_native_abi && use python; then
-		python_parallel_foreach_impl libxslt_py_configure
-	fi
-}
-
-multilib_src_compile() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
-}
-
-multilib_src_test() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
-}
-
-multilib_src_install() {
-	# "default" does not work here - docs are installed by multilib_src_install_all
-	emake DESTDIR="${D}" install
-
-	if multilib_is_native_abi && use python; then
-		libxslt_foreach_py_emake DESTDIR="${D}" install
-		python_foreach_impl python_optimize
-		mv "${ED}"/usr/share/doc/${PN}-python-${PV} "${ED}"/usr/share/doc/${PF}/python
-	fi
-
-	prune_libtool_files --modules
-}
-
-libxslt_foreach_py_emake() {
-	libxslt_py_emake() {
-		pushd "${BUILD_DIR}/python" > /dev/null || die
-		emake "$@"
-		popd > /dev/null
-	}
-	local native_builddir=${BUILD_DIR}
-	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2015-11-11 21:35 Gilles Dartiguelongue
  0 siblings, 0 replies; 11+ messages in thread
From: Gilles Dartiguelongue @ 2015-11-11 21:35 UTC (permalink / raw
  To: gentoo-commits

commit:     aebffaa19773d23d9766b3eae5a45c46fdd0831d
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 11 21:33:33 2015 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Wed Nov 11 21:34:53 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aebffaa1

dev-libs/libxslt: apply several upstream patches, bug #558822

Apply security fixes, bug #558822 as well as patches from upstream as listed
in debian package.

Also rework python detection with AM_PATH_PYTHON for easier multiple python
support in the future. Handle examples like in libxml2.

Package-Manager: portage-2.2.24

 ...bxslt-1.1.28-attribute-type-preprocessing.patch |  29 +++
 .../libxslt-1.1.28-broken-fprintf-parameters.patch |  52 +++++
 .../libxslt-1.1.28-disable-static-modules.patch    |  33 +++
 .../files/libxslt-1.1.28-exslt-str-replace.patch   |  42 ++++
 .../files/libxslt-1.1.28-fix-quoting-xlocale.patch |  47 ++++
 ...bxslt-1.1.28-seed-pseudo-random-generator.patch |  60 +++++
 .../files/libxslt-1.1.28-simplify-python.patch     | 251 +++++++++++++++++++++
 dev-libs/libxslt/libxslt-1.1.28-r5.ebuild          | 145 ++++++++++++
 8 files changed, 659 insertions(+)

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
new file mode 100644
index 0000000..fbcd7ea
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-attribute-type-preprocessing.patch
@@ -0,0 +1,29 @@
+From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 29 Oct 2015 19:33:23 +0800
+Subject: Fix for type confusion in preprocessing attributes
+
+CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10
+We need to check that the parent node is an element before dereferencing
+its namespace
+---
+ libxslt/preproc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libxslt/preproc.c b/libxslt/preproc.c
+index 0eb80a0..7f69325 100644
+--- a/libxslt/preproc.c
++++ b/libxslt/preproc.c
+@@ -2249,7 +2249,8 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
+ 	} else if (IS_XSLT_NAME(inst, "attribute")) {
+ 	    xmlNodePtr parent = inst->parent;
+ 
+-	    if ((parent == NULL) || (parent->ns == NULL) ||
++	    if ((parent == NULL) ||
++	        (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) ||
+ 		((parent->ns != inst->ns) &&
+ 		 (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
+ 		(!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) {
+-- 
+cgit v0.11.2
+

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
new file mode 100644
index 0000000..de242f9
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-broken-fprintf-parameters.patch
@@ -0,0 +1,52 @@
+From 90e8b9066d877e040e791bbf206db0e5653e017a Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Wed, 30 Jan 2013 17:31:37 +0100
+Subject: Fix a couple of places where (f)printf parameters were broken
+
+As reported by Thomas Jarosch <thomas.jarosch@intra2net.com>
+---
+ python/libxslt.c    | 10 +++++-----
+ xsltproc/xsltproc.c |  2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/python/libxslt.c b/python/libxslt.c
+index 6a4f1c3..8dd6c78 100644
+--- a/python/libxslt.c
++++ b/python/libxslt.c
+@@ -356,15 +356,15 @@ libxslt_xsltRegisterExtModuleElement(PyObject *self ATTRIBUTE_UNUSED,
+     PyObject *pyobj_element_f;
+     PyObject *pyobj_precomp_f;
+ 
+-#ifdef DEBUG_EXTENSIONS
+-    printf("libxslt_xsltRegisterExtModuleElement called\n",
+-	   name, ns_uri);
+-#endif
+-
+     if (!PyArg_ParseTuple(args, (char *)"szOO:registerExtModuleElement",
+ 		          &name, &ns_uri, &pyobj_precomp_f, &pyobj_element_f))
+         return(NULL);
+ 
++#ifdef DEBUG_EXTENSIONS
++    printf("libxslt_xsltRegisterExtModuleElement called: %s %s\n",
++	   name, ns_uri);
++#endif
++
+     if ((name == NULL) || (pyobj_element_f == NULL) || (pyobj_precomp_f == NULL)) {
+ 	py_retval = libxml_intWrap(-1);
+ 	return(py_retval);
+diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
+index 35f37e8..dfd6d31 100644
+--- a/xsltproc/xsltproc.c
++++ b/xsltproc/xsltproc.c
+@@ -319,7 +319,7 @@ static void endTimer(char *format, ...)
+     va_start(ap, format);
+     vfprintf(stderr,format,ap);
+     va_end(ap);
+-    fprintf(stderr, " was not timed\n", msec);
++    fprintf(stderr, " was not timed\n");
+ #else
+   /* We don't have gettimeofday, time or stdarg.h, what crazy world is
+    * this ?!
+-- 
+cgit v0.11.2
+

diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch b/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch
new file mode 100644
index 0000000..b30a084
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch
@@ -0,0 +1,33 @@
+From 06c9dba42097b06a18c81bb54a8da8b2bfaf991d Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 11 Nov 2015 20:01:14 +0100
+Subject: [PATCH 3/3] Disable static module for python module
+
+---
+ python/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/python/Makefile.am b/python/Makefile.am
+index cc13c62..62afd1b 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -27,6 +27,7 @@ python_PYTHON = libxslt.py
+ pyexec_LTLIBRARIES = libxsltmod.la
+ 
+ libxsltmod_la_CPPFLAGS = \
++	-shared \
+ 	-I$(top_srcdir)/libxslt \
+ 	-I$(top_srcdir) \
+ 	-I$(top_srcdir)/libexslt \
+@@ -34,7 +35,7 @@ libxsltmod_la_CPPFLAGS = \
+ libxsltmod_la_SOURCES = libxslt.c types.c
+ nodist_libxsltmod_la_SOURCES = libxslt-py.c
+ libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
+-libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
++libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version -shared
+ 
+ libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
+ 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
+-- 
+2.6.3
+

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
new file mode 100644
index 0000000..b0efa6a
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-exslt-str-replace.patch
@@ -0,0 +1,42 @@
+From ae49d7a73b043bccb7631e7d9577bcaa0bbf8528 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 1 Jul 2013 21:10:10 +0800
+Subject: EXSLT function str:replace() is broken as-is
+
+the str:replace() function is no longer usable without a transform
+context. I take it from the bug report that it is not supposed to be used
+from plain XPath but only from XSLT according to the EXSLT specification.
+
+However, the previous implementation used to work in XPath and is still
+registered on an xmlXPathContext by the exsltStrXpathCtxtRegister()
+function. When called from plain XPath, it results in a memory error in
+line 526 (exsltStrReturnString()) of strings.c because xsltCreateRVT()
+returns NULL as an error indicator due to a NULL transform context being
+passed in, which was the return value from xsltXPathGetTransformContext() a
+bit further up (and the code doesn't validate that).
+
+Since fixing the function looks impossible, best is to remove it.
+---
+ libexslt/strings.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/libexslt/strings.c b/libexslt/strings.c
+index 045cc14..c0c7a18 100644
+--- a/libexslt/strings.c
++++ b/libexslt/strings.c
+@@ -838,11 +838,7 @@ exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix)
+         && !xmlXPathRegisterFuncNS(ctxt,
+                                    (const xmlChar *) "concat",
+                                    (const xmlChar *) EXSLT_STRINGS_NAMESPACE,
+-                                   exsltStrConcatFunction)
+-        && !xmlXPathRegisterFuncNS(ctxt,
+-                                   (const xmlChar *) "replace",
+-                                   (const xmlChar *) EXSLT_STRINGS_NAMESPACE,
+-                                   exsltStrReplaceFunction)) {
++                                   exsltStrConcatFunction)) {
+         return 0;
+     }
+     return -1;
+-- 
+cgit v0.11.2
+

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
new file mode 100644
index 0000000..1acdb2e
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-fix-quoting-xlocale.patch
@@ -0,0 +1,47 @@
+From 0a1a5f8c67c90637f0ea3fdc9ec35280d54878d8 Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Tue, 30 Jul 2013 13:57:28 +0200
+Subject: Fix quoting of xlocale test program in configure.in
+
+Double square brackets aren't needed anymore, probably due to the
+changes in commit a2cd8a03.
+---
+ configure.in | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index fc8d5a8..dcbd971 100644
+--- a/configure.in
++++ b/configure.in
+@@ -196,21 +196,21 @@ typedef locale_t xsltLocale;
+ #endif
+ ]],[[
+     xsltLocale locale;
+-    const char *src[[2]] = { "\xc3\x84rger", "Zeppelin" };
+-    char *dst[[2]];
++    const char *src[2] = { "\xc3\x84rger", "Zeppelin" };
++    char *dst[2];
+     size_t len, r;
+     int i;
+ 
+     locale = newlocale(LC_COLLATE_MASK, "en_US.utf8", NULL);
+     if (locale == NULL) exit(1);
+     for (i=0; i<2; ++i) {
+-        len = strxfrm_l(NULL, src[[i]], 0, locale) + 1;
+-        dst[[i]] = malloc(len);
+-        if(dst[[i]] == NULL) exit(1);
+-        r = strxfrm_l(dst[[i]], src[[i]], len, locale);
++        len = strxfrm_l(NULL, src[i], 0, locale) + 1;
++        dst[i] = malloc(len);
++        if(dst[i] == NULL) exit(1);
++        r = strxfrm_l(dst[i], src[i], len, locale);
+         if(r >= len) exit(1);
+     }
+-    if (strcmp(dst[[0]], dst[[1]]) >= 0) exit(1);
++    if (strcmp(dst[0], dst[1]) >= 0) exit(1);
+ 
+     exit(0);
+     return(0);
+-- 
+cgit v0.11.2
+

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
new file mode 100644
index 0000000..580fb29
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-seed-pseudo-random-generator.patch
@@ -0,0 +1,60 @@
+From 3fcf11ead6ad226227b0a3ef4cc6565b8d5857ff Mon Sep 17 00:00:00 2001
+From: Nils Werner <wernerns@iis.fraunhofer.de>
+Date: Thu, 24 Jan 2013 19:44:03 +0100
+Subject: Initialize pseudo random number generator with current time or
+ optional command line parameter
+
+---
+ xsltproc/xsltproc.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
+index dfd6d31..45adf5d 100644
+--- a/xsltproc/xsltproc.c
++++ b/xsltproc/xsltproc.c
+@@ -514,6 +514,7 @@ static void usage(const char *name) {
+     printf("\t--maxdepth val : increase the maximum depth (default %d)\n", xsltMaxDepth);
+     printf("\t--maxvars val : increase the maximum variables (default %d)\n", xsltMaxVars);
+     printf("\t--maxparserdepth val : increase the maximum parser depth\n");
++    printf("\t--seed-rand val : initialize pseudo random number generator with specific seed\n");
+ #ifdef LIBXML_HTML_ENABLED
+     printf("\t--html: the input document is(are) an HTML file(s)\n");
+ #endif
+@@ -556,6 +557,7 @@ main(int argc, char **argv)
+         return (1);
+     }
+ 
++    srand(time(NULL));
+     xmlInitMemory();
+ 
+     LIBXML_TEST_VERSION
+@@ -750,6 +752,15 @@ main(int argc, char **argv)
+                 if (value > 0)
+                     xmlParserMaxDepth = value;
+             }
++        } else if ((!strcmp(argv[i], "-seed-rand")) ||
++                   (!strcmp(argv[i], "--seed-rand"))) {
++            int value;
++
++            i++;
++            if (sscanf(argv[i], "%d", &value) == 1) {
++                if (value > 0)
++                    srand(value);
++            }
+         } else if ((!strcmp(argv[i],"-dumpextensions"))||
+ 			(!strcmp(argv[i],"--dumpextensions"))) {
+ 		dumpextensions++;
+@@ -786,6 +797,10 @@ main(int argc, char **argv)
+             (!strcmp(argv[i], "--maxparserdepth"))) {
+             i++;
+             continue;
++        } else if ((!strcmp(argv[i], "-seed-rand")) ||
++            (!strcmp(argv[i], "--seed-rand"))) {
++            i++;
++            continue;
+         } else if ((!strcmp(argv[i], "-o")) ||
+                    (!strcmp(argv[i], "-output")) ||
+                    (!strcmp(argv[i], "--output"))) {
+-- 
+cgit v0.11.2
+

diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-simplify-python.patch b/dev-libs/libxslt/files/libxslt-1.1.28-simplify-python.patch
new file mode 100644
index 0000000..678b002
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.28-simplify-python.patch
@@ -0,0 +1,251 @@
+From 6fb632732a28fc5c5c8f20a7be8ded759acd8994 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 11 Nov 2015 17:49:07 +0100
+Subject: [PATCH] Simplify python setup in autoconf
+
+AM_PATH_PYTHON does most of the job without using pkg-config as expected
+from the rest of the autoconf script.
+---
+ Makefile.am        |  14 +++++--
+ configure.in       | 119 ++++++++++++++---------------------------------------
+ python/Makefile.am |  30 ++++----------
+ 3 files changed, 49 insertions(+), 114 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index e357f19..c396913 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,9 +2,13 @@ SUBDIRS = \
+ 	libxslt \
+ 	libexslt \
+ 	xsltproc \
+-	doc \
+-	$(PYTHON_SUBDIR) \
+-	tests
++	doc
++
++if WITH_PYTHON
++SUBDIRS += python
++endif
++
++SUBDIRS += tests
+ 
+ DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
+ 
+@@ -51,7 +55,9 @@ tests: dummy
+ 	@echo '## Running the regression test suite'
+ 	@(cd tests ; $(MAKE) tests)
+ 	@(cd xsltproc ; $(MAKE) tests)
+-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) tests ; fi)
++if WITH_PYTHON
++	@(cd python ; $(MAKE) tests)
++endif
+ 
+ valgrind:
+ 	@echo '## Running the regression tests under Valgrind'
+diff --git a/configure.in b/configure.in
+index e84ad4f..27c0e0e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -291,90 +291,37 @@ dnl
+ dnl check for python
+ dnl
+ 
+-PYTHON_VERSION=
+-PYTHON_INCLUDES=
+-PYTHON_SITE_PACKAGES=
+-pythondir=
+-AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
+-if test "$with_python" != "no" ; then
+-    if test -x "$with_python/bin/python"
+-    then
+-        echo Found python in $with_python/bin/python
+-        PYTHON="$with_python/bin/python"
+-    else
+-	if test -x "$with_python"
+-	then
+-	    echo Found python in $with_python
+-	    PYTHON="$with_python"
+-	else
+-            if test -x "$PYTHON"
+-            then
+-                echo Found python in environment PYTHON=$PYTHON
+-                with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
+-	    else
+-	        AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
+-	    fi
+-	fi
+-    fi
+-    if test "$PYTHON" != ""
+-    then
+-        echo "PYTHON is pointing at $PYTHON"
+-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
+-	echo Found Python version $PYTHON_VERSION
+-	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
+-except: print 0"`
+-	if test "$LIBXML2_PYTHON" = "1"
+-	then
+-	    echo Found libxml2-python module
+-	else
+-	    echo Warning: Missing libxml2-python
+-	fi
+-    fi
+-    if test "$PYTHON_VERSION" != ""
+-    then
+-	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
+-	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
+-	then
+-	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
+-	    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-	else
+-	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+-	    then
+-	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
+-		PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-	    else
+-		if test -r /usr/include/python$PYTHON_VERSION/Python.h
+-		then
+-		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
+-		    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-		else
+-		    echo could not find python$PYTHON_VERSION/Python.h
+-		fi
+-	    fi
+-	    if test ! -d "$PYTHON_SITE_PACKAGES"
+-	    then
+-		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
+-	    fi
+-	fi
+-        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
+-    fi
+-    if test "$with_python" != ""
+-    then
+-        pythondir='$(PYTHON_SITE_PACKAGES)'
+-    else
+-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-    fi
+-fi
+-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
+-if test "$PYTHON_INCLUDES" != ""
+-then
+-    PYTHON_SUBDIR=python
+-else
+-    PYTHON_SUBDIR=
+-fi
+-AC_SUBST(pythondir)
+-AC_SUBST(PYTHON_SUBDIR)
+-AC_SUBST(PYTHON_LIBS)
++AC_ARG_WITH([python],
++    AS_HELP_STRING([--with-python], [Build Python bindings if found])
++)
++
++AS_IF([test "$with_python" = "yes"],
++      [AM_PATH_PYTHON
++       AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
++       AS_IF([test "$PYTHON_CONFIG" = "no"],
++             [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
++       AS_IF([test "$PYTHON_CONFIG" != "no"],
++             [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
++              PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
++              PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
++             [AC_MSG_ERROR([Missing python development files.])])
++       AC_MSG_CHECKING([libxml2 module in $PYTHON])
++	   LIBXML2_PYTHON=`$PYTHON -c "import sys;
++try:
++    import libxml2
++    sys.stdout.write('1')
++except:
++    sys.stdout.write('0')"`
++       AS_IF([test "$LIBXML2_PYTHON" = "1"],
++             [AC_MSG_RESULT([yes])],
++             [AC_MSG_RESULT([no])
++              AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
++      ])
++
++AM_CONDITIONAL([WITH_PYTHON], [test "$PYTHON" != ""])
++AC_SUBST([PYTHON_CFLAGS])
++AC_SUBST([PYTHON_LDFLAGS])
++AC_SUBST([PYTHON_LIBS])
+ 
+ AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
+ WITH_CRYPTO=0
+@@ -644,10 +591,6 @@ AC_SUBST(PYTHONSODV)
+ AC_SUBST(XML_CONFIG)
+ AC_SUBST(LIBXML_LIBS)
+ AC_SUBST(LIBXML_CFLAGS)
+-AC_SUBST(PYTHON)
+-AC_SUBST(PYTHON_VERSION)
+-AC_SUBST(PYTHON_INCLUDES)
+-AC_SUBST(PYTHON_SITE_PACKAGES)
+ 
+ XSLT_LIBDIR='-L${libdir}'
+ XSLT_INCLUDEDIR='-I${includedir}'
+diff --git a/python/Makefile.am b/python/Makefile.am
+index fa58b78..cc13c62 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -5,9 +5,9 @@ SUBDIRS= . tests
+ 
+ AM_CFLAGS = $(LIBXML_CFLAGS)
+ 
+-DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
++docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
+ # libxsltclass.txt is generated
+-DOCS = TODO
++dist_docs_DATA = TODO
+ 
+ EXTRA_DIST = 			\
+ 	libxslt.c		\
+@@ -16,43 +16,29 @@ EXTRA_DIST = 			\
+ 	libxml_wrap.h		\
+ 	libxslt_wrap.h		\
+ 	libxsl.py		\
+-	libxslt-python-api.xml	\
+-	$(DOCS)
+-
+-libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
++	libxslt-python-api.xml
+ 
+ if WITH_PYTHON
+ mylibs = \
+ 	$(top_builddir)/libxslt/libxslt.la \
+ 	$(top_builddir)/libexslt/libexslt.la
+ 
+-all-local: libxslt.py
+-
+-python_LTLIBRARIES = libxsltmod.la
++python_PYTHON = libxslt.py
++pyexec_LTLIBRARIES = libxsltmod.la
+ 
+ libxsltmod_la_CPPFLAGS = \
+-	-I$(PYTHON_INCLUDES) \
+ 	-I$(top_srcdir)/libxslt \
+ 	-I$(top_srcdir) \
+-	-I../libexslt
++	-I$(top_srcdir)/libexslt \
++	$(PYTHON_CFLAGS)
+ libxsltmod_la_SOURCES = libxslt.c types.c
+ nodist_libxsltmod_la_SOURCES = libxslt-py.c
+ libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
++libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
+ 
+ libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
+ 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
+ 
+-install-data-local:
+-	$(MKDIR_P) $(DESTDIR)$(pythondir)
+-	$(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
+-	$(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
+-	@(for doc in $(DOCS) ; \
+-	   do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
+-
+-uninstall-local:
+-	rm -f $(DESTDIR)$(pythondir)/libxslt.py
+-	rm -rf $(DESTDIR)$(DOCS_DIR)
+-
+ GENERATE = generator.py
+ API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
+ GENERATED= libxsltclass.py \
+-- 
+2.6.3
+

diff --git a/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild
new file mode 100644
index 0000000..e25e7f2
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+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 ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt debug examples python static-libs"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+	python? (
+		${PYTHON_DEPS}
+		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+	abi_x86_32? (
+		!<=app-emulation/emul-linux-x86-baselibs-20131008-r20
+		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
+	)
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/xslt-config
+)
+
+src_prepare() {
+	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
+	epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+	# use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
+	# https://bugzilla.gnome.org/show_bug.cgi?id=725635
+	# same for xml2-config
+	# https://bugs.gentoo.org/show_bug.cgi?id=518728
+	epatch "${FILESDIR}"/${PN}-1.1.28-AC_PATH_TOOL.patch
+
+	# Apply patches from master found in debian
+	epatch \
+		"${FILESDIR}"/${PN}-1.1.28-broken-fprintf-parameters.patch \
+		"${FILESDIR}"/${PN}-1.1.28-exslt-str-replace.patch \
+		"${FILESDIR}"/${PN}-1.1.28-fix-quoting-xlocale.patch \
+		"${FILESDIR}"/${PN}-1.1.28-seed-pseudo-random-generator.patch
+
+	# Fix null pointer dereference, from master
+	# https://bugs.gentoo.org/show_bug.cgi?id=558822
+	epatch "${FILESDIR}"/${PN}-1.1.28-attribute-type-preprocessing.patch
+
+	# Simplify python setup
+	epatch "${FILESDIR}"/${PN}-1.1.28-simplify-python.patch
+	epatch "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
+
+	mv configure.{in,ac} || die
+
+	eautoreconf
+	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+	# and it is propably otherwise too if upstream generated with new
+	# autoconf
+#	epunt_cxx
+	# But Prefix always needs elibtoolize if not eautoreconf'd.
+#	elibtoolize
+}
+
+multilib_src_configure() {
+	libxslt_configure() {
+		ECONF_SOURCE="${S}" econf \
+			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+			--with-html-subdir=html \
+			$(use_with crypt crypto) \
+			$(use_with debug) \
+			$(use_with debug mem-debug) \
+			$(use_enable static-libs static) \
+			"$@"
+	}
+
+	libxslt_py_configure() {
+		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+		run_in_build_dir libxslt_configure --with-python
+	}
+
+	libxslt_configure --without-python # build python bindings separately
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl libxslt_py_configure
+	fi
+}
+
+multilib_src_compile() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+	# "default" does not work here - docs are installed by multilib_src_install_all
+	emake DESTDIR="${D}" install
+
+	if multilib_is_native_abi && use python; then
+		libxslt_foreach_py_emake \
+			DESTDIR="${D}" \
+			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+			install
+		python_foreach_impl python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	if ! use examples; then
+		rm -rf "${ED}"/usr/share/doc/${PF}/examples
+		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
+	fi
+
+	prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+	libxslt_py_emake() {
+		pushd "${BUILD_DIR}/python" > /dev/null || die
+		emake "$@"
+		popd > /dev/null
+	}
+	local native_builddir=${BUILD_DIR}
+	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2016-12-22 10:32 Fabian Groffen
  0 siblings, 0 replies; 11+ messages in thread
From: Fabian Groffen @ 2016-12-22 10:32 UTC (permalink / raw
  To: gentoo-commits

commit:     9898c3fd681e2d7a5bcc038fec2758cff39a49aa
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 22 10:32:11 2016 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Thu Dec 22 10:32:11 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9898c3fd

dev-libs/libxslt: add patch from upstream for Cygwin

Package-Manager: portage-2.2.28-prefix

 dev-libs/libxslt/files/libxslt-1.1.29-cygwin.patch |  29 +++++
 dev-libs/libxslt/libxslt-1.1.29-r1.ebuild          | 131 +++++++++++++++++++++
 2 files changed, 160 insertions(+)

diff --git a/dev-libs/libxslt/files/libxslt-1.1.29-cygwin.patch b/dev-libs/libxslt/files/libxslt-1.1.29-cygwin.patch
new file mode 100644
index 00000000..221da9a
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.29-cygwin.patch
@@ -0,0 +1,29 @@
+From 2fbf5b1f440534a46b7b440a487768620cfb039c Mon Sep 17 00:00:00 2001
+From: Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
+Date: Wed, 13 Jul 2016 13:31:05 +0200
+Subject: Add WIN32_EXTRA_LDFLAGS to tests/plugins/Makefile.am
+
+Fixes a compilation problem with Cygwin.
+
+Fixes bug #766669:
+https://bugzilla.gnome.org/show_bug.cgi?id=766669
+---
+ tests/plugins/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/plugins/Makefile.am b/tests/plugins/Makefile.am
+index e0736ab..0f8c378 100644
+--- a/tests/plugins/Makefile.am
++++ b/tests/plugins/Makefile.am
+@@ -21,7 +21,7 @@ plugindir = $(abs_builddir)/.libs
+ xmlsoft_org_xslt_testplugin_la_CFLAGS = -DMODULE_COMPILE $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
+ xmlsoft_org_xslt_testplugin_la_SOURCES = testplugin.c
+ xmlsoft_org_xslt_testplugin_la_LIBADD = $(top_builddir)/libxslt/libxslt.la $(EXTRA_LIBS)
+-xmlsoft_org_xslt_testplugin_la_LDFLAGS = -module -avoid-version -rpath $(plugindir)
++xmlsoft_org_xslt_testplugin_la_LDFLAGS = $(WIN32_EXTRA_LDFLAGS) -module -avoid-version -rpath $(plugindir)
+ 
+ test-logall:
+ 	@echo '## Running plugin tests'
+-- 
+cgit v0.12
+

diff --git a/dev-libs/libxslt/libxslt-1.1.29-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.29-r1.ebuild
new file mode 100644
index 00000000..86ee4d8
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.29-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+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 ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+	python? (
+		${PYTHON_DEPS}
+		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libxslt/xsltconfig.h
+)
+
+src_prepare() {
+	default
+
+	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
+	eapply "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+	# https://bugzilla.gnome.org/show_bug.cgi?id=766669
+	eapply "${FILESDIR}"/${PN}-1.1.29-cygwin.patch
+
+	# Simplify python setup
+	eapply "${FILESDIR}"/${PN}-1.1.28-simplify-python.patch
+	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
+
+	mv configure.{in,ac} || die
+
+	eautoreconf
+	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+	# and it is propably otherwise too if upstream generated with new
+	# autoconf
+#	epunt_cxx
+	# But Prefix always needs elibtoolize if not eautoreconf'd.
+#	elibtoolize
+}
+
+multilib_src_configure() {
+	libxslt_configure() {
+		ECONF_SOURCE="${S}" econf \
+			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+			--with-html-subdir=html \
+			$(use_with crypt crypto) \
+			$(use_with debug) \
+			$(use_with debug mem-debug) \
+			$(use_enable static-libs static) \
+			"$@"
+	}
+
+	libxslt_py_configure() {
+		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+		run_in_build_dir libxslt_configure --with-python
+	}
+
+	libxslt_configure --without-python # build python bindings separately
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl libxslt_py_configure
+	fi
+}
+
+multilib_src_compile() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+	# "default" does not work here - docs are installed by multilib_src_install_all
+	emake DESTDIR="${D}" install
+
+	if multilib_is_native_abi && use python; then
+		libxslt_foreach_py_emake \
+			DESTDIR="${D}" \
+			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+			install
+		python_foreach_impl python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	if ! use examples; then
+		rm -rf "${ED}"/usr/share/doc/${PF}/examples
+		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
+	fi
+
+	prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+	libxslt_py_emake() {
+		pushd "${BUILD_DIR}/python" > /dev/null || die
+		emake "$@"
+		popd > /dev/null
+	}
+	local native_builddir=${BUILD_DIR}
+	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2017-03-29  0:02 Michael Weber
  0 siblings, 0 replies; 11+ messages in thread
From: Michael Weber @ 2017-03-29  0:02 UTC (permalink / raw
  To: gentoo-commits

commit:     134bd877d0614574894e8bef0ab89bcd30da3f23
Author:     Michael Weber <xmw <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 28 23:58:32 2017 +0000
Commit:     Michael Weber <xmw <AT> gentoo <DOT> org>
CommitDate: Wed Mar 29 00:01:51 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=134bd877

dev-libs/libxslt: remove old.

Package-Manager: Portage-2.3.5, Repoman-2.3.2
RepoMan-Options: --include-arches="arm arm64 ppc ppc64"

 dev-libs/libxslt/Manifest                          |   1 -
 .../files/libxslt-1.1.28-AC_PATH_TOOL.patch        |  46 -------
 ...bxslt-1.1.28-attribute-type-preprocessing.patch |  29 -----
 .../libxslt-1.1.28-broken-fprintf-parameters.patch |  52 --------
 .../files/libxslt-1.1.28-exslt-str-replace.patch   |  42 ------
 .../files/libxslt-1.1.28-fix-quoting-xlocale.patch |  47 -------
 ...bxslt-1.1.28-seed-pseudo-random-generator.patch |  60 ---------
 dev-libs/libxslt/libxslt-1.1.28-r5.ebuild          | 144 ---------------------
 8 files changed, 421 deletions(-)

diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 3e393a9386f..16615d334a1 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1,2 +1 @@
-DIST libxslt-1.1.28.tar.gz 3435907 SHA256 5fc7151a57b89c03d7b825df5a0fae0a8d5f05674c0e7cf2937ecec4d54a028c SHA512 20b65bdaceaac5bd11d509bf683ce8e344030bc95164639266ae705d41659bcba47b5be1b059d0d67681e6428b0710db675d1749c06aa531bc2212ed3d0511b1 WHIRLPOOL 7f059d7d6b02fc5982c31d3239188ff0a6d211f722635ac3d3cd77bedf54ef9b1a9433ef1c55a9335f353ce618f3dd93a9e1e19c117988358ab31857edff1843
 DIST libxslt-1.1.29.tar.gz 3428524 SHA256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce SHA512 a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31 WHIRLPOOL 874dca166a147e3928207b0dea720b92a3657406363536be0cc3c904dcea7bad0af48536a722d1570743908a7e730073a13440f41885b8fbaeba919b1e99521b

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
deleted file mode 100644
index bc9ff7fe359..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-AC_PATH_TOOL.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 1fc82ea63f16efc0d607b39a162e3032d7c2d602 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 3 Sep 2014 11:21:01 +0200
-Subject: [PATCH] Use AC_PATH_TOOL to find libgcrypt-config and xml2-config
-
-Using AC_PATH_TOOL prefers ${CHOST}-prefixed tools over 'bare' ones,
-therefore improving support for cross-compilation and multilib. This
-is useful for environment where libgcrypt-config and xml2-config
-correspond to the build host environment, while
-${CHOST}-libgcrypt-config and ${CHOST}-xml2-config are installed for
-each supported build targets.
-
-Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=725635
-Fixes: https://bugs.gentoo.org/show_bug.cgi?id=518728
----
- configure.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index a861e90..f1639a8 100644
---- a/configure.in
-+++ b/configure.in
-@@ -393,7 +393,7 @@ case $host in
-     CRYPTO_TESTDIR=crypto
-     ;;
-   *)
--    AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-+    AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no)
-     if test "$LIBGCRYPT_CONFIG" != "no" ; then
-       LIBGCRYPT_VERSION=`$LIBGCRYPT_CONFIG --version`
-       if test VERSION_TO_NUMBER(echo $LIBGCRYPT_VERSION) -lt VERSION_TO_NUMBER(echo "1.1.42")
-@@ -507,9 +507,9 @@ AC_SUBST(LIBXML_REQUIRED_VERSION)
- AC_MSG_CHECKING(for libxml libraries >= $LIBXML_REQUIRED_VERSION) 
- if test "x$LIBXML_CONFIG_PREFIX" != "x"
- then
--	XML_CONFIG=${LIBXML_CONFIG_PREFIX}/bin/xml2-config
-+	AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false], [${LIBXML_CONFIG_PREFIX}/bin])
- else
--	XML_CONFIG=xml2-config
-+	AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
- fi
- 
- dnl
--- 
-2.1.0
-

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
deleted file mode 100644
index fbcd7ea9055..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-attribute-type-preprocessing.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 7ca19df892ca22d9314e95d59ce2abdeff46b617 Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Thu, 29 Oct 2015 19:33:23 +0800
-Subject: Fix for type confusion in preprocessing attributes
-
-CVE-2015-7995 http://www.openwall.com/lists/oss-security/2015/10/27/10
-We need to check that the parent node is an element before dereferencing
-its namespace
----
- libxslt/preproc.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/libxslt/preproc.c b/libxslt/preproc.c
-index 0eb80a0..7f69325 100644
---- a/libxslt/preproc.c
-+++ b/libxslt/preproc.c
-@@ -2249,7 +2249,8 @@ xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst) {
- 	} else if (IS_XSLT_NAME(inst, "attribute")) {
- 	    xmlNodePtr parent = inst->parent;
- 
--	    if ((parent == NULL) || (parent->ns == NULL) ||
-+	    if ((parent == NULL) ||
-+	        (parent->type != XML_ELEMENT_NODE) || (parent->ns == NULL) ||
- 		((parent->ns != inst->ns) &&
- 		 (!xmlStrEqual(parent->ns->href, inst->ns->href))) ||
- 		(!xmlStrEqual(parent->name, BAD_CAST "attribute-set"))) {
--- 
-cgit v0.11.2
-

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
deleted file mode 100644
index de242f930f0..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-broken-fprintf-parameters.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 90e8b9066d877e040e791bbf206db0e5653e017a Mon Sep 17 00:00:00 2001
-From: Daniel Veillard <veillard@redhat.com>
-Date: Wed, 30 Jan 2013 17:31:37 +0100
-Subject: Fix a couple of places where (f)printf parameters were broken
-
-As reported by Thomas Jarosch <thomas.jarosch@intra2net.com>
----
- python/libxslt.c    | 10 +++++-----
- xsltproc/xsltproc.c |  2 +-
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/python/libxslt.c b/python/libxslt.c
-index 6a4f1c3..8dd6c78 100644
---- a/python/libxslt.c
-+++ b/python/libxslt.c
-@@ -356,15 +356,15 @@ libxslt_xsltRegisterExtModuleElement(PyObject *self ATTRIBUTE_UNUSED,
-     PyObject *pyobj_element_f;
-     PyObject *pyobj_precomp_f;
- 
--#ifdef DEBUG_EXTENSIONS
--    printf("libxslt_xsltRegisterExtModuleElement called\n",
--	   name, ns_uri);
--#endif
--
-     if (!PyArg_ParseTuple(args, (char *)"szOO:registerExtModuleElement",
- 		          &name, &ns_uri, &pyobj_precomp_f, &pyobj_element_f))
-         return(NULL);
- 
-+#ifdef DEBUG_EXTENSIONS
-+    printf("libxslt_xsltRegisterExtModuleElement called: %s %s\n",
-+	   name, ns_uri);
-+#endif
-+
-     if ((name == NULL) || (pyobj_element_f == NULL) || (pyobj_precomp_f == NULL)) {
- 	py_retval = libxml_intWrap(-1);
- 	return(py_retval);
-diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
-index 35f37e8..dfd6d31 100644
---- a/xsltproc/xsltproc.c
-+++ b/xsltproc/xsltproc.c
-@@ -319,7 +319,7 @@ static void endTimer(char *format, ...)
-     va_start(ap, format);
-     vfprintf(stderr,format,ap);
-     va_end(ap);
--    fprintf(stderr, " was not timed\n", msec);
-+    fprintf(stderr, " was not timed\n");
- #else
-   /* We don't have gettimeofday, time or stdarg.h, what crazy world is
-    * this ?!
--- 
-cgit v0.11.2
-

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
deleted file mode 100644
index b0efa6a4c11..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-exslt-str-replace.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From ae49d7a73b043bccb7631e7d9577bcaa0bbf8528 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Mon, 1 Jul 2013 21:10:10 +0800
-Subject: EXSLT function str:replace() is broken as-is
-
-the str:replace() function is no longer usable without a transform
-context. I take it from the bug report that it is not supposed to be used
-from plain XPath but only from XSLT according to the EXSLT specification.
-
-However, the previous implementation used to work in XPath and is still
-registered on an xmlXPathContext by the exsltStrXpathCtxtRegister()
-function. When called from plain XPath, it results in a memory error in
-line 526 (exsltStrReturnString()) of strings.c because xsltCreateRVT()
-returns NULL as an error indicator due to a NULL transform context being
-passed in, which was the return value from xsltXPathGetTransformContext() a
-bit further up (and the code doesn't validate that).
-
-Since fixing the function looks impossible, best is to remove it.
----
- libexslt/strings.c | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/libexslt/strings.c b/libexslt/strings.c
-index 045cc14..c0c7a18 100644
---- a/libexslt/strings.c
-+++ b/libexslt/strings.c
-@@ -838,11 +838,7 @@ exsltStrXpathCtxtRegister (xmlXPathContextPtr ctxt, const xmlChar *prefix)
-         && !xmlXPathRegisterFuncNS(ctxt,
-                                    (const xmlChar *) "concat",
-                                    (const xmlChar *) EXSLT_STRINGS_NAMESPACE,
--                                   exsltStrConcatFunction)
--        && !xmlXPathRegisterFuncNS(ctxt,
--                                   (const xmlChar *) "replace",
--                                   (const xmlChar *) EXSLT_STRINGS_NAMESPACE,
--                                   exsltStrReplaceFunction)) {
-+                                   exsltStrConcatFunction)) {
-         return 0;
-     }
-     return -1;
--- 
-cgit v0.11.2
-

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
deleted file mode 100644
index 1acdb2ebd23..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-fix-quoting-xlocale.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 0a1a5f8c67c90637f0ea3fdc9ec35280d54878d8 Mon Sep 17 00:00:00 2001
-From: Nick Wellnhofer <wellnhofer@aevum.de>
-Date: Tue, 30 Jul 2013 13:57:28 +0200
-Subject: Fix quoting of xlocale test program in configure.in
-
-Double square brackets aren't needed anymore, probably due to the
-changes in commit a2cd8a03.
----
- configure.in | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index fc8d5a8..dcbd971 100644
---- a/configure.in
-+++ b/configure.in
-@@ -196,21 +196,21 @@ typedef locale_t xsltLocale;
- #endif
- ]],[[
-     xsltLocale locale;
--    const char *src[[2]] = { "\xc3\x84rger", "Zeppelin" };
--    char *dst[[2]];
-+    const char *src[2] = { "\xc3\x84rger", "Zeppelin" };
-+    char *dst[2];
-     size_t len, r;
-     int i;
- 
-     locale = newlocale(LC_COLLATE_MASK, "en_US.utf8", NULL);
-     if (locale == NULL) exit(1);
-     for (i=0; i<2; ++i) {
--        len = strxfrm_l(NULL, src[[i]], 0, locale) + 1;
--        dst[[i]] = malloc(len);
--        if(dst[[i]] == NULL) exit(1);
--        r = strxfrm_l(dst[[i]], src[[i]], len, locale);
-+        len = strxfrm_l(NULL, src[i], 0, locale) + 1;
-+        dst[i] = malloc(len);
-+        if(dst[i] == NULL) exit(1);
-+        r = strxfrm_l(dst[i], src[i], len, locale);
-         if(r >= len) exit(1);
-     }
--    if (strcmp(dst[[0]], dst[[1]]) >= 0) exit(1);
-+    if (strcmp(dst[0], dst[1]) >= 0) exit(1);
- 
-     exit(0);
-     return(0);
--- 
-cgit v0.11.2
-

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
deleted file mode 100644
index 580fb29a350..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-seed-pseudo-random-generator.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 3fcf11ead6ad226227b0a3ef4cc6565b8d5857ff Mon Sep 17 00:00:00 2001
-From: Nils Werner <wernerns@iis.fraunhofer.de>
-Date: Thu, 24 Jan 2013 19:44:03 +0100
-Subject: Initialize pseudo random number generator with current time or
- optional command line parameter
-
----
- xsltproc/xsltproc.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/xsltproc/xsltproc.c b/xsltproc/xsltproc.c
-index dfd6d31..45adf5d 100644
---- a/xsltproc/xsltproc.c
-+++ b/xsltproc/xsltproc.c
-@@ -514,6 +514,7 @@ static void usage(const char *name) {
-     printf("\t--maxdepth val : increase the maximum depth (default %d)\n", xsltMaxDepth);
-     printf("\t--maxvars val : increase the maximum variables (default %d)\n", xsltMaxVars);
-     printf("\t--maxparserdepth val : increase the maximum parser depth\n");
-+    printf("\t--seed-rand val : initialize pseudo random number generator with specific seed\n");
- #ifdef LIBXML_HTML_ENABLED
-     printf("\t--html: the input document is(are) an HTML file(s)\n");
- #endif
-@@ -556,6 +557,7 @@ main(int argc, char **argv)
-         return (1);
-     }
- 
-+    srand(time(NULL));
-     xmlInitMemory();
- 
-     LIBXML_TEST_VERSION
-@@ -750,6 +752,15 @@ main(int argc, char **argv)
-                 if (value > 0)
-                     xmlParserMaxDepth = value;
-             }
-+        } else if ((!strcmp(argv[i], "-seed-rand")) ||
-+                   (!strcmp(argv[i], "--seed-rand"))) {
-+            int value;
-+
-+            i++;
-+            if (sscanf(argv[i], "%d", &value) == 1) {
-+                if (value > 0)
-+                    srand(value);
-+            }
-         } else if ((!strcmp(argv[i],"-dumpextensions"))||
- 			(!strcmp(argv[i],"--dumpextensions"))) {
- 		dumpextensions++;
-@@ -786,6 +797,10 @@ main(int argc, char **argv)
-             (!strcmp(argv[i], "--maxparserdepth"))) {
-             i++;
-             continue;
-+        } else if ((!strcmp(argv[i], "-seed-rand")) ||
-+            (!strcmp(argv[i], "--seed-rand"))) {
-+            i++;
-+            continue;
-         } else if ((!strcmp(argv[i], "-o")) ||
-                    (!strcmp(argv[i], "-output")) ||
-                    (!strcmp(argv[i], "--output"))) {
--- 
-cgit v0.11.2
-

diff --git a/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild b/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild
deleted file mode 100644
index 379c9ee418d..00000000000
--- a/dev-libs/libxslt/libxslt-1.1.28-r5.ebuild
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools eutils python-r1 toolchain-funcs multilib-minimal
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-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"
-IUSE="crypt debug examples python static-libs"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
-	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
-	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
-	abi_x86_32? (
-		!<=app-emulation/emul-linux-x86-baselibs-20131008-r20
-		!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
-	)
-"
-DEPEND="${RDEPEND}"
-
-MULTILIB_CHOST_TOOLS=(
-	/usr/bin/xslt-config
-)
-
-src_prepare() {
-	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
-	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
-	epatch "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
-
-	# use AC_PATH_TOOL for libgcrypt-config for sane cross-compile and multilib support
-	# https://bugzilla.gnome.org/show_bug.cgi?id=725635
-	# same for xml2-config
-	# https://bugs.gentoo.org/show_bug.cgi?id=518728
-	epatch "${FILESDIR}"/${PN}-1.1.28-AC_PATH_TOOL.patch
-
-	# Apply patches from master found in debian
-	epatch \
-		"${FILESDIR}"/${PN}-1.1.28-broken-fprintf-parameters.patch \
-		"${FILESDIR}"/${PN}-1.1.28-exslt-str-replace.patch \
-		"${FILESDIR}"/${PN}-1.1.28-fix-quoting-xlocale.patch \
-		"${FILESDIR}"/${PN}-1.1.28-seed-pseudo-random-generator.patch
-
-	# Fix null pointer dereference, from master
-	# https://bugs.gentoo.org/show_bug.cgi?id=558822
-	epatch "${FILESDIR}"/${PN}-1.1.28-attribute-type-preprocessing.patch
-
-	# Simplify python setup
-	epatch "${FILESDIR}"/${PN}-1.1.28-simplify-python.patch
-	epatch "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
-
-	mv configure.{in,ac} || die
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-	# But Prefix always needs elibtoolize if not eautoreconf'd.
-#	elibtoolize
-}
-
-multilib_src_configure() {
-	libxslt_configure() {
-		ECONF_SOURCE="${S}" econf \
-			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-			--with-html-subdir=html \
-			$(use_with crypt crypto) \
-			$(use_with debug) \
-			$(use_with debug mem-debug) \
-			$(use_enable static-libs static) \
-			"$@"
-	}
-
-	libxslt_py_configure() {
-		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
-		run_in_build_dir libxslt_configure --with-python
-	}
-
-	libxslt_configure --without-python # build python bindings separately
-
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl libxslt_py_configure
-	fi
-}
-
-multilib_src_compile() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
-}
-
-multilib_src_test() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
-}
-
-multilib_src_install() {
-	# "default" does not work here - docs are installed by multilib_src_install_all
-	emake DESTDIR="${D}" install
-
-	if multilib_is_native_abi && use python; then
-		libxslt_foreach_py_emake \
-			DESTDIR="${D}" \
-			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
-			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
-			install
-		python_foreach_impl python_optimize
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use examples; then
-		rm -rf "${ED}"/usr/share/doc/${PF}/examples
-		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
-	fi
-
-	prune_libtool_files --modules
-}
-
-libxslt_foreach_py_emake() {
-	libxslt_py_emake() {
-		pushd "${BUILD_DIR}/python" > /dev/null || die
-		emake "$@"
-		popd > /dev/null
-	}
-	local native_builddir=${BUILD_DIR}
-	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2017-09-05  6:58 Gilles Dartiguelongue
  0 siblings, 0 replies; 11+ messages in thread
From: Gilles Dartiguelongue @ 2017-09-05  6:58 UTC (permalink / raw
  To: gentoo-commits

commit:     0b888beb3ed50879d91a673ee2af7a6dc835c8aa
Author:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  5 06:57:39 2017 +0000
Commit:     Gilles Dartiguelongue <eva <AT> gentoo <DOT> org>
CommitDate: Tue Sep  5 06:58:08 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b888beb

dev-libs/libxslt: security version bump 1.1.29-r1 → 1.1.30

Refs: https://bugs.gentoo.org/show_bug.cgi?id=598204
Refs: https://bugs.gentoo.org/show_bug.cgi?id=612194
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-libs/libxslt/Manifest                          |   1 +
 .../files/libxslt-1.1.30-simplify-python.patch     | 250 +++++++++++++++++++++
 dev-libs/libxslt/libxslt-1.1.30.ebuild             | 129 +++++++++++
 3 files changed, 380 insertions(+)

diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 16615d334a1..dc517ff01bf 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1 +1,2 @@
 DIST libxslt-1.1.29.tar.gz 3428524 SHA256 b5976e3857837e7617b29f2249ebb5eeac34e249208d31f1fbf7a6ba7a4090ce SHA512 a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31 WHIRLPOOL 874dca166a147e3928207b0dea720b92a3657406363536be0cc3c904dcea7bad0af48536a722d1570743908a7e730073a13440f41885b8fbaeba919b1e99521b
+DIST libxslt-1.1.30.tar.gz 3444029 SHA256 ba65236116de8326d83378b2bd929879fa185195bc530b9d1aba72107910b6b3 SHA512 d24e37398503b6bc29245a993738df51bf3948c4a8f052eedd7eac0a9fcff2d5b54220f37070c46f763e073c34bdb3153c9f129aa0df60c3d7cf7eadbbf15986 WHIRLPOOL 7a346a1cdd340f6ee39b4d8d426dd894164ce4b8c55ee74b832cdcc9e7bb7bd2e13fdabb57a50a206c40be8bf238a57132bd1cf6fe48e77c710d8ec75f1aaffc

diff --git a/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch b/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch
new file mode 100644
index 00000000000..dac84fa6630
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch
@@ -0,0 +1,250 @@
+From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 11 Nov 2015 17:49:07 +0100
+Subject: [PATCH] Simplify python setup in autoconf
+
+AM_PATH_PYTHON does most of the job without using pkg-config as expected
+from the rest of the autoconf script.
+---
+ Makefile.am        |  14 +++++--
+ configure.in       | 119 ++++++++++++++---------------------------------------
+ python/Makefile.am |  28 ++++---------
+ 3 files changed, 49 insertions(+), 112 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ff10f574..65decb3c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,9 +2,13 @@ SUBDIRS = \
+ 	libxslt \
+ 	libexslt \
+ 	xsltproc \
+-	doc \
+-	$(PYTHON_SUBDIR) \
+-	tests
++	doc
++
++if WITH_PYTHON
++SUBDIRS += python
++endif
++
++SUBDIRS += tests
+ 
+ DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
+ 
+@@ -51,7 +55,9 @@ tests: dummy
+ 	@echo '## Running the regression test suite'
+ 	@(cd tests ; $(MAKE) -s tests)
+ 	@(cd xsltproc ; $(MAKE) -s tests)
+-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
++if WITH_PYTHON
++	@(cd python ; $(MAKE) -s tests)
++endif
+ 
+ valgrind:
+ 	@echo '## Running the regression tests under Valgrind'
+diff --git a/configure.in b/configure.in
+index d6aa3664..0a538944 100644
+--- a/configure.in
++++ b/configure.in
+@@ -293,90 +293,37 @@ dnl
+ dnl check for python
+ dnl
+ 
+-PYTHON_VERSION=
+-PYTHON_INCLUDES=
+-PYTHON_SITE_PACKAGES=
+-pythondir=
+-AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
+-if test "$with_python" != "no" ; then
+-    if test -x "$with_python/bin/python"
+-    then
+-        echo Found python in $with_python/bin/python
+-        PYTHON="$with_python/bin/python"
+-    else
+-	if test -x "$with_python"
+-	then
+-	    echo Found python in $with_python
+-	    PYTHON="$with_python"
+-	else
+-            if test -x "$PYTHON"
+-            then
+-                echo Found python in environment PYTHON=$PYTHON
+-                with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
+-	    else
+-	        AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
+-	    fi
+-	fi
+-    fi
+-    if test "$PYTHON" != ""
+-    then
+-        echo "PYTHON is pointing at $PYTHON"
+-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
+-	echo Found Python version $PYTHON_VERSION
+-	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
+-except: print 0"`
+-	if test "$LIBXML2_PYTHON" = "1"
+-	then
+-	    echo Found libxml2-python module
+-	else
+-	    echo Warning: Missing libxml2-python
+-	fi
+-    fi
+-    if test "$PYTHON_VERSION" != ""
+-    then
+-	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
+-	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
+-	then
+-	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
+-	    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-	else
+-	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+-	    then
+-	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
+-		PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-	    else
+-		if test -r /usr/include/python$PYTHON_VERSION/Python.h
+-		then
+-		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
+-		    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-		else
+-		    echo could not find python$PYTHON_VERSION/Python.h
+-		fi
+-	    fi
+-	    if test ! -d "$PYTHON_SITE_PACKAGES"
+-	    then
+-		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
+-	    fi
+-	fi
+-        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
+-    fi
+-    if test "$with_python" != ""
+-    then
+-        pythondir='$(PYTHON_SITE_PACKAGES)'
+-    else
+-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-    fi
+-fi
+-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
+-if test "$PYTHON_INCLUDES" != ""
+-then
+-    PYTHON_SUBDIR=python
+-else
+-    PYTHON_SUBDIR=
+-fi
+-AC_SUBST(pythondir)
+-AC_SUBST(PYTHON_SUBDIR)
+-AC_SUBST(PYTHON_LIBS)
++AC_ARG_WITH([python],
++    AS_HELP_STRING([--with-python], [Build Python bindings if found])
++)
++
++AS_IF([test "$with_python" = "yes"],
++      [AM_PATH_PYTHON
++       AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
++       AS_IF([test "$PYTHON_CONFIG" = "no"],
++             [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
++       AS_IF([test "$PYTHON_CONFIG" != "no"],
++             [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
++              PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
++              PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
++             [AC_MSG_ERROR([Missing python development files.])])
++       AC_MSG_CHECKING([libxml2 module in $PYTHON])
++	   LIBXML2_PYTHON=`$PYTHON -c "import sys;
++try:
++    import libxml2
++    sys.stdout.write('1')
++except:
++    sys.stdout.write('0')"`
++       AS_IF([test "$LIBXML2_PYTHON" = "1"],
++             [AC_MSG_RESULT([yes])],
++             [AC_MSG_RESULT([no])
++              AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
++      ])
++
++AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
++AC_SUBST([PYTHON_CFLAGS])
++AC_SUBST([PYTHON_LDFLAGS])
++AC_SUBST([PYTHON_LIBS])
+ 
+ AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
+ WITH_CRYPTO=0
+@@ -678,10 +625,6 @@ AC_SUBST(PYTHONSODV)
+ AC_SUBST(XML_CONFIG)
+ AC_SUBST(LIBXML_LIBS)
+ AC_SUBST(LIBXML_CFLAGS)
+-AC_SUBST(PYTHON)
+-AC_SUBST(PYTHON_VERSION)
+-AC_SUBST(PYTHON_INCLUDES)
+-AC_SUBST(PYTHON_SITE_PACKAGES)
+ 
+ XSLT_LIBDIR='-L${libdir}'
+ XSLT_INCLUDEDIR='-I${includedir}'
+diff --git a/python/Makefile.am b/python/Makefile.am
+index fa58b78f..3a5ecd6a 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -5,9 +5,9 @@ SUBDIRS= . tests
+ 
+ AM_CFLAGS = $(LIBXML_CFLAGS)
+ 
+-DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
++docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
+ # libxsltclass.txt is generated
+-DOCS = TODO
++dist_docs_DATA = TODO
+ 
+ EXTRA_DIST = 			\
+ 	libxslt.c		\
+@@ -16,10 +16,7 @@ EXTRA_DIST = 			\
+ 	libxml_wrap.h		\
+ 	libxslt_wrap.h		\
+ 	libxsl.py		\
+-	libxslt-python-api.xml	\
+-	$(DOCS)
+-
+-libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
++	libxslt-python-api.xml
+ 
+ if WITH_PYTHON
+ mylibs = \
+@@ -28,31 +25,22 @@ mylibs = \
+ 
+ all-local: libxslt.py
+ 
+-python_LTLIBRARIES = libxsltmod.la
++python_PYTHON = libxslt.py
++pyexec_LTLIBRARIES = libxsltmod.la
+ 
+ libxsltmod_la_CPPFLAGS = \
+-	-I$(PYTHON_INCLUDES) \
+ 	-I$(top_srcdir)/libxslt \
+ 	-I$(top_srcdir) \
+-	-I../libexslt
++	-I$(top_srcdir)/libexslt \
++	$(PYTHON_CFLAGS)
+ libxsltmod_la_SOURCES = libxslt.c types.c
+ nodist_libxsltmod_la_SOURCES = libxslt-py.c
+ libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
++libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
+ 
+ libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
+ 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
+ 
+-install-data-local:
+-	$(MKDIR_P) $(DESTDIR)$(pythondir)
+-	$(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
+-	$(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
+-	@(for doc in $(DOCS) ; \
+-	   do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
+-
+-uninstall-local:
+-	rm -f $(DESTDIR)$(pythondir)/libxslt.py
+-	rm -rf $(DESTDIR)$(DOCS_DIR)
+-
+ GENERATE = generator.py
+ API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
+ GENERATED= libxsltclass.py \
+-- 
+2.14.1
+

diff --git a/dev-libs/libxslt/libxslt-1.1.30.ebuild b/dev-libs/libxslt/libxslt-1.1.30.ebuild
new file mode 100644
index 00000000000..c6c711bde4c
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.30.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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"
+
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+	python? (
+		${PYTHON_DEPS}
+		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libxslt/xsltconfig.h
+)
+
+src_prepare() {
+	default
+
+	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
+	eapply "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+	# Simplify python setup
+	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
+	eapply "${FILESDIR}"/${PN}-1.1.30-simplify-python.patch
+	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
+
+	mv configure.{in,ac} || die
+
+	eautoreconf
+	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+	# and it is propably otherwise too if upstream generated with new
+	# autoconf
+#	epunt_cxx
+	# But Prefix always needs elibtoolize if not eautoreconf'd.
+#	elibtoolize
+}
+
+multilib_src_configure() {
+	libxslt_configure() {
+		ECONF_SOURCE="${S}" econf \
+			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+			--with-html-subdir=html \
+			$(use_with crypt crypto) \
+			$(use_with debug) \
+			$(use_with debug mem-debug) \
+			$(use_enable static-libs static) \
+			"$@"
+	}
+
+	libxslt_py_configure() {
+		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+		run_in_build_dir libxslt_configure --with-python
+	}
+
+	libxslt_configure --without-python # build python bindings separately
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl libxslt_py_configure
+	fi
+}
+
+multilib_src_compile() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+	# "default" does not work here - docs are installed by multilib_src_install_all
+	emake DESTDIR="${D}" install
+
+	if multilib_is_native_abi && use python; then
+		libxslt_foreach_py_emake \
+			DESTDIR="${D}" \
+			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+			install
+		python_foreach_impl python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	if ! use examples; then
+		rm -rf "${ED}"/usr/share/doc/${PF}/examples
+		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
+	fi
+
+	prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+	libxslt_py_emake() {
+		pushd "${BUILD_DIR}/python" > /dev/null || die
+		emake "$@"
+		popd > /dev/null
+	}
+	local native_builddir=${BUILD_DIR}
+	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2017-10-28 20:31 Andreas Hüttel
  0 siblings, 0 replies; 11+ messages in thread
From: Andreas Hüttel @ 2017-10-28 20:31 UTC (permalink / raw
  To: gentoo-commits

commit:     22feb6cfb4d502a668287e6cada18bf52d418776
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 28 20:30:51 2017 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat Oct 28 20:31:09 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22feb6cf

dev-libs/libxslt: Fix glibc-2.26 compatibility. Patch by Quentin Minster.

This patch is much less intrusive than the upstream solution, so using
it for now. Revision bump since the current version unconditionally includes
in public headers xlocale.h ...

Closes: https://bugs.gentoo.org/632214
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 .../libxslt/files/libxslt-1.1.30-glibc226.patch    |  32 +++++
 dev-libs/libxslt/libxslt-1.1.30-r2.ebuild          | 136 +++++++++++++++++++++
 2 files changed, 168 insertions(+)

diff --git a/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch b/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch
new file mode 100644
index 00000000000..e1e97229d60
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch
@@ -0,0 +1,32 @@
+diff --git a/configure.in b/configure.in
+index d6aa366..20aafb8 100644
+--- a/configure.in
++++ b/configure.in
+@@ -165,11 +165,11 @@ XSLT_LOCALE_XLOCALE=0
+ XSLT_LOCALE_WINAPI=0
+ 
+ AC_CHECK_HEADERS([locale.h xlocale.h])
+-if test $ac_cv_header_xlocale_h = yes; then
++if test $ac_cv_header_locale_h = yes; then
+ dnl
+ dnl Check for generic locale_t declaration
+ dnl
+-AC_MSG_CHECKING([if xlocale program link])
++AC_MSG_CHECKING([if locale program link])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+ #ifdef HAVE_LOCALE_H
+ #include <locale.h>
+diff --git a/libxslt/xsltlocale.h b/libxslt/xsltlocale.h
+index 8a9ca15..2f64424 100644
+--- a/libxslt/xsltlocale.h
++++ b/libxslt/xsltlocale.h
+@@ -17,7 +17,9 @@
+ #ifdef XSLT_LOCALE_XLOCALE
+ 
+ #include <locale.h>
++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 26
+ #include <xlocale.h>
++#endif
+ 
+ #ifdef __GLIBC__
+ /*locale_t is defined only if _GNU_SOURCE is defined*/

diff --git a/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
new file mode 100644
index 00000000000..8e852aaf2c5
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~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"
+
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+	python? (
+		${PYTHON_DEPS}
+		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libxslt/xsltconfig.h
+)
+
+src_prepare() {
+	default
+
+	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
+	eapply "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+	# Simplify python setup
+	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
+	eapply "${FILESDIR}"/${PN}-1.1.30-simplify-python.patch
+	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
+
+	# Fix xslt-config
+	# https://bugs.gentoo.org/630784
+	eapply "${FILESDIR}"/1.1.30-unbreak-xslt-config.patch
+
+	# Fix build and headers with glibc-2.26, bug 632214
+	eapply "${FILESDIR}"/${PN}-1.1.30-glibc226.patch
+
+	mv configure.{in,ac} || die
+
+	eautoreconf
+	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+	# and it is propably otherwise too if upstream generated with new
+	# autoconf
+#	epunt_cxx
+	# But Prefix always needs elibtoolize if not eautoreconf'd.
+#	elibtoolize
+}
+
+multilib_src_configure() {
+	libxslt_configure() {
+		ECONF_SOURCE="${S}" econf \
+			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+			--with-html-subdir=html \
+			$(use_with crypt crypto) \
+			$(use_with debug) \
+			$(use_with debug mem-debug) \
+			$(use_enable static-libs static) \
+			"$@"
+	}
+
+	libxslt_py_configure() {
+		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+		run_in_build_dir libxslt_configure --with-python
+	}
+
+	libxslt_configure --without-python # build python bindings separately
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl libxslt_py_configure
+	fi
+}
+
+multilib_src_compile() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+	# "default" does not work here - docs are installed by multilib_src_install_all
+	emake DESTDIR="${D}" install
+
+	if multilib_is_native_abi && use python; then
+		libxslt_foreach_py_emake \
+			DESTDIR="${D}" \
+			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+			install
+		python_foreach_impl python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	if ! use examples; then
+		rm -rf "${ED}"/usr/share/doc/${PF}/examples
+		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
+	fi
+
+	prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+	libxslt_py_emake() {
+		pushd "${BUILD_DIR}/python" > /dev/null || die
+		emake "$@"
+		popd > /dev/null
+	}
+	local native_builddir=${BUILD_DIR}
+	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2018-04-21 12:34 Mart Raudsepp
  0 siblings, 0 replies; 11+ messages in thread
From: Mart Raudsepp @ 2018-04-21 12:34 UTC (permalink / raw
  To: gentoo-commits

commit:     e39d23cb4ddf16005e6dc6417c929219bbb16b85
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 21 11:23:40 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sat Apr 21 12:33:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e39d23cb

dev-libs/libxslt: bump to 1.1.32

Drop the m4 patch that adds CXXFLAGS with unknown reasons of existing;
it shouldn't be necessary as no AC_LANG([C++]) or such is used in
configure.ac, so lets try without.

simplify-python and python static modules disabling patches are kept
for now, just having to adjust for the upstream rename of configure.in
to configure.ac

xslt-config breakage was fixed upstream in a different way, thus should
not need that patch anymore, either.

xlocale.h glibc removal was handled differently as well, via
AC_CHECK_HEADERS([locale.h xlocale.h])
AC_CHECK_FUNCS([strxfrm_l])
with HAVE_LOCALE_H and HAVE_XLOCALE_H in the installed xsltlocale.h,
about which I'm not sure how consumers are supposed to handle it when
directly or indirectly including xsltlocale.h (presumably doing their
own AC_CHECK_HEADERS call?), but that similar before as well via
ifdef XSLT_LOCALE_XLOCALE in 1.1.30.

"rm -r .. || die" instead of "rm -rf .." while here and fix unnecessary
removal of non-existing non-python examples. There actually is a C
example, but not installed (due to requiring ICU), so we'd have to
doins it instead with USE=examples, but meh. Due to no -f, python examples
have to be removed only if use python.

Closes: https://bugs.gentoo.org/632214
Bug: https://bugs.gentoo.org/637310
Package-Manager: Portage-2.3.28, Repoman-2.3.9

 dev-libs/libxslt/Manifest                          |   1 +
 .../libxslt/files/1.1.32-simplify-python.patch     | 250 +++++++++++++++++++++
 dev-libs/libxslt/libxslt-1.1.32.ebuild             | 123 ++++++++++
 3 files changed, 374 insertions(+)

diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 12817c52ce2..82223dbe0fd 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1 +1,2 @@
 DIST libxslt-1.1.30.tar.gz 3444029 BLAKE2B 668371393a11c0c16d1549fe771fef7dea96a7208f359578b773c9e7d4c6c4accbe43500e960d58e8f2275682a839582f1f40c1bd984745b8e3944a1d9a97582 SHA512 d24e37398503b6bc29245a993738df51bf3948c4a8f052eedd7eac0a9fcff2d5b54220f37070c46f763e073c34bdb3153c9f129aa0df60c3d7cf7eadbbf15986
+DIST libxslt-1.1.32.tar.gz 3440715 BLAKE2B 8d5dead5788d8d09ab121d6e33397ee8ed8836f573adba4b5f0e3f2e1410acfca0c50dbe06ea3b50a2df819aa01e7522902fbd5270e5329075b854881150ab64 SHA512 e1ed3c103cd4c9897e7dd2360a11f63cf30382b7566ce6fcc81117804e203714446b5a62179ce628c3834b0b32ecdeeceecbdfa417507ce9ed5a107a0ebefb39

diff --git a/dev-libs/libxslt/files/1.1.32-simplify-python.patch b/dev-libs/libxslt/files/1.1.32-simplify-python.patch
new file mode 100644
index 00000000000..d5a4401afd6
--- /dev/null
+++ b/dev-libs/libxslt/files/1.1.32-simplify-python.patch
@@ -0,0 +1,250 @@
+From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 11 Nov 2015 17:49:07 +0100
+Subject: [PATCH] Simplify python setup in autoconf
+
+AM_PATH_PYTHON does most of the job without using pkg-config as expected
+from the rest of the autoconf script.
+---
+ Makefile.am        |  14 +++++--
+ configure.ac       | 119 ++++++++++++++---------------------------------------
+ python/Makefile.am |  28 ++++---------
+ 3 files changed, 49 insertions(+), 112 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ff10f574..65decb3c 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -2,9 +2,13 @@ SUBDIRS = \
+ 	libxslt \
+ 	libexslt \
+ 	xsltproc \
+-	doc \
+-	$(PYTHON_SUBDIR) \
+-	tests
++	doc
++
++if WITH_PYTHON
++SUBDIRS += python
++endif
++
++SUBDIRS += tests
+ 
+ DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
+ 
+@@ -51,7 +55,9 @@ tests: dummy
+ 	@echo '## Running the regression test suite'
+ 	@(cd tests ; $(MAKE) -s tests)
+ 	@(cd xsltproc ; $(MAKE) -s tests)
+-	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
++if WITH_PYTHON
++	@(cd python ; $(MAKE) -s tests)
++endif
+ 
+ valgrind:
+ 	@echo '## Running the regression tests under Valgrind'
+diff --git a/configure.ac b/configure.ac
+index d6aa3664..0a538944 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -293,90 +293,37 @@ dnl
+ dnl check for python
+ dnl
+ 
+-PYTHON_VERSION=
+-PYTHON_INCLUDES=
+-PYTHON_SITE_PACKAGES=
+-pythondir=
+-AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
+-if test "$with_python" != "no" ; then
+-    if test -x "$with_python/bin/python"
+-    then
+-        echo Found python in $with_python/bin/python
+-        PYTHON="$with_python/bin/python"
+-    else
+-	if test -x "$with_python"
+-	then
+-	    echo Found python in $with_python
+-	    PYTHON="$with_python"
+-	else
+-            if test -x "$PYTHON"
+-            then
+-                echo Found python in environment PYTHON=$PYTHON
+-                with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
+-	    else
+-	        AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
+-	    fi
+-	fi
+-    fi
+-    if test "$PYTHON" != ""
+-    then
+-        echo "PYTHON is pointing at $PYTHON"
+-        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
+-	echo Found Python version $PYTHON_VERSION
+-	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
+-except: print 0"`
+-	if test "$LIBXML2_PYTHON" = "1"
+-	then
+-	    echo Found libxml2-python module
+-	else
+-	    echo Warning: Missing libxml2-python
+-	fi
+-    fi
+-    if test "$PYTHON_VERSION" != ""
+-    then
+-	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
+-	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
+-	then
+-	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
+-	    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-	else
+-	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+-	    then
+-	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
+-		PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-	    else
+-		if test -r /usr/include/python$PYTHON_VERSION/Python.h
+-		then
+-		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
+-		    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-		else
+-		    echo could not find python$PYTHON_VERSION/Python.h
+-		fi
+-	    fi
+-	    if test ! -d "$PYTHON_SITE_PACKAGES"
+-	    then
+-		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
+-	    fi
+-	fi
+-        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
+-    fi
+-    if test "$with_python" != ""
+-    then
+-        pythondir='$(PYTHON_SITE_PACKAGES)'
+-    else
+-        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
+-    fi
+-fi
+-AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
+-if test "$PYTHON_INCLUDES" != ""
+-then
+-    PYTHON_SUBDIR=python
+-else
+-    PYTHON_SUBDIR=
+-fi
+-AC_SUBST(pythondir)
+-AC_SUBST(PYTHON_SUBDIR)
+-AC_SUBST(PYTHON_LIBS)
++AC_ARG_WITH([python],
++    AS_HELP_STRING([--with-python], [Build Python bindings if found])
++)
++
++AS_IF([test "$with_python" = "yes"],
++      [AM_PATH_PYTHON
++       AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
++       AS_IF([test "$PYTHON_CONFIG" = "no"],
++             [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
++       AS_IF([test "$PYTHON_CONFIG" != "no"],
++             [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
++              PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
++              PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
++             [AC_MSG_ERROR([Missing python development files.])])
++       AC_MSG_CHECKING([libxml2 module in $PYTHON])
++	   LIBXML2_PYTHON=`$PYTHON -c "import sys;
++try:
++    import libxml2
++    sys.stdout.write('1')
++except:
++    sys.stdout.write('0')"`
++       AS_IF([test "$LIBXML2_PYTHON" = "1"],
++             [AC_MSG_RESULT([yes])],
++             [AC_MSG_RESULT([no])
++              AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
++      ])
++
++AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
++AC_SUBST([PYTHON_CFLAGS])
++AC_SUBST([PYTHON_LDFLAGS])
++AC_SUBST([PYTHON_LIBS])
+ 
+ AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
+ WITH_CRYPTO=0
+@@ -678,10 +625,6 @@ AC_SUBST(PYTHONSODV)
+ AC_SUBST(XML_CONFIG)
+ AC_SUBST(LIBXML_LIBS)
+ AC_SUBST(LIBXML_CFLAGS)
+-AC_SUBST(PYTHON)
+-AC_SUBST(PYTHON_VERSION)
+-AC_SUBST(PYTHON_INCLUDES)
+-AC_SUBST(PYTHON_SITE_PACKAGES)
+ 
+ XSLT_LIBDIR='-L${libdir}'
+ XSLT_INCLUDEDIR='-I${includedir}'
+diff --git a/python/Makefile.am b/python/Makefile.am
+index fa58b78f..3a5ecd6a 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -5,9 +5,9 @@ SUBDIRS= . tests
+ 
+ AM_CFLAGS = $(LIBXML_CFLAGS)
+ 
+-DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
++docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
+ # libxsltclass.txt is generated
+-DOCS = TODO
++dist_docs_DATA = TODO
+ 
+ EXTRA_DIST = 			\
+ 	libxslt.c		\
+@@ -16,10 +16,7 @@ EXTRA_DIST = 			\
+ 	libxml_wrap.h		\
+ 	libxslt_wrap.h		\
+ 	libxsl.py		\
+-	libxslt-python-api.xml	\
+-	$(DOCS)
+-
+-libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
++	libxslt-python-api.xml
+ 
+ if WITH_PYTHON
+ mylibs = \
+@@ -28,31 +25,22 @@ mylibs = \
+ 
+ all-local: libxslt.py
+ 
+-python_LTLIBRARIES = libxsltmod.la
++python_PYTHON = libxslt.py
++pyexec_LTLIBRARIES = libxsltmod.la
+ 
+ libxsltmod_la_CPPFLAGS = \
+-	-I$(PYTHON_INCLUDES) \
+ 	-I$(top_srcdir)/libxslt \
+ 	-I$(top_srcdir) \
+-	-I../libexslt
++	-I$(top_srcdir)/libexslt \
++	$(PYTHON_CFLAGS)
+ libxsltmod_la_SOURCES = libxslt.c types.c
+ nodist_libxsltmod_la_SOURCES = libxslt-py.c
+ libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
++libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
+ 
+ libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
+ 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
+ 
+-install-data-local:
+-	$(MKDIR_P) $(DESTDIR)$(pythondir)
+-	$(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
+-	$(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
+-	@(for doc in $(DOCS) ; \
+-	   do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
+-
+-uninstall-local:
+-	rm -f $(DESTDIR)$(pythondir)/libxslt.py
+-	rm -rf $(DESTDIR)$(DOCS_DIR)
+-
+ GENERATE = generator.py
+ API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
+ GENERATED= libxsltclass.py \
+-- 
+2.14.1
+

diff --git a/dev-libs/libxslt/libxslt-1.1.32.ebuild b/dev-libs/libxslt/libxslt-1.1.32.ebuild
new file mode 100644
index 00000000000..81bf7991ed3
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.32.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+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 ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt debug examples python static-libs elibc_Darwin"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+	python? (
+		${PYTHON_DEPS}
+		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libxslt/xsltconfig.h
+)
+
+src_prepare() {
+	default
+
+	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+	# Simplify python setup
+	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
+	eapply "${FILESDIR}"/${PV}-simplify-python.patch
+	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
+
+	eautoreconf
+	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+	# and it is propably otherwise too if upstream generated with new
+	# autoconf
+#	epunt_cxx
+	# But Prefix always needs elibtoolize if not eautoreconf'd.
+#	elibtoolize
+}
+
+multilib_src_configure() {
+	libxslt_configure() {
+		ECONF_SOURCE="${S}" econf \
+			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+			--with-html-subdir=html \
+			$(use_with crypt crypto) \
+			$(use_with debug) \
+			$(use_with debug mem-debug) \
+			$(use_enable static-libs static) \
+			"$@"
+	}
+
+	libxslt_py_configure() {
+		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+		run_in_build_dir libxslt_configure --with-python
+	}
+
+	libxslt_configure --without-python # build python bindings separately
+
+	if multilib_is_native_abi && use python; then
+		python_foreach_impl libxslt_py_configure
+	fi
+}
+
+multilib_src_compile() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+	default
+	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+multilib_src_install() {
+	# "default" does not work here - docs are installed by multilib_src_install_all
+	emake DESTDIR="${D}" install
+
+	if multilib_is_native_abi && use python; then
+		libxslt_foreach_py_emake \
+			DESTDIR="${D}" \
+			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+			install
+		python_foreach_impl python_optimize
+	fi
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	if ! use examples && use python; then
+		rm -r "${ED}"/usr/share/doc/${PF}/python/examples || die
+	fi
+
+	prune_libtool_files --modules
+}
+
+libxslt_foreach_py_emake() {
+	libxslt_py_emake() {
+		pushd "${BUILD_DIR}/python" > /dev/null || die
+		emake "$@"
+		popd > /dev/null
+	}
+	local native_builddir=${BUILD_DIR}
+	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2018-09-16 23:29 Mart Raudsepp
  0 siblings, 0 replies; 11+ messages in thread
From: Mart Raudsepp @ 2018-09-16 23:29 UTC (permalink / raw
  To: gentoo-commits

commit:     5dcc0568c5c84cf68534c76ae3182b6b5a112bf0
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 16 21:52:06 2018 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 23:20:37 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dcc0568

dev-libs/libxslt: remove old

Package-Manager: Portage-2.3.49, Repoman-2.3.10

 dev-libs/libxslt/Manifest                          |   1 -
 .../libxslt/files/1.1.30-unbreak-xslt-config.patch |  37 ---
 .../libxslt/files/libxslt-1.1.30-glibc226.patch    |  32 ---
 .../files/libxslt-1.1.30-simplify-python.patch     | 250 ---------------------
 .../libxslt/files/libxslt.m4-libxslt-1.1.26.patch  |  38 ----
 dev-libs/libxslt/libxslt-1.1.30-r2.ebuild          | 136 -----------
 6 files changed, 494 deletions(-)

diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index 82223dbe0fd..50121a97439 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1,2 +1 @@
-DIST libxslt-1.1.30.tar.gz 3444029 BLAKE2B 668371393a11c0c16d1549fe771fef7dea96a7208f359578b773c9e7d4c6c4accbe43500e960d58e8f2275682a839582f1f40c1bd984745b8e3944a1d9a97582 SHA512 d24e37398503b6bc29245a993738df51bf3948c4a8f052eedd7eac0a9fcff2d5b54220f37070c46f763e073c34bdb3153c9f129aa0df60c3d7cf7eadbbf15986
 DIST libxslt-1.1.32.tar.gz 3440715 BLAKE2B 8d5dead5788d8d09ab121d6e33397ee8ed8836f573adba4b5f0e3f2e1410acfca0c50dbe06ea3b50a2df819aa01e7522902fbd5270e5329075b854881150ab64 SHA512 e1ed3c103cd4c9897e7dd2360a11f63cf30382b7566ce6fcc81117804e203714446b5a62179ce628c3834b0b32ecdeeceecbdfa417507ce9ed5a107a0ebefb39

diff --git a/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch b/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch
deleted file mode 100644
index 6e367f97691..00000000000
--- a/dev-libs/libxslt/files/1.1.30-unbreak-xslt-config.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 9608d20739b36087f0e6865cc924769d3b286188 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Tue, 12 Sep 2017 23:44:35 +0200
-Subject: [PATCH] Move XML_CONFIG assignment to unbreak xslt-config
-
-Bug: https://bugs.gentoo.org/630784
----
- configure.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.in b/configure.in
-index e6f649cd..49e6b6cf 100644
---- a/configure.in
-+++ b/configure.in
-@@ -518,9 +518,6 @@ else
- 	LIBXML_MANUAL_SEARCH=yes
- fi
- 
--if test "x$LIBXML_MANUAL_SEARCH" != "xno"
--then
--
- dnl
- dnl where is xml2-config
- dnl
-@@ -534,6 +531,9 @@ else
- 	AC_PATH_TOOL([XML_CONFIG], [xml2-config], [false])
- fi
- 
-+if test "x$LIBXML_MANUAL_SEARCH" != "xno"
-+then
-+
- dnl
- dnl imported from libxml2, c.f. #77827 
- dnl
--- 
-2.14.1
-

diff --git a/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch b/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch
deleted file mode 100644
index e1e97229d60..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.30-glibc226.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/configure.in b/configure.in
-index d6aa366..20aafb8 100644
---- a/configure.in
-+++ b/configure.in
-@@ -165,11 +165,11 @@ XSLT_LOCALE_XLOCALE=0
- XSLT_LOCALE_WINAPI=0
- 
- AC_CHECK_HEADERS([locale.h xlocale.h])
--if test $ac_cv_header_xlocale_h = yes; then
-+if test $ac_cv_header_locale_h = yes; then
- dnl
- dnl Check for generic locale_t declaration
- dnl
--AC_MSG_CHECKING([if xlocale program link])
-+AC_MSG_CHECKING([if locale program link])
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
- #ifdef HAVE_LOCALE_H
- #include <locale.h>
-diff --git a/libxslt/xsltlocale.h b/libxslt/xsltlocale.h
-index 8a9ca15..2f64424 100644
---- a/libxslt/xsltlocale.h
-+++ b/libxslt/xsltlocale.h
-@@ -17,7 +17,9 @@
- #ifdef XSLT_LOCALE_XLOCALE
- 
- #include <locale.h>
-+#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 26
- #include <xlocale.h>
-+#endif
- 
- #ifdef __GLIBC__
- /*locale_t is defined only if _GNU_SOURCE is defined*/

diff --git a/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch b/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch
deleted file mode 100644
index dac84fa6630..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.30-simplify-python.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Nov 2015 17:49:07 +0100
-Subject: [PATCH] Simplify python setup in autoconf
-
-AM_PATH_PYTHON does most of the job without using pkg-config as expected
-from the rest of the autoconf script.
----
- Makefile.am        |  14 +++++--
- configure.in       | 119 ++++++++++++++---------------------------------------
- python/Makefile.am |  28 ++++---------
- 3 files changed, 49 insertions(+), 112 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index ff10f574..65decb3c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,9 +2,13 @@ SUBDIRS = \
- 	libxslt \
- 	libexslt \
- 	xsltproc \
--	doc \
--	$(PYTHON_SUBDIR) \
--	tests
-+	doc
-+
-+if WITH_PYTHON
-+SUBDIRS += python
-+endif
-+
-+SUBDIRS += tests
- 
- DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
- 
-@@ -51,7 +55,9 @@ tests: dummy
- 	@echo '## Running the regression test suite'
- 	@(cd tests ; $(MAKE) -s tests)
- 	@(cd xsltproc ; $(MAKE) -s tests)
--	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
-+if WITH_PYTHON
-+	@(cd python ; $(MAKE) -s tests)
-+endif
- 
- valgrind:
- 	@echo '## Running the regression tests under Valgrind'
-diff --git a/configure.in b/configure.in
-index d6aa3664..0a538944 100644
---- a/configure.in
-+++ b/configure.in
-@@ -293,90 +293,37 @@ dnl
- dnl check for python
- dnl
- 
--PYTHON_VERSION=
--PYTHON_INCLUDES=
--PYTHON_SITE_PACKAGES=
--pythondir=
--AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
--if test "$with_python" != "no" ; then
--    if test -x "$with_python/bin/python"
--    then
--        echo Found python in $with_python/bin/python
--        PYTHON="$with_python/bin/python"
--    else
--	if test -x "$with_python"
--	then
--	    echo Found python in $with_python
--	    PYTHON="$with_python"
--	else
--            if test -x "$PYTHON"
--            then
--                echo Found python in environment PYTHON=$PYTHON
--                with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
--	    else
--	        AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
--	    fi
--	fi
--    fi
--    if test "$PYTHON" != ""
--    then
--        echo "PYTHON is pointing at $PYTHON"
--        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
--	echo Found Python version $PYTHON_VERSION
--	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
--except: print 0"`
--	if test "$LIBXML2_PYTHON" = "1"
--	then
--	    echo Found libxml2-python module
--	else
--	    echo Warning: Missing libxml2-python
--	fi
--    fi
--    if test "$PYTHON_VERSION" != ""
--    then
--	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
--	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
--	then
--	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
--	    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--	else
--	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
--	    then
--	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
--		PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--	    else
--		if test -r /usr/include/python$PYTHON_VERSION/Python.h
--		then
--		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
--		    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--		else
--		    echo could not find python$PYTHON_VERSION/Python.h
--		fi
--	    fi
--	    if test ! -d "$PYTHON_SITE_PACKAGES"
--	    then
--		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
--	    fi
--	fi
--        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
--    fi
--    if test "$with_python" != ""
--    then
--        pythondir='$(PYTHON_SITE_PACKAGES)'
--    else
--        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--    fi
--fi
--AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
--if test "$PYTHON_INCLUDES" != ""
--then
--    PYTHON_SUBDIR=python
--else
--    PYTHON_SUBDIR=
--fi
--AC_SUBST(pythondir)
--AC_SUBST(PYTHON_SUBDIR)
--AC_SUBST(PYTHON_LIBS)
-+AC_ARG_WITH([python],
-+    AS_HELP_STRING([--with-python], [Build Python bindings if found])
-+)
-+
-+AS_IF([test "$with_python" = "yes"],
-+      [AM_PATH_PYTHON
-+       AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
-+       AS_IF([test "$PYTHON_CONFIG" = "no"],
-+             [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
-+       AS_IF([test "$PYTHON_CONFIG" != "no"],
-+             [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
-+              PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
-+              PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
-+             [AC_MSG_ERROR([Missing python development files.])])
-+       AC_MSG_CHECKING([libxml2 module in $PYTHON])
-+	   LIBXML2_PYTHON=`$PYTHON -c "import sys;
-+try:
-+    import libxml2
-+    sys.stdout.write('1')
-+except:
-+    sys.stdout.write('0')"`
-+       AS_IF([test "$LIBXML2_PYTHON" = "1"],
-+             [AC_MSG_RESULT([yes])],
-+             [AC_MSG_RESULT([no])
-+              AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
-+      ])
-+
-+AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
-+AC_SUBST([PYTHON_CFLAGS])
-+AC_SUBST([PYTHON_LDFLAGS])
-+AC_SUBST([PYTHON_LIBS])
- 
- AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
- WITH_CRYPTO=0
-@@ -678,10 +625,6 @@ AC_SUBST(PYTHONSODV)
- AC_SUBST(XML_CONFIG)
- AC_SUBST(LIBXML_LIBS)
- AC_SUBST(LIBXML_CFLAGS)
--AC_SUBST(PYTHON)
--AC_SUBST(PYTHON_VERSION)
--AC_SUBST(PYTHON_INCLUDES)
--AC_SUBST(PYTHON_SITE_PACKAGES)
- 
- XSLT_LIBDIR='-L${libdir}'
- XSLT_INCLUDEDIR='-I${includedir}'
-diff --git a/python/Makefile.am b/python/Makefile.am
-index fa58b78f..3a5ecd6a 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -5,9 +5,9 @@ SUBDIRS= . tests
- 
- AM_CFLAGS = $(LIBXML_CFLAGS)
- 
--DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
-+docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
- # libxsltclass.txt is generated
--DOCS = TODO
-+dist_docs_DATA = TODO
- 
- EXTRA_DIST = 			\
- 	libxslt.c		\
-@@ -16,10 +16,7 @@ EXTRA_DIST = 			\
- 	libxml_wrap.h		\
- 	libxslt_wrap.h		\
- 	libxsl.py		\
--	libxslt-python-api.xml	\
--	$(DOCS)
--
--libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
-+	libxslt-python-api.xml
- 
- if WITH_PYTHON
- mylibs = \
-@@ -28,31 +25,22 @@ mylibs = \
- 
- all-local: libxslt.py
- 
--python_LTLIBRARIES = libxsltmod.la
-+python_PYTHON = libxslt.py
-+pyexec_LTLIBRARIES = libxsltmod.la
- 
- libxsltmod_la_CPPFLAGS = \
--	-I$(PYTHON_INCLUDES) \
- 	-I$(top_srcdir)/libxslt \
- 	-I$(top_srcdir) \
--	-I../libexslt
-+	-I$(top_srcdir)/libexslt \
-+	$(PYTHON_CFLAGS)
- libxsltmod_la_SOURCES = libxslt.c types.c
- nodist_libxsltmod_la_SOURCES = libxslt-py.c
- libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
-+libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
- 
- libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
- 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
- 
--install-data-local:
--	$(MKDIR_P) $(DESTDIR)$(pythondir)
--	$(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
--	$(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
--	@(for doc in $(DOCS) ; \
--	   do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
--
--uninstall-local:
--	rm -f $(DESTDIR)$(pythondir)/libxslt.py
--	rm -rf $(DESTDIR)$(DOCS_DIR)
--
- GENERATE = generator.py
- API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
- GENERATED= libxsltclass.py \
--- 
-2.14.1
-

diff --git a/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch b/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch
deleted file mode 100644
index d6aaae4e9df..00000000000
--- a/dev-libs/libxslt/files/libxslt.m4-libxslt-1.1.26.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -ur libxslt-1.1.26.orig/libxslt.m4 libxslt-1.1.26/libxslt.m4
---- libxslt-1.1.26.orig/libxslt.m4	2009-05-12 09:29:34.000000000 +0300
-+++ libxslt-1.1.26/libxslt.m4	2009-10-07 17:03:04.000000000 +0300
-@@ -52,8 +52,10 @@
-            sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-     if test "x$enable_xslttest" = "xyes" ; then
-       ac_save_CFLAGS="$CFLAGS"
-+      ac_save_CXXFLAGS="$CXXFLAGS"
-       ac_save_LIBS="$LIBS"
-       CFLAGS="$CFLAGS $XSLT_CFLAGS"
-+      CXXFLAGS="$CXXFLAGS $XSLT_CFLAGS"
-       LIBS="$XSLT_LIBS $LIBS"
- dnl
- dnl Now check if the installed libxslt is sufficiently new.
-@@ -138,6 +140,7 @@
- }
- ],, no_xslt=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-        CFLAGS="$ac_save_CFLAGS"
-+       CXXFLAGS="$ac_save_CXXFLAGS"
-        LIBS="$ac_save_LIBS"
-      fi
-   fi
-@@ -158,6 +161,7 @@
-        else
-           echo "*** Could not run libxslt test program, checking why..."
-           CFLAGS="$CFLAGS $XSLT_CFLAGS"
-+          CXXFLAGS="$CXXFLAGS $XSLT_CFLAGS"
-           LIBS="$LIBS $XSLT_LIBS"
-           AC_TRY_LINK([
- #include <libxslt/xslt.h>
-@@ -177,6 +181,7 @@
-           echo "*** or that you have moved LIBXSLT since it was installed. In the latter case, you"
-           echo "*** may want to edit the xslt-config script: $XSLT_CONFIG" ])
-           CFLAGS="$ac_save_CFLAGS"
-+          CXXFLAGS="$ac_save_CXXFLAGS"
-           LIBS="$ac_save_LIBS"
-        fi
-      fi

diff --git a/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
deleted file mode 100644
index fa6a482f36c..00000000000
--- a/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-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"
-
-IUSE="crypt debug examples python static-libs elibc_Darwin"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
-	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
-	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}] )
-"
-DEPEND="${RDEPEND}"
-
-MULTILIB_CHOST_TOOLS=(
-	/usr/bin/xslt-config
-)
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/libxslt/xsltconfig.h
-)
-
-src_prepare() {
-	default
-
-	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
-	# https://bugzilla.gnome.org/show_bug.cgi?id=684621
-	eapply "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
-
-	# Simplify python setup
-	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
-	eapply "${FILESDIR}"/${PN}-1.1.30-simplify-python.patch
-	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
-
-	# Fix xslt-config
-	# https://bugs.gentoo.org/630784
-	eapply "${FILESDIR}"/1.1.30-unbreak-xslt-config.patch
-
-	# Fix build and headers with glibc-2.26, bug 632214, breaks Darwin
-	use elibc_Darwin || eapply "${FILESDIR}"/${PN}-1.1.30-glibc226.patch
-
-	mv configure.{in,ac} || die
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-	# But Prefix always needs elibtoolize if not eautoreconf'd.
-#	elibtoolize
-}
-
-multilib_src_configure() {
-	libxslt_configure() {
-		ECONF_SOURCE="${S}" econf \
-			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-			--with-html-subdir=html \
-			$(use_with crypt crypto) \
-			$(use_with debug) \
-			$(use_with debug mem-debug) \
-			$(use_enable static-libs static) \
-			"$@"
-	}
-
-	libxslt_py_configure() {
-		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
-		run_in_build_dir libxslt_configure --with-python
-	}
-
-	libxslt_configure --without-python # build python bindings separately
-
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl libxslt_py_configure
-	fi
-}
-
-multilib_src_compile() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
-}
-
-multilib_src_test() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
-}
-
-multilib_src_install() {
-	# "default" does not work here - docs are installed by multilib_src_install_all
-	emake DESTDIR="${D}" install
-
-	if multilib_is_native_abi && use python; then
-		libxslt_foreach_py_emake \
-			DESTDIR="${D}" \
-			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
-			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
-			install
-		python_foreach_impl python_optimize
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use examples; then
-		rm -rf "${ED}"/usr/share/doc/${PF}/examples
-		rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
-	fi
-
-	prune_libtool_files --modules
-}
-
-libxslt_foreach_py_emake() {
-	libxslt_py_emake() {
-		pushd "${BUILD_DIR}/python" > /dev/null || die
-		emake "$@"
-		popd > /dev/null
-	}
-	local native_builddir=${BUILD_DIR}
-	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2020-11-08  0:32 Michał Górny
  0 siblings, 0 replies; 11+ messages in thread
From: Michał Górny @ 2020-11-08  0:32 UTC (permalink / raw
  To: gentoo-commits

commit:     8ba2eca07d3067f566e32b6e0b8c3e64f8368d12
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  8 00:25:02 2020 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 00:32:26 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ba2eca0

dev-libs/libxslt: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-libs/libxslt/Manifest                          |   2 -
 .../libxslt-1.1.28-disable-static-modules.patch    |  33 ---
 .../files/libxslt-1.1.32-simplify-python.patch     | 250 ---------------------
 .../files/libxslt-1.1.34-simplify-python.patch     | 239 --------------------
 dev-libs/libxslt/libxslt-1.1.33-r1.ebuild          | 129 -----------
 dev-libs/libxslt/libxslt-1.1.34.ebuild             | 128 -----------
 6 files changed, 781 deletions(-)

diff --git a/dev-libs/libxslt/Manifest b/dev-libs/libxslt/Manifest
index c2c9495a149..0c394832a21 100644
--- a/dev-libs/libxslt/Manifest
+++ b/dev-libs/libxslt/Manifest
@@ -1,3 +1 @@
-DIST libxslt-1.1.33-CVE-2019-11068.patch 3965 BLAKE2B eb3a0741ac9f464e31e8edd276fec4d837c63676a56a446ad42a0e251508bacb0129cbe18783de305336eaa32b189ffc23e95e03cfd5f940d4dee376f1fa0f8c SHA512 9a97c5038809aaf64cb4eb7d67b95acc4b62236d7613a5f753e2a0f4c9e707c22cd07bda2e518d3f36a40b9ed5aa93496b743998c7adadb84ca147e045e35948
-DIST libxslt-1.1.33.tar.gz 3444093 BLAKE2B 3457e5b62328ccbc48fbc5f71bf8a54c195c0059dd18afa38e6916e74c57e72601970446210c7584d5410b956e3bbb8cd4b852ec71e0a13c4441e6de095d86d1 SHA512 ebbe438a38bf6355950167d3b580edc22baa46a77068c18c42445c1c9c716d42bed3b30c5cd5bec359ab32d03843224dae458e9e32dc61693e7cf4bab23536e0
 DIST libxslt-1.1.34.tar.gz 3552258 BLAKE2B f043a0357e0705ab68041adf4031a6b3e0b5c3d396691c988a34963a0ee0ebe3bede2d1d7a0c5f0c42c046183653c94f4b51e10e35980a039c8cad446e84ad86 SHA512 1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b

diff --git a/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch b/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch
deleted file mode 100644
index b30a08406d3..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.28-disable-static-modules.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 06c9dba42097b06a18c81bb54a8da8b2bfaf991d Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Nov 2015 20:01:14 +0100
-Subject: [PATCH 3/3] Disable static module for python module
-
----
- python/Makefile.am | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/python/Makefile.am b/python/Makefile.am
-index cc13c62..62afd1b 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -27,6 +27,7 @@ python_PYTHON = libxslt.py
- pyexec_LTLIBRARIES = libxsltmod.la
- 
- libxsltmod_la_CPPFLAGS = \
-+	-shared \
- 	-I$(top_srcdir)/libxslt \
- 	-I$(top_srcdir) \
- 	-I$(top_srcdir)/libexslt \
-@@ -34,7 +35,7 @@ libxsltmod_la_CPPFLAGS = \
- libxsltmod_la_SOURCES = libxslt.c types.c
- nodist_libxsltmod_la_SOURCES = libxslt-py.c
- libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
--libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
-+libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version -shared
- 
- libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
- 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
--- 
-2.6.3
-

diff --git a/dev-libs/libxslt/files/libxslt-1.1.32-simplify-python.patch b/dev-libs/libxslt/files/libxslt-1.1.32-simplify-python.patch
deleted file mode 100644
index d5a4401afd6..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.32-simplify-python.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Nov 2015 17:49:07 +0100
-Subject: [PATCH] Simplify python setup in autoconf
-
-AM_PATH_PYTHON does most of the job without using pkg-config as expected
-from the rest of the autoconf script.
----
- Makefile.am        |  14 +++++--
- configure.ac       | 119 ++++++++++++++---------------------------------------
- python/Makefile.am |  28 ++++---------
- 3 files changed, 49 insertions(+), 112 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index ff10f574..65decb3c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,9 +2,13 @@ SUBDIRS = \
- 	libxslt \
- 	libexslt \
- 	xsltproc \
--	doc \
--	$(PYTHON_SUBDIR) \
--	tests
-+	doc
-+
-+if WITH_PYTHON
-+SUBDIRS += python
-+endif
-+
-+SUBDIRS += tests
- 
- DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
- 
-@@ -51,7 +55,9 @@ tests: dummy
- 	@echo '## Running the regression test suite'
- 	@(cd tests ; $(MAKE) -s tests)
- 	@(cd xsltproc ; $(MAKE) -s tests)
--	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
-+if WITH_PYTHON
-+	@(cd python ; $(MAKE) -s tests)
-+endif
- 
- valgrind:
- 	@echo '## Running the regression tests under Valgrind'
-diff --git a/configure.ac b/configure.ac
-index d6aa3664..0a538944 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -293,90 +293,37 @@ dnl
- dnl check for python
- dnl
- 
--PYTHON_VERSION=
--PYTHON_INCLUDES=
--PYTHON_SITE_PACKAGES=
--pythondir=
--AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
--if test "$with_python" != "no" ; then
--    if test -x "$with_python/bin/python"
--    then
--        echo Found python in $with_python/bin/python
--        PYTHON="$with_python/bin/python"
--    else
--	if test -x "$with_python"
--	then
--	    echo Found python in $with_python
--	    PYTHON="$with_python"
--	else
--            if test -x "$PYTHON"
--            then
--                echo Found python in environment PYTHON=$PYTHON
--                with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
--	    else
--	        AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
--	    fi
--	fi
--    fi
--    if test "$PYTHON" != ""
--    then
--        echo "PYTHON is pointing at $PYTHON"
--        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
--	echo Found Python version $PYTHON_VERSION
--	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
--except: print 0"`
--	if test "$LIBXML2_PYTHON" = "1"
--	then
--	    echo Found libxml2-python module
--	else
--	    echo Warning: Missing libxml2-python
--	fi
--    fi
--    if test "$PYTHON_VERSION" != ""
--    then
--	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
--	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
--	then
--	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
--	    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--	else
--	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
--	    then
--	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
--		PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--	    else
--		if test -r /usr/include/python$PYTHON_VERSION/Python.h
--		then
--		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
--		    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--		else
--		    echo could not find python$PYTHON_VERSION/Python.h
--		fi
--	    fi
--	    if test ! -d "$PYTHON_SITE_PACKAGES"
--	    then
--		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
--	    fi
--	fi
--        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
--    fi
--    if test "$with_python" != ""
--    then
--        pythondir='$(PYTHON_SITE_PACKAGES)'
--    else
--        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--    fi
--fi
--AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
--if test "$PYTHON_INCLUDES" != ""
--then
--    PYTHON_SUBDIR=python
--else
--    PYTHON_SUBDIR=
--fi
--AC_SUBST(pythondir)
--AC_SUBST(PYTHON_SUBDIR)
--AC_SUBST(PYTHON_LIBS)
-+AC_ARG_WITH([python],
-+    AS_HELP_STRING([--with-python], [Build Python bindings if found])
-+)
-+
-+AS_IF([test "$with_python" = "yes"],
-+      [AM_PATH_PYTHON
-+       AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
-+       AS_IF([test "$PYTHON_CONFIG" = "no"],
-+             [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
-+       AS_IF([test "$PYTHON_CONFIG" != "no"],
-+             [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
-+              PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
-+              PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
-+             [AC_MSG_ERROR([Missing python development files.])])
-+       AC_MSG_CHECKING([libxml2 module in $PYTHON])
-+	   LIBXML2_PYTHON=`$PYTHON -c "import sys;
-+try:
-+    import libxml2
-+    sys.stdout.write('1')
-+except:
-+    sys.stdout.write('0')"`
-+       AS_IF([test "$LIBXML2_PYTHON" = "1"],
-+             [AC_MSG_RESULT([yes])],
-+             [AC_MSG_RESULT([no])
-+              AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
-+      ])
-+
-+AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
-+AC_SUBST([PYTHON_CFLAGS])
-+AC_SUBST([PYTHON_LDFLAGS])
-+AC_SUBST([PYTHON_LIBS])
- 
- AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
- WITH_CRYPTO=0
-@@ -678,10 +625,6 @@ AC_SUBST(PYTHONSODV)
- AC_SUBST(XML_CONFIG)
- AC_SUBST(LIBXML_LIBS)
- AC_SUBST(LIBXML_CFLAGS)
--AC_SUBST(PYTHON)
--AC_SUBST(PYTHON_VERSION)
--AC_SUBST(PYTHON_INCLUDES)
--AC_SUBST(PYTHON_SITE_PACKAGES)
- 
- XSLT_LIBDIR='-L${libdir}'
- XSLT_INCLUDEDIR='-I${includedir}'
-diff --git a/python/Makefile.am b/python/Makefile.am
-index fa58b78f..3a5ecd6a 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -5,9 +5,9 @@ SUBDIRS= . tests
- 
- AM_CFLAGS = $(LIBXML_CFLAGS)
- 
--DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
-+docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
- # libxsltclass.txt is generated
--DOCS = TODO
-+dist_docs_DATA = TODO
- 
- EXTRA_DIST = 			\
- 	libxslt.c		\
-@@ -16,10 +16,7 @@ EXTRA_DIST = 			\
- 	libxml_wrap.h		\
- 	libxslt_wrap.h		\
- 	libxsl.py		\
--	libxslt-python-api.xml	\
--	$(DOCS)
--
--libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
-+	libxslt-python-api.xml
- 
- if WITH_PYTHON
- mylibs = \
-@@ -28,31 +25,22 @@ mylibs = \
- 
- all-local: libxslt.py
- 
--python_LTLIBRARIES = libxsltmod.la
-+python_PYTHON = libxslt.py
-+pyexec_LTLIBRARIES = libxsltmod.la
- 
- libxsltmod_la_CPPFLAGS = \
--	-I$(PYTHON_INCLUDES) \
- 	-I$(top_srcdir)/libxslt \
- 	-I$(top_srcdir) \
--	-I../libexslt
-+	-I$(top_srcdir)/libexslt \
-+	$(PYTHON_CFLAGS)
- libxsltmod_la_SOURCES = libxslt.c types.c
- nodist_libxsltmod_la_SOURCES = libxslt-py.c
- libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
-+libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
- 
- libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
- 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
- 
--install-data-local:
--	$(MKDIR_P) $(DESTDIR)$(pythondir)
--	$(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
--	$(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
--	@(for doc in $(DOCS) ; \
--	   do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
--
--uninstall-local:
--	rm -f $(DESTDIR)$(pythondir)/libxslt.py
--	rm -rf $(DESTDIR)$(DOCS_DIR)
--
- GENERATE = generator.py
- API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
- GENERATED= libxsltclass.py \
--- 
-2.14.1
-

diff --git a/dev-libs/libxslt/files/libxslt-1.1.34-simplify-python.patch b/dev-libs/libxslt/files/libxslt-1.1.34-simplify-python.patch
deleted file mode 100644
index ff7e263aca4..00000000000
--- a/dev-libs/libxslt/files/libxslt-1.1.34-simplify-python.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From aa0f7a8d59a9bbd646203d3f14e39e217961f725 Mon Sep 17 00:00:00 2001
-From: Gilles Dartiguelongue <eva@gentoo.org>
-Date: Wed, 11 Nov 2015 17:49:07 +0100
-Subject: [PATCH] Simplify python setup in autoconf
-
-AM_PATH_PYTHON does most of the job without using pkg-config as expected
-from the rest of the autoconf script.
-diff --git a/Makefile.am b/Makefile.am
-index 2c417d0..a65a2b7 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2,9 +2,14 @@ SUBDIRS = \
- 	libxslt \
- 	libexslt \
- 	xsltproc \
--	doc \
--	$(PYTHON_SUBDIR) \
--	tests
-+	doc
-+
-+
-+if WITH_PYTHON
-+	SUBDIRS += python
-+endif
-+
-+SUBDIRS += tests
- 
- DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
- 
-@@ -52,7 +57,9 @@ tests: dummy
- 	@echo '## Running the regression test suite'
- 	@(cd tests ; $(MAKE) -s tests)
- 	@(cd xsltproc ; $(MAKE) -s tests)
--	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi)
-+if WITH_PYTHON
-+	@(cd python ; $(MAKE) -s tests)
-+endif
- 
- valgrind:
- 	@echo '## Running the regression tests under Valgrind'
-diff --git a/configure.ac b/configure.ac
-index 325a7be..ee1eabd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -227,90 +227,37 @@ dnl
- dnl check for python
- dnl
- 
--PYTHON_VERSION=
--PYTHON_INCLUDES=
--PYTHON_SITE_PACKAGES=
--pythondir=
--AC_ARG_WITH(python, [  --with-python[=DIR]    Build Python bindings if found])
--if test "$with_python" != "no" ; then
--    if test -x "$with_python/bin/python"
--    then
--        echo Found python in $with_python/bin/python
--        PYTHON="$with_python/bin/python"
--    else
--	if test -x "$with_python"
--	then
--	    echo Found python in $with_python
--	    PYTHON="$with_python"
--	else
--            if test -x "$PYTHON"
--            then
--                echo Found python in environment PYTHON=$PYTHON
--                with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
--	    else
--	        AC_PATH_PROG(PYTHON, python python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
--	    fi
--	fi
--    fi
--    if test "$PYTHON" != ""
--    then
--        echo "PYTHON is pointing at $PYTHON"
--        PYTHON_VERSION=`$PYTHON -c "import sys; print sys.version[[0:3]]"`
--	echo Found Python version $PYTHON_VERSION
--	LIBXML2_PYTHON=`$PYTHON -c "try : import libxml2 ; print 1
--except: print 0"`
--	if test "$LIBXML2_PYTHON" = "1"
--	then
--	    echo Found libxml2-python module
--	else
--	    echo Warning: Missing libxml2-python
--	fi
--    fi
--    if test "$PYTHON_VERSION" != ""
--    then
--	if test -r $with_python/include/python$PYTHON_VERSION/Python.h -a \
--	   -d $with_python/lib/python$PYTHON_VERSION/site-packages
--	then
--	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
--	    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--	else
--	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
--	    then
--	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
--		PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--	    else
--		if test -r /usr/include/python$PYTHON_VERSION/Python.h
--		then
--		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
--		    PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--		else
--		    echo could not find python$PYTHON_VERSION/Python.h
--		fi
--	    fi
--	    if test ! -d "$PYTHON_SITE_PACKAGES"
--	    then
--		    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
--	    fi
--	fi
--        PYTHON_LIBS=`python$PYTHON_VERSION-config --libs`
--    fi
--    if test "$with_python" != ""
--    then
--        pythondir='$(PYTHON_SITE_PACKAGES)'
--    else
--        pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
--    fi
--fi
--AM_CONDITIONAL(WITH_PYTHON, test "$PYTHON_INCLUDES" != "")
--if test "$PYTHON_INCLUDES" != ""
--then
--    PYTHON_SUBDIR=python
--else
--    PYTHON_SUBDIR=
--fi
--AC_SUBST(pythondir)
--AC_SUBST(PYTHON_SUBDIR)
--AC_SUBST(PYTHON_LIBS)
-+AC_ARG_WITH([python],
-+    AS_HELP_STRING([--with-python], [Build Python bindings if found])
-+)
-+
-+AS_IF([test "$with_python" = "yes"],
-+      [AM_PATH_PYTHON
-+       AC_PATH_TOOL([PYTHON_CONFIG], [python$PYTHON_VERSION-config], [no])
-+       AS_IF([test "$PYTHON_CONFIG" = "no"],
-+             [AC_PATH_TOOL([PYTHON_CONFIG], [python-config], [no])])
-+       AS_IF([test "$PYTHON_CONFIG" != "no"],
-+             [PYTHON_CFLAGS=`$PYTHON_CONFIG --cflags`
-+              PYTHON_LDFLAGS=`$PYTHON_CONFIG --ldflags`
-+              PYTHON_LIBS=`$PYTHON_CONFIG --libs`],
-+             [AC_MSG_ERROR([Missing python development files.])])
-+       AC_MSG_CHECKING([libxml2 module in $PYTHON])
-+	   LIBXML2_PYTHON=`$PYTHON -c "import sys;
-+try:
-+    import libxml2
-+    sys.stdout.write('1')
-+except:
-+    sys.stdout.write('0')"`
-+       AS_IF([test "$LIBXML2_PYTHON" = "1"],
-+             [AC_MSG_RESULT([yes])],
-+             [AC_MSG_RESULT([no])
-+              AC_MSG_WARN([libxml2 python module not found, expect runtime errors])])
-+      ])
-+
-+AM_CONDITIONAL([WITH_PYTHON], [test "$with_python" = "yes"])
-+AC_SUBST([PYTHON_CFLAGS])
-+AC_SUBST([PYTHON_LDFLAGS])
-+AC_SUBST([PYTHON_LIBS])
- 
- AC_ARG_WITH(crypto, [  --with-crypto           Add crypto support to exslt (on)])
- WITH_CRYPTO=0
-@@ -634,10 +581,6 @@ AC_SUBST(PYTHONSODV)
- AC_SUBST(XML_CONFIG)
- AC_SUBST(LIBXML_LIBS)
- AC_SUBST(LIBXML_CFLAGS)
--AC_SUBST(PYTHON)
--AC_SUBST(PYTHON_VERSION)
--AC_SUBST(PYTHON_INCLUDES)
--AC_SUBST(PYTHON_SITE_PACKAGES)
- 
- XSLT_LIBDIR='-L${libdir}'
- XSLT_INCLUDEDIR='-I${includedir}'
-diff --git a/python/Makefile.am b/python/Makefile.am
-index 17a0d17..1c57a63 100644
---- a/python/Makefile.am
-+++ b/python/Makefile.am
-@@ -5,7 +5,7 @@ SUBDIRS= . tests
- 
- AM_CFLAGS = $(LIBXML_CFLAGS)
- 
--DOCS_DIR = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
-+docsdir = $(datadir)/doc/libxslt-python-$(LIBXSLT_VERSION)
- # libxsltclass.txt is generated
- DOCS=
- 
-@@ -16,10 +16,7 @@ EXTRA_DIST = 			\
- 	libxml_wrap.h		\
- 	libxslt_wrap.h		\
- 	libxsl.py		\
--	libxslt-python-api.xml	\
--	$(DOCS)
--
--libxsltmod_la_LDFLAGS =  -module -avoid-version
-+	libxslt-python-api.xml
- 
- if WITH_PYTHON
- mylibs = \
-@@ -28,31 +25,22 @@ mylibs = \
- 
- all-local: libxslt.py
- 
--python_LTLIBRARIES = libxsltmod.la
-+python_PYTHON = libxslt.py
-+pyexec_LTLIBRARIES = libxsltmod.la
- 
- libxsltmod_la_CPPFLAGS = \
--	-I$(PYTHON_INCLUDES) \
- 	-I$(top_srcdir)/libxslt \
- 	-I$(top_srcdir) \
--	-I../libexslt
-+	-I$(top_srcdir)/libexslt \
-+	$(PYTHON_CFLAGS)
- libxsltmod_la_SOURCES = libxslt.c types.c
- nodist_libxsltmod_la_SOURCES = libxslt-py.c
- libxsltmod_la_LIBADD = $(mylibs) $(PYTHON_LIBS)
-+libxsltmod_la_LDFLAGS =  $(WIN32_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -avoid-version
- 
- libxslt.py: $(srcdir)/libxsl.py libxsltclass.py
- 	cat $(srcdir)/libxsl.py libxsltclass.py > $@
- 
--install-data-local:
--	$(MKDIR_P) $(DESTDIR)$(pythondir)
--	$(INSTALL) -m 0644 libxslt.py $(DESTDIR)$(pythondir)
--	$(MKDIR_P) $(DESTDIR)$(DOCS_DIR)
--	@(for doc in $(DOCS) ; \
--	   do $(INSTALL) -m 0644 $(srcdir)/$$doc $(DESTDIR)$(DOCS_DIR) ; done)
--
--uninstall-local:
--	rm -f $(DESTDIR)$(pythondir)/libxslt.py
--	rm -rf $(DESTDIR)$(DOCS_DIR)
--
- GENERATE = generator.py
- API_DESC = $(top_srcdir)/doc/libxslt-api.xml $(srcdir)/libxslt-python-api.xml
- GENERATED= libxsltclass.py \

diff --git a/dev-libs/libxslt/libxslt-1.1.33-r1.ebuild b/dev-libs/libxslt/libxslt-1.1.33-r1.ebuild
deleted file mode 100644
index 86ee69d5cf8..00000000000
--- a/dev-libs/libxslt/libxslt-1.1.33-r1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz
-		https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch -> libxslt-1.1.33-CVE-2019-11068.patch"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-IUSE="crypt debug examples python static-libs elibc_Darwin"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
-	>=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
-	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}]
-	)
-"
-DEPEND="
-	${RDEPEND}
-	>=virtual/pkgconfig-1
-"
-
-MULTILIB_CHOST_TOOLS=(
-	/usr/bin/xslt-config
-)
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/libxslt/xsltconfig.h
-)
-
-src_prepare() {
-	default
-
-	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
-	# Simplify python setup
-	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
-	eapply "${FILESDIR}"/${PN}-1.1.32-simplify-python.patch
-	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
-	eapply "${DISTDIR}"/${PN}-1.1.33-CVE-2019-11068.patch
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-	# But Prefix always needs elibtoolize if not eautoreconf'd.
-#	elibtoolize
-}
-
-multilib_src_configure() {
-	libxslt_configure() {
-		ECONF_SOURCE="${S}" econf \
-			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-			--with-html-subdir=html \
-			$(use_with crypt crypto) \
-			$(use_with debug) \
-			$(use_with debug mem-debug) \
-			$(use_enable static-libs static) \
-			"$@"
-	}
-
-	libxslt_py_configure() {
-		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
-		run_in_build_dir libxslt_configure --with-python
-	}
-
-	libxslt_configure --without-python # build python bindings separately
-
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl libxslt_py_configure
-	fi
-}
-
-multilib_src_compile() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
-}
-
-multilib_src_test() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
-}
-
-multilib_src_install() {
-	# "default" does not work here - docs are installed by multilib_src_install_all
-	emake DESTDIR="${D}" install
-
-	if multilib_is_native_abi && use python; then
-		libxslt_foreach_py_emake \
-			DESTDIR="${D}" \
-			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
-			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
-			install
-		python_foreach_impl python_optimize
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use examples && use python; then
-		rm -r "${ED}"/usr/share/doc/${PF}/python/examples || die
-	fi
-
-	prune_libtool_files --modules
-}
-
-libxslt_foreach_py_emake() {
-	libxslt_py_emake() {
-		pushd "${BUILD_DIR}/python" > /dev/null || die
-		emake "$@"
-		popd > /dev/null
-	}
-	local native_builddir=${BUILD_DIR}
-	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
-}

diff --git a/dev-libs/libxslt/libxslt-1.1.34.ebuild b/dev-libs/libxslt/libxslt-1.1.34.ebuild
deleted file mode 100644
index cbf9102e48c..00000000000
--- a/dev-libs/libxslt/libxslt-1.1.34.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="xml"
-
-inherit autotools multilib-minimal python-r1 toolchain-funcs
-
-DESCRIPTION="XSLT libraries and tools"
-HOMEPAGE="http://www.xmlsoft.org/"
-SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-IUSE="crypt debug examples python static-libs elibc_Darwin"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
-	>=dev-libs/libxml2-2.9.10:2[${MULTILIB_USEDEP}]
-	crypt?  ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
-	python? (
-		${PYTHON_DEPS}
-		dev-libs/libxml2:2[python,${PYTHON_USEDEP}]
-	)
-"
-DEPEND="
-	${RDEPEND}
-	>=virtual/pkgconfig-1
-"
-
-MULTILIB_CHOST_TOOLS=(
-	/usr/bin/xslt-config
-)
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/libxslt/xsltconfig.h
-)
-
-src_prepare() {
-	default
-
-	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
-
-	# Simplify python setup
-	# https://bugzilla.gnome.org/show_bug.cgi?id=758095
-	eapply "${FILESDIR}"/${PN}-1.1.34-simplify-python.patch
-	eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
-
-	eautoreconf
-	# If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
-	# and it is propably otherwise too if upstream generated with new
-	# autoconf
-#	epunt_cxx
-	# But Prefix always needs elibtoolize if not eautoreconf'd.
-#	elibtoolize
-}
-
-multilib_src_configure() {
-	libxslt_configure() {
-		ECONF_SOURCE="${S}" econf \
-			--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
-			--with-html-subdir=html \
-			$(use_with crypt crypto) \
-			$(use_with debug) \
-			$(use_with debug mem-debug) \
-			$(use_enable static-libs static) \
-			"$@"
-	}
-
-	libxslt_py_configure() {
-		mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
-		run_in_build_dir libxslt_configure --with-python
-	}
-
-	libxslt_configure --without-python # build python bindings separately
-
-	if multilib_is_native_abi && use python; then
-		python_foreach_impl libxslt_py_configure
-	fi
-}
-
-multilib_src_compile() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake all
-}
-
-multilib_src_test() {
-	default
-	multilib_is_native_abi && use python && libxslt_foreach_py_emake test
-}
-
-multilib_src_install() {
-	# "default" does not work here - docs are installed by multilib_src_install_all
-	emake DESTDIR="${D}" install
-
-	if multilib_is_native_abi && use python; then
-		libxslt_foreach_py_emake \
-			DESTDIR="${D}" \
-			docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
-			EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
-			install
-		python_foreach_impl python_optimize
-	fi
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	if ! use examples && use python; then
-		rm -r "${ED}"/usr/share/doc/${PF}/python/examples || die
-	fi
-
-	find "${ED}" -type f -name "*.la" -delete || die
-}
-
-libxslt_foreach_py_emake() {
-	libxslt_py_emake() {
-		pushd "${BUILD_DIR}/python" > /dev/null || die
-		emake "$@"
-		popd > /dev/null
-	}
-	local native_builddir=${BUILD_DIR}
-	python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
-}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2021-10-29 15:28 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2021-10-29 15:28 UTC (permalink / raw
  To: gentoo-commits

commit:     76c0287bfb98ed25b63c9ad892fa6a1ee1c87dc0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 29 15:26:36 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Oct 29 15:28:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76c0287b

dev-libs/libxslt: fix tests with newer libxml2; patch CVE-2021-30560

Note that we're now depending on >= .11 of libxml2 just to be safe,
even though some of the patches seem to have compatibility guards,
not all do - and upstream develop these in tandem anyway.

Closes: https://bugs.gentoo.org/790218
Bug: https://bugs.gentoo.org/820722
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libxslt-1.1.34-CVE-2021-30560.patch      | 194 +++++++++++++++++++++
 .../files/libxslt-1.1.34-libxml2-2.9.12.patch      | 120 +++++++++++++
 dev-libs/libxslt/libxslt-1.1.34-r2.ebuild          |  72 ++++++++
 3 files changed, 386 insertions(+)

diff --git a/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch b/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch
new file mode 100644
index 00000000000..dcda176c513
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch
@@ -0,0 +1,194 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/issues/56
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/50f9c9cd3b7dfe9b3c8c795247752d1fdcadcac8
+https://gitlab.gnome.org/GNOME/libxslt/-/issues/51
+https://bugs.gentoo.org/790218
+
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Sat, 12 Jun 2021 20:02:53 +0200
+Subject: [PATCH] Fix use-after-free in xsltApplyTemplates
+
+xsltApplyTemplates without a select expression could delete nodes in
+the source document.
+
+1. Text nodes with strippable whitespace
+
+Whitespace from input documents is already stripped, so there's no
+need to strip it again. Under certain circumstances, xsltApplyTemplates
+could be fooled into deleting text nodes that are still referenced,
+resulting in a use-after-free.
+
+2. The DTD
+
+The DTD was only unlinked, but there's no good reason to do this just
+now. Maybe it was meant as a micro-optimization.
+
+3. Unknown nodes
+
+Useless and dangerous as well, especially with XInclude nodes.
+See https://gitlab.gnome.org/GNOME/libxml2/-/issues/268
+
+Simply stop trying to uselessly delete nodes when applying a template.
+This part of the code is probably a leftover from a time where
+xsltApplyStripSpaces wasn't implemented yet. Also note that
+xsltApplyTemplates with a select expression never tried to delete
+nodes.
+
+Also stop xsltDefaultProcessOneNode from deleting nodes for the same
+reasons.
+
+This fixes CVE-2021-30560.
+--- a/libxslt/transform.c
++++ b/libxslt/transform.c
+@@ -1895,7 +1895,7 @@ static void
+ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
+ 			  xsltStackElemPtr params) {
+     xmlNodePtr copy;
+-    xmlNodePtr delete = NULL, cur;
++    xmlNodePtr cur;
+     int nbchild = 0, oldSize;
+     int childno = 0, oldPos;
+     xsltTemplatePtr template;
+@@ -1968,54 +1968,13 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
+ 	    return;
+     }
+     /*
+-     * Handling of Elements: first pass, cleanup and counting
++     * Handling of Elements: first pass, counting
+      */
+     cur = node->children;
+     while (cur != NULL) {
+-	switch (cur->type) {
+-	    case XML_TEXT_NODE:
+-	    case XML_CDATA_SECTION_NODE:
+-	    case XML_DOCUMENT_NODE:
+-	    case XML_HTML_DOCUMENT_NODE:
+-	    case XML_ELEMENT_NODE:
+-	    case XML_PI_NODE:
+-	    case XML_COMMENT_NODE:
+-		nbchild++;
+-		break;
+-            case XML_DTD_NODE:
+-		/* Unlink the DTD, it's still reachable using doc->intSubset */
+-		if (cur->next != NULL)
+-		    cur->next->prev = cur->prev;
+-		if (cur->prev != NULL)
+-		    cur->prev->next = cur->next;
+-		break;
+-	    default:
+-#ifdef WITH_XSLT_DEBUG_PROCESS
+-		XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
+-		 "xsltDefaultProcessOneNode: skipping node type %d\n",
+-		                 cur->type));
+-#endif
+-		delete = cur;
+-	}
++	if (IS_XSLT_REAL_NODE(cur))
++	    nbchild++;
+ 	cur = cur->next;
+-	if (delete != NULL) {
+-#ifdef WITH_XSLT_DEBUG_PROCESS
+-	    XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
+-		 "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
+-#endif
+-	    xmlUnlinkNode(delete);
+-	    xmlFreeNode(delete);
+-	    delete = NULL;
+-	}
+-    }
+-    if (delete != NULL) {
+-#ifdef WITH_XSLT_DEBUG_PROCESS
+-	XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext,
+-	     "xsltDefaultProcessOneNode: removing ignorable blank node\n"));
+-#endif
+-	xmlUnlinkNode(delete);
+-	xmlFreeNode(delete);
+-	delete = NULL;
+     }
+ 
+     /*
+@@ -4864,7 +4823,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
+     xsltStylePreCompPtr comp = (xsltStylePreCompPtr) castedComp;
+ #endif
+     int i;
+-    xmlNodePtr cur, delNode = NULL, oldContextNode;
++    xmlNodePtr cur, oldContextNode;
+     xmlNodeSetPtr list = NULL, oldList;
+     xsltStackElemPtr withParams = NULL;
+     int oldXPProximityPosition, oldXPContextSize;
+@@ -4998,73 +4957,9 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node,
+ 	else
+ 	    cur = NULL;
+ 	while (cur != NULL) {
+-	    switch (cur->type) {
+-		case XML_TEXT_NODE:
+-		    if ((IS_BLANK_NODE(cur)) &&
+-			(cur->parent != NULL) &&
+-			(cur->parent->type == XML_ELEMENT_NODE) &&
+-			(ctxt->style->stripSpaces != NULL)) {
+-			const xmlChar *val;
+-
+-			if (cur->parent->ns != NULL) {
+-			    val = (const xmlChar *)
+-				  xmlHashLookup2(ctxt->style->stripSpaces,
+-						 cur->parent->name,
+-						 cur->parent->ns->href);
+-			    if (val == NULL) {
+-				val = (const xmlChar *)
+-				  xmlHashLookup2(ctxt->style->stripSpaces,
+-						 BAD_CAST "*",
+-						 cur->parent->ns->href);
+-			    }
+-			} else {
+-			    val = (const xmlChar *)
+-				  xmlHashLookup2(ctxt->style->stripSpaces,
+-						 cur->parent->name, NULL);
+-			}
+-			if ((val != NULL) &&
+-			    (xmlStrEqual(val, (xmlChar *) "strip"))) {
+-			    delNode = cur;
+-			    break;
+-			}
+-		    }
+-		    /* Intentional fall-through */
+-		case XML_ELEMENT_NODE:
+-		case XML_DOCUMENT_NODE:
+-		case XML_HTML_DOCUMENT_NODE:
+-		case XML_CDATA_SECTION_NODE:
+-		case XML_PI_NODE:
+-		case XML_COMMENT_NODE:
+-		    xmlXPathNodeSetAddUnique(list, cur);
+-		    break;
+-		case XML_DTD_NODE:
+-		    /* Unlink the DTD, it's still reachable
+-		     * using doc->intSubset */
+-		    if (cur->next != NULL)
+-			cur->next->prev = cur->prev;
+-		    if (cur->prev != NULL)
+-			cur->prev->next = cur->next;
+-		    break;
+-		case XML_NAMESPACE_DECL:
+-		    break;
+-		default:
+-#ifdef WITH_XSLT_DEBUG_PROCESS
+-		    XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
+-		     "xsltApplyTemplates: skipping cur type %d\n",
+-				     cur->type));
+-#endif
+-		    delNode = cur;
+-	    }
++            if (IS_XSLT_REAL_NODE(cur))
++		xmlXPathNodeSetAddUnique(list, cur);
+ 	    cur = cur->next;
+-	    if (delNode != NULL) {
+-#ifdef WITH_XSLT_DEBUG_PROCESS
+-		XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext,
+-		     "xsltApplyTemplates: removing ignorable blank cur\n"));
+-#endif
+-		xmlUnlinkNode(delNode);
+-		xmlFreeNode(delNode);
+-		delNode = NULL;
+-	    }
+ 	}
+     }
+ 
+GitLab

diff --git a/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch b/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch
new file mode 100644
index 00000000000..635fb576d3d
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch
@@ -0,0 +1,120 @@
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/9ae2f94df1721e002941b40665efb762aefcea1a
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/824657768aea2cce9c23e72ba8085cb5e44350c7
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/77c26bad0433541f486b1e7ced44ca9979376908
+
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 17 Aug 2020 03:42:11 +0200
+Subject: [PATCH] Stop using maxParserDepth XPath limit
+
+This will be removed again from libxml2.
+--- a/tests/fuzz/fuzz.c
++++ b/tests/fuzz/fuzz.c
+@@ -183,8 +183,7 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
+     xpctxt = tctxt->xpathCtxt;
+ 
+     /* Resource limits to avoid timeouts and call stack overflows */
+-    xpctxt->maxParserDepth = 15;
+-    xpctxt->maxDepth = 100;
++    xpctxt->maxDepth = 500;
+     xpctxt->opLimit = 500000;
+ 
+     /* Test namespaces used in xpath.xml */
+@@ -317,8 +316,7 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
+ 
+ static void
+ xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
+-    ctxt->maxParserDepth = 15;
+-    ctxt->maxDepth = 100;
++    ctxt->maxDepth = 200;
+     ctxt->opLimit = 100000;
+ }
+ 
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Mon, 17 Aug 2020 04:27:13 +0200
+Subject: [PATCH] Transfer XPath limits to XPtr context
+
+Expressions like document('doc.xml#xpointer(evil_expr)') ignored the
+XPath limits.
+--- a/libxslt/functions.c
++++ b/libxslt/functions.c
+@@ -178,10 +178,22 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
+ 	goto out_fragment;
+     }
+ 
++#if LIBXML_VERSION >= 20911 || \
++    defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
++    xptrctxt->opLimit = ctxt->context->opLimit;
++    xptrctxt->opCount = ctxt->context->opCount;
++    xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
++
++    resObj = xmlXPtrEval(fragment, xptrctxt);
++
++    ctxt->context->opCount = xptrctxt->opCount;
++#else
+     resObj = xmlXPtrEval(fragment, xptrctxt);
+-    xmlXPathFreeContext(xptrctxt);
+ #endif
+ 
++    xmlXPathFreeContext(xptrctxt);
++#endif /* LIBXML_XPTR_ENABLED */
++
+     if (resObj == NULL)
+ 	goto out_fragment;
+ 
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Wed, 26 Aug 2020 00:34:38 +0200
+Subject: [PATCH] Don't set maxDepth in XPath contexts
+
+The maximum recursion depth is hardcoded in libxml2 now.
+--- a/libxslt/functions.c
++++ b/libxslt/functions.c
+@@ -182,7 +182,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
+     defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)
+     xptrctxt->opLimit = ctxt->context->opLimit;
+     xptrctxt->opCount = ctxt->context->opCount;
+-    xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth;
++    xptrctxt->depth = ctxt->context->depth;
+ 
+     resObj = xmlXPtrEval(fragment, xptrctxt);
+ 
+--- a/tests/fuzz/fuzz.c
++++ b/tests/fuzz/fuzz.c
+@@ -183,7 +183,6 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
+     xpctxt = tctxt->xpathCtxt;
+ 
+     /* Resource limits to avoid timeouts and call stack overflows */
+-    xpctxt->maxDepth = 500;
+     xpctxt->opLimit = 500000;
+ 
+     /* Test namespaces used in xpath.xml */
+@@ -314,12 +313,6 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p,
+     return 0;
+ }
+ 
+-static void
+-xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) {
+-    ctxt->maxDepth = 200;
+-    ctxt->opLimit = 100000;
+-}
+-
+ xmlChar *
+ xsltFuzzXslt(const char *data, size_t size) {
+     xmlDocPtr xsltDoc;
+@@ -349,7 +342,7 @@ xsltFuzzXslt(const char *data, size_t size) {
+         xmlFreeDoc(xsltDoc);
+         return NULL;
+     }
+-    xsltSetXPathResourceLimits(sheet->xpathCtxt);
++    sheet->xpathCtxt->opLimit = 100000;
+     sheet->xpathCtxt->opCount = 0;
+     if (xsltParseStylesheetUser(sheet, xsltDoc) != 0) {
+         xsltFreeStylesheet(sheet);
+@@ -361,7 +354,7 @@ xsltFuzzXslt(const char *data, size_t size) {
+     xsltSetCtxtSecurityPrefs(sec, ctxt);
+     ctxt->maxTemplateDepth = 100;
+     ctxt->opLimit = 20000;
+-    xsltSetXPathResourceLimits(ctxt->xpathCtxt);
++    ctxt->xpathCtxt->opLimit = 100000;
+     ctxt->xpathCtxt->opCount = sheet->xpathCtxt->opCount;
+ 
+     result = xsltApplyStylesheetUser(sheet, doc, NULL, NULL, NULL, ctxt);

diff --git a/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild
new file mode 100644
index 00000000000..df1a9b5e042
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
+inherit libtool multilib-minimal verify-sig
+
+# Note: Please bump this in sync with dev-libs/libxml2.
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxslt"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+SRC_URI+=" verify-sig? ( ftp://xmlsoft.org/${PN}/${P}.tar.gz.asc )"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="crypt debug examples static-libs elibc_Darwin"
+
+BDEPEND=">=virtual/pkgconfig-1
+	verify-sig? ( app-crypt/openpgp-keys-danielveillard )"
+RDEPEND="
+	>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
+	crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+MULTILIB_CHOST_TOOLS=(
+	/usr/bin/xslt-config
+)
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/libxslt/xsltconfig.h
+)
+
+PATCHES=(
+	"${FILESDIR}"/${P}-libxml2-2.9.12.patch
+	"${FILESDIR}"/${P}-CVE-2021-30560.patch
+)
+
+src_prepare() {
+	default
+
+	DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
+
+	# Prefix always needs elibtoolize if not eautoreconf'd.
+	elibtoolize
+}
+
+multilib_src_configure() {
+	# Python bindings were dropped as they were Python 2 only at the time
+	ECONF_SOURCE="${S}" econf \
+		--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+		--with-html-subdir=html \
+		--without-python \
+		$(use_with crypt crypto) \
+		$(use_with debug) \
+		$(use_with debug mem-debug) \
+		$(use_enable static-libs static) \
+		"$@"
+}
+
+multilib_src_install() {
+	# "default" does not work here - docs are installed by multilib_src_install_all
+	emake DESTDIR="${D}" install
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	find "${ED}" -type f -name "*.la" -delete || die
+}


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/
@ 2023-12-02  5:14 Sam James
  0 siblings, 0 replies; 11+ messages in thread
From: Sam James @ 2023-12-02  5:14 UTC (permalink / raw
  To: gentoo-commits

commit:     f5fb13bac5bc03bc74a4885a02adef08a48c5d47
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  2 04:45:08 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Dec  2 04:45:08 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5fb13ba

dev-libs/libxslt: fix modern c issue in tests

Test-only issue so no revbump.

Closes: https://bugs.gentoo.org/918973
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/libxslt-1.1.39-libxml2-2.11-tests.patch  | 24 ++++++++++++++++++++++
 dev-libs/libxslt/libxslt-1.1.39.ebuild             |  4 ++++
 2 files changed, 28 insertions(+)

diff --git a/dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch b/dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch
new file mode 100644
index 000000000000..8d7f98e71b9d
--- /dev/null
+++ b/dev-libs/libxslt/files/libxslt-1.1.39-libxml2-2.11-tests.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/918973
+https://gitlab.gnome.org/GNOME/libxslt/-/issues/99
+https://gitlab.gnome.org/GNOME/libxslt/-/commit/86ec392efd75ce24b79f4baa9822a1b088f3e47f
+
+From 86ec392efd75ce24b79f4baa9822a1b088f3e47f Mon Sep 17 00:00:00 2001
+From: Nick Wellnhofer <wellnhofer@aevum.de>
+Date: Fri, 1 Dec 2023 21:05:19 +0100
+Subject: [PATCH] tests: Fix build with older libxml2
+
+Fixes #99.
+--- a/tests/runtest.c
++++ b/tests/runtest.c
+@@ -456,7 +456,8 @@ initializeLibxml2(void) {
+     xmlSetExternalEntityLoader(xmlNoNetExternalEntityLoader);
+     xmlSetGenericErrorFunc(NULL, testErrorHandler);
+     xsltSetGenericErrorFunc(NULL, testErrorHandler);
+-    xmlSetStructuredErrorFunc(NULL, testStructuredErrorHandler);
++    xmlSetStructuredErrorFunc(NULL,
++            (xmlStructuredErrorFunc) testStructuredErrorHandler);
+     exsltRegisterAll();
+     xsltRegisterTestModule();
+     xsltMaxDepth = 200;
+-- 
+GitLab

diff --git a/dev-libs/libxslt/libxslt-1.1.39.ebuild b/dev-libs/libxslt/libxslt-1.1.39.ebuild
index e7d5b131b6cb..45105b23a089 100644
--- a/dev-libs/libxslt/libxslt-1.1.39.ebuild
+++ b/dev-libs/libxslt/libxslt-1.1.39.ebuild
@@ -39,6 +39,10 @@ MULTILIB_WRAPPED_HEADERS=(
 	/usr/include/libxslt/xsltconfig.h
 )
 
+PATCHES=(
+	"${FILESDIR}"/${P}-libxml2-2.11-tests.patch
+)
+
 src_prepare() {
 	default
 


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2023-12-02  5:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-05  6:58 [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxslt/, dev-libs/libxslt/files/ Gilles Dartiguelongue
  -- strict thread matches above, loose matches on Subject: below --
2023-12-02  5:14 Sam James
2021-10-29 15:28 Sam James
2020-11-08  0:32 Michał Górny
2018-09-16 23:29 Mart Raudsepp
2018-04-21 12:34 Mart Raudsepp
2017-10-28 20:31 Andreas Hüttel
2017-03-29  0:02 Michael Weber
2016-12-22 10:32 Fabian Groffen
2015-11-11 21:35 Gilles Dartiguelongue
2015-09-25  7:11 Justin Lecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox