mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-01 02:22:11 +02:00
Merge pull request #359 from flatcar/krnowak/update-libxml2
Update libxml2 and libxslt
This commit is contained in:
commit
afae5fd279
1
sdk_container/src/third_party/portage-stable/changelog/security/2022-09-14-libxml2.md
vendored
Normal file
1
sdk_container/src/third_party/portage-stable/changelog/security/2022-09-14-libxml2.md
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
- libxml2 ([CVE-2016-3709](https://nvd.nist.gov/vuln/detail/CVE-2016-3709), [CVE-2022-2309](https://nvd.nist.gov/vuln/detail/CVE-2022-2309))
|
2
sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-14-libxml2.md
vendored
Normal file
2
sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-14-libxml2.md
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
- libxml2 ([2.10.2](https://gitlab.gnome.org/GNOME/libxml2/-/tags/v2.10.2))
|
||||||
|
- SDK: libxslt ([1.1.35](https://gitlab.gnome.org/GNOME/libxslt/-/tags/v1.1.35))
|
@ -1,5 +1,4 @@
|
|||||||
DIST libxml2-2.9.12-r5-patchset.tar.bz2 7231 BLAKE2B d9d0d56ebccbfe234a8af04cc5343c1a02d84fbd998c2373fd48be59cf92807a9417db650a6bb6ba309e101994c4ae2b28edda7bf635c7728eb8b8047d0d3391 SHA512 b2db0fe4595c1559d9f8dc836ee6eee469191f6c490fc95d25d9fa99a544e80858894cc35b6e4a6624a38d0309800540badc929e86ef29950c1107caa4656a14
|
DIST libxml2-2.10.2.tar.xz 2636304 BLAKE2B 3ccc11ac73a81ee7ea3e565597c95e74923eba3d858c9a915aecf1dcf2fb6ab3e46c6ed2ea504261a822de2ac2132834ffa8ffd039e9e1390a9637a2dac7d6c5 SHA512 c26ee428ae2fae2326fcaec156ed36c5f5d63aeb4839d626f6544a3fad158a1602e9dc0d542b2f947e6a8de0c09ff130da2626a30aec27446ce09614f78466b5
|
||||||
DIST libxml2-2.9.13.tar.xz 3243336 BLAKE2B 845a8283cf1ff9fd9f7926cfe0042c042a9de5ed184520d8057f7b33312687d5ff28abdf30dd2674795d78dc80326203a907f9e22cd261805309403ecdd585f5 SHA512 fc51980cb9222bd3b5242f73d28b55fa15a80e68e52e1c45274f1eda11500ed385853209edb3b2a1f06b9de0be304c159a9bd898c7d84b0899eacb00723d98b5
|
|
||||||
DIST libxml2-2.9.14-patches-r0.tar.bz2 8304 BLAKE2B 067faba5bfcbf81e2ef356925c0d3b4ef0aff7604db049366180b8217b781c60c2746be348c5e1a09de925e54fc69e3e431f7e2199ce326b6ff88ea9352ca45c SHA512 e97bada92a14ef0501a5f7be312d35d26eb52b648102d028dc11b3eef62ee0597540d0b474f54bd015a914a9cb7600d4dc34912b0ead5230136e945d80ae8428
|
DIST libxml2-2.9.14-patches-r0.tar.bz2 8304 BLAKE2B 067faba5bfcbf81e2ef356925c0d3b4ef0aff7604db049366180b8217b781c60c2746be348c5e1a09de925e54fc69e3e431f7e2199ce326b6ff88ea9352ca45c SHA512 e97bada92a14ef0501a5f7be312d35d26eb52b648102d028dc11b3eef62ee0597540d0b474f54bd015a914a9cb7600d4dc34912b0ead5230136e945d80ae8428
|
||||||
DIST libxml2-2.9.14.tar.xz 3129968 BLAKE2B ab584503d5209e4aaf41ae6f44aed5e94c0ae29e28cfba39a9012568aa97515af861b47891b84d2a352a07357626ba50ddb1e344e911fa14ff2ce93c5beff1f1 SHA512 d08e6cafb289c499fdc5b3a12181e032a34f7a249bc66758859f964d3e71e19fd69be79921e1a9d8ab1e692d15b13f5fae95eeb10c3236974d89e218f5107606
|
DIST libxml2-2.9.14.tar.xz 3129968 BLAKE2B ab584503d5209e4aaf41ae6f44aed5e94c0ae29e28cfba39a9012568aa97515af861b47891b84d2a352a07357626ba50ddb1e344e911fa14ff2ce93c5beff1f1 SHA512 d08e6cafb289c499fdc5b3a12181e032a34f7a249bc66758859f964d3e71e19fd69be79921e1a9d8ab1e692d15b13f5fae95eeb10c3236974d89e218f5107606
|
||||||
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
|
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
From b31e07dbf40c3998dd466829e818f5870296272d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mike Gilbert <floppym@gentoo.org>
|
|
||||||
Date: Fri, 22 Apr 2022 20:14:05 -0400
|
|
||||||
Subject: [PATCH] testapi: remove leading slash from "/missing.xml"
|
|
||||||
|
|
||||||
Fixes an error when running tests in a sandbox on Gentoo Linux.
|
|
||||||
|
|
||||||
Bug: https://bugs.gentoo.org/839804
|
|
||||||
--- a/testapi.c
|
|
||||||
+++ b/testapi.c
|
|
||||||
@@ -442,7 +442,7 @@ static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSE
|
|
||||||
#define gen_nb_fileoutput 6
|
|
||||||
|
|
||||||
static const char *gen_fileoutput(int no, int nr ATTRIBUTE_UNUSED) {
|
|
||||||
- if (no == 0) return("/missing.xml");
|
|
||||||
+ if (no == 0) return("missing.xml");
|
|
||||||
if (no == 1) return("<foo/>");
|
|
||||||
if (no == 2) return(REMOTE2GOOD);
|
|
||||||
if (no == 3) return(REMOTE1GOOD);
|
|
@ -1,31 +0,0 @@
|
|||||||
https://gitlab.gnome.org/GNOME/libxml2/merge_requests/14
|
|
||||||
|
|
||||||
From 54878c018af979b20ca1bfbf12599973484cae5b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mike Frysinger <vapier@gentoo.org>
|
|
||||||
Date: Thu, 3 Jan 2019 05:44:03 -0500
|
|
||||||
Subject: [PATCH] fix reader5.py test when building out of tree
|
|
||||||
|
|
||||||
When building out of tree, the relative path this test uses doesn't
|
|
||||||
work. Resolve the path relative to the test script itself instead.
|
|
||||||
|
|
||||||
Url: https://bugs.gentoo.org/565576
|
|
||||||
--- a/python/tests/reader5.py
|
|
||||||
+++ b/python/tests/reader5.py
|
|
||||||
@@ -4,6 +4,7 @@
|
|
||||||
# this extract the Dragon bibliography entries from the XML specification
|
|
||||||
#
|
|
||||||
import libxml2
|
|
||||||
+import os
|
|
||||||
import sys
|
|
||||||
|
|
||||||
# Memory debug specific
|
|
||||||
@@ -14,7 +15,8 @@ Ravi Sethi, and Jeffrey D. Ullman.
|
|
||||||
<emph>Compilers: Principles, Techniques, and Tools</emph>.
|
|
||||||
Reading: Addison-Wesley, 1986, rpt. corr. 1988.</bibl>"""
|
|
||||||
|
|
||||||
-f = open('../../test/valid/REC-xml-19980210.xml', 'rb')
|
|
||||||
+basedir = os.path.dirname(os.path.realpath(__file__))
|
|
||||||
+f = open(os.path.join(basedir, '../../test/valid/REC-xml-19980210.xml'), 'rb')
|
|
||||||
input = libxml2.inputBuffer(f)
|
|
||||||
reader = input.newTextReader("REC")
|
|
||||||
res=""
|
|
194
sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.10.2.ebuild
vendored
Normal file
194
sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.10.2.ebuild
vendored
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Note: Please bump in sync with dev-libs/libxslt
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
PYTHON_REQ_USE="xml(+)"
|
||||||
|
inherit flag-o-matic python-r1 multilib-minimal
|
||||||
|
|
||||||
|
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||||
|
XSTS_NAME_1="xmlschema2002-01-16"
|
||||||
|
XSTS_NAME_2="xmlschema2004-01-14"
|
||||||
|
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
|
||||||
|
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
|
||||||
|
XMLCONF_TARBALL="xmlts20130923.tar.gz"
|
||||||
|
|
||||||
|
DESCRIPTION="XML C parser and toolkit"
|
||||||
|
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
inherit gnome.org libtool
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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"
|
||||||
|
fi
|
||||||
|
|
||||||
|
SRC_URI+="
|
||||||
|
test? (
|
||||||
|
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
|
||||||
|
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
|
||||||
|
https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
|
||||||
|
)"
|
||||||
|
S="${WORKDIR}/${PN}-${PV%_rc*}"
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="2"
|
||||||
|
IUSE="debug examples +ftp icu lzma +python readline static-libs test"
|
||||||
|
RESTRICT="!test? ( test )"
|
||||||
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
|
RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||||
|
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||||
|
lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
readline? ( sys-libs/readline:= )"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
BDEPEND="virtual/pkgconfig"
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
BDEPEND+=" dev-util/gtk-doc-am"
|
||||||
|
fi
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/xml2-config
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
|
||||||
|
|
||||||
|
src_unpack() {
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
git-r3_src_unpack
|
||||||
|
else
|
||||||
|
local tarname=${P/_rc/-rc}.tar.xz
|
||||||
|
|
||||||
|
# ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
|
||||||
|
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
|
||||||
|
unpack ${tarname}
|
||||||
|
|
||||||
|
if [[ -n ${PATCHSET_VERSION} ]] ; then
|
||||||
|
unpack ${PN}-${PATCHSET_VERSION}.tar.bz2
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "${S}" || die
|
||||||
|
|
||||||
|
if use test ; then
|
||||||
|
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
|
||||||
|
"${DISTDIR}/${XSTS_TARBALL_2}" \
|
||||||
|
"${S}"/xstc/ \
|
||||||
|
|| die "Failed to install test tarballs"
|
||||||
|
unpack ${XMLCONF_TARBALL}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
|
else
|
||||||
|
# Please do not remove, as else we get references to PORTAGE_TMPDIR
|
||||||
|
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
# Filter seemingly problematic CFLAGS (bug #26320)
|
||||||
|
filter-flags -fprefetch-loop-arrays -funroll-loops
|
||||||
|
|
||||||
|
# Notes:
|
||||||
|
# The meaning of the 'debug' USE flag does not apply to the --with-debug
|
||||||
|
# switch (enabling the libxml2 debug module). See bug #100898.
|
||||||
|
libxml2_configure() {
|
||||||
|
ECONF_SOURCE="${S}" econf \
|
||||||
|
--enable-ipv6 \
|
||||||
|
$(use_with ftp) \
|
||||||
|
$(use_with debug run-debug) \
|
||||||
|
$(use_with icu) \
|
||||||
|
$(use_with lzma) \
|
||||||
|
$(use_enable static-libs static) \
|
||||||
|
$(multilib_native_use_with readline) \
|
||||||
|
$(multilib_native_use_with readline history) \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build python bindings separately
|
||||||
|
libxml2_configure --without-python
|
||||||
|
|
||||||
|
multilib_is_native_abi && use python &&
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_configure --with-python
|
||||||
|
}
|
||||||
|
|
||||||
|
libxml2_py_emake() {
|
||||||
|
pushd "${BUILD_DIR}"/python >/dev/null || die
|
||||||
|
|
||||||
|
emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_py_emake all
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
ln -s "${S}"/xmlconf || die
|
||||||
|
|
||||||
|
emake check
|
||||||
|
|
||||||
|
multilib_is_native_abi && use python &&
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_py_emake check
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install() {
|
||||||
|
emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
multilib_is_native_abi && use python &&
|
||||||
|
python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
# Hack until automake release is made for the optimise fix
|
||||||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||||||
|
multilib_is_native_abi && use python && python_foreach_impl python_optimize
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
einstalldocs
|
||||||
|
|
||||||
|
if ! use examples ; then
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
|
||||||
|
|
||||||
|
find "${ED}" -name '*.la' -delete || die
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
|
||||||
|
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
|
||||||
|
if [[ -n "${ROOT}" ]]; then
|
||||||
|
elog "Skipping XML catalog creation for stage building (bug #208887)."
|
||||||
|
else
|
||||||
|
# Need an XML catalog, so no-one writes to a non-existent one
|
||||||
|
CATALOG="${EROOT}/etc/xml/catalog"
|
||||||
|
|
||||||
|
# We don't want to clobber an existing catalog though,
|
||||||
|
# only ensure that one is there
|
||||||
|
# <obz@gentoo.org>
|
||||||
|
if [[ ! -e "${CATALOG}" ]]; then
|
||||||
|
[[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
|
||||||
|
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
|
||||||
|
einfo "Created XML catalog in ${CATALOG}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
@ -1,250 +0,0 @@
|
|||||||
# Copyright 1999-2022 Gentoo Authors
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
EAPI=7
|
|
||||||
|
|
||||||
# Note: Please bump in sync with dev-libs/libxslt
|
|
||||||
|
|
||||||
PATCHSET_VERSION="2.9.12-r5-patchset"
|
|
||||||
|
|
||||||
PYTHON_COMPAT=( python3_{8..10} )
|
|
||||||
PYTHON_REQ_USE="xml"
|
|
||||||
inherit autotools flag-o-matic prefix python-r1 multilib-minimal
|
|
||||||
|
|
||||||
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
|
||||||
XSTS_NAME_1="xmlschema2002-01-16"
|
|
||||||
XSTS_NAME_2="xmlschema2004-01-14"
|
|
||||||
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
|
|
||||||
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
|
|
||||||
XMLCONF_TARBALL="xmlts20130923.tar.gz"
|
|
||||||
DESCRIPTION="XML C parser and toolkit"
|
|
||||||
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
|
|
||||||
inherit git-r3
|
|
||||||
else
|
|
||||||
inherit gnome.org
|
|
||||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
|
||||||
fi
|
|
||||||
SRC_URI+="
|
|
||||||
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${PATCHSET_VERSION}.tar.bz2
|
|
||||||
test? (
|
|
||||||
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
|
|
||||||
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
|
|
||||||
https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
|
|
||||||
)"
|
|
||||||
S="${WORKDIR}/${PN}-${PV%_rc*}"
|
|
||||||
|
|
||||||
LICENSE="MIT"
|
|
||||||
SLOT="2"
|
|
||||||
IUSE="debug examples icu lzma +python readline static-libs test"
|
|
||||||
RESTRICT="!test? ( test )"
|
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
|
||||||
|
|
||||||
BDEPEND="
|
|
||||||
dev-util/gtk-doc-am
|
|
||||||
virtual/pkgconfig
|
|
||||||
"
|
|
||||||
RDEPEND="
|
|
||||||
>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
|
||||||
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
|
||||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
|
|
||||||
python? ( ${PYTHON_DEPS} )
|
|
||||||
readline? ( sys-libs/readline:= )
|
|
||||||
"
|
|
||||||
DEPEND="${RDEPEND}"
|
|
||||||
|
|
||||||
MULTILIB_CHOST_TOOLS=(
|
|
||||||
/usr/bin/xml2-config
|
|
||||||
)
|
|
||||||
|
|
||||||
DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
|
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
## Gentoo
|
|
||||||
# Patches needed for prefix support
|
|
||||||
"${WORKDIR}"/${PN}-2.7.1-catalog_path.patch
|
|
||||||
|
|
||||||
# Fix python detection, bug #567066
|
|
||||||
# https://bugzilla.gnome.org/show_bug.cgi?id=760458
|
|
||||||
"${WORKDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
|
|
||||||
|
|
||||||
# Fix python tests when building out of tree #565576
|
|
||||||
"${WORKDIR}"/${PN}-2.9.8-out-of-tree-test.patch
|
|
||||||
|
|
||||||
# bug #745162
|
|
||||||
"${WORKDIR}"/${PN}-2.9.8-python3-unicode-errors.patch
|
|
||||||
|
|
||||||
# Don't bother copying Python's libraries (bug #798942)
|
|
||||||
"${WORKDIR}"/${PN}-2.9.12-dont-copy-python-ldflags.patch
|
|
||||||
|
|
||||||
# https://bugs.gentoo.org/839804
|
|
||||||
"${FILESDIR}"/libxml2-2.9.13-testapi-missing-xml.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_unpack() {
|
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
|
||||||
git-r3_src_unpack
|
|
||||||
else
|
|
||||||
local tarname=${P/_rc/-rc}.tar.xz
|
|
||||||
|
|
||||||
# ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
|
|
||||||
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
|
|
||||||
unpack ${tarname} ${PN}-${PATCHSET_VERSION}.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${S}" || die
|
|
||||||
|
|
||||||
if use test ; then
|
|
||||||
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
|
|
||||||
"${DISTDIR}/${XSTS_TARBALL_2}" \
|
|
||||||
"${S}"/xstc/ \
|
|
||||||
|| die "Failed to install test tarballs"
|
|
||||||
unpack ${XMLCONF_TARBALL}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
src_prepare() {
|
|
||||||
default
|
|
||||||
|
|
||||||
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
|
|
||||||
|
|
||||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
|
||||||
# Avoid final linking arguments for python modules
|
|
||||||
sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
|
|
||||||
# gcc-apple doesn't grok -Wno-array-bounds
|
|
||||||
sed -i -e 's/-Wno-array-bounds//' configure.ac || die
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Please do not remove, as else we get references to PORTAGE_TMPDIR
|
|
||||||
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
|
|
||||||
# We now need to run eautoreconf at the end to prevent maintainer mode.
|
|
||||||
#elibtoolize
|
|
||||||
# Needed for https://gitlab.gnome.org/GNOME/libxml2/-/issues/338 too in 2.9.13
|
|
||||||
eautoreconf
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_configure() {
|
|
||||||
# Filter seemingly problematic CFLAGS (#26320)
|
|
||||||
filter-flags -fprefetch-loop-arrays -funroll-loops
|
|
||||||
|
|
||||||
# Notes:
|
|
||||||
# 1) USE zlib support breaks gnome2
|
|
||||||
# (libgnomeprint for instance fails to compile with
|
|
||||||
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
|
|
||||||
#
|
|
||||||
# 2) The meaning of the 'debug' USE flag does not apply to the --with-debug
|
|
||||||
# switch (enabling the libxml2 debug module). See bug #100898.
|
|
||||||
#
|
|
||||||
# 3) --with-mem-debug causes unusual segmentation faults (bug #105120).
|
|
||||||
|
|
||||||
libxml2_configure() {
|
|
||||||
ECONF_SOURCE="${S}" econf \
|
|
||||||
--enable-ipv6 \
|
|
||||||
--with-html-subdir=${PF}/html \
|
|
||||||
$(use_with debug run-debug) \
|
|
||||||
$(use_with icu) \
|
|
||||||
$(use_with lzma) \
|
|
||||||
$(use_enable static-libs static) \
|
|
||||||
$(multilib_native_use_with readline) \
|
|
||||||
$(multilib_native_use_with readline history) \
|
|
||||||
"$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
libxml2_py_configure() {
|
|
||||||
# Ensure python build dirs exist
|
|
||||||
mkdir -p "${BUILD_DIR}" || die
|
|
||||||
|
|
||||||
# Odd build system, also see bug #582130
|
|
||||||
run_in_build_dir libxml2_configure \
|
|
||||||
"--with-python=${EPYTHON}" \
|
|
||||||
"--with-python-install-dir=$(python_get_sitedir)"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Build python bindings separately
|
|
||||||
libxml2_configure --without-python
|
|
||||||
|
|
||||||
if multilib_is_native_abi && use python ; then
|
|
||||||
python_foreach_impl libxml2_py_configure
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
libxml2_py_emake() {
|
|
||||||
pushd "${BUILD_DIR}/python" > /dev/null || die
|
|
||||||
|
|
||||||
emake "$@"
|
|
||||||
|
|
||||||
popd > /dev/null || die
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_compile() {
|
|
||||||
default
|
|
||||||
|
|
||||||
if multilib_is_native_abi && use python ; then
|
|
||||||
local native_builddir="${BUILD_DIR}"
|
|
||||||
|
|
||||||
python_foreach_impl libxml2_py_emake \
|
|
||||||
top_builddir="${native_builddir}" \
|
|
||||||
all
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_test() {
|
|
||||||
ln -s "${S}"/xmlconf || die
|
|
||||||
|
|
||||||
emake check
|
|
||||||
|
|
||||||
if multilib_is_native_abi && use python ; then
|
|
||||||
python_foreach_impl libxml2_py_emake test
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install() {
|
|
||||||
emake \
|
|
||||||
DESTDIR="${D}" \
|
|
||||||
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
|
|
||||||
install
|
|
||||||
|
|
||||||
if multilib_is_native_abi && use python ; then
|
|
||||||
python_foreach_impl libxml2_py_emake \
|
|
||||||
DESTDIR="${D}" \
|
|
||||||
docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
|
|
||||||
exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
|
|
||||||
install
|
|
||||||
|
|
||||||
python_foreach_impl python_optimize
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
multilib_src_install_all() {
|
|
||||||
rm -rf "${ED}"/usr/share/doc/${P}
|
|
||||||
|
|
||||||
einstalldocs
|
|
||||||
|
|
||||||
if ! use examples ; then
|
|
||||||
rm -rf "${ED}"/usr/share/doc/${PF}/examples
|
|
||||||
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
|
|
||||||
fi
|
|
||||||
|
|
||||||
find "${D}" -name '*.la' -delete || die
|
|
||||||
}
|
|
||||||
|
|
||||||
pkg_postinst() {
|
|
||||||
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
|
|
||||||
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
|
|
||||||
if [[ -n "${ROOT}" ]]; then
|
|
||||||
elog "Skipping XML catalog creation for stage building (bug #208887)."
|
|
||||||
else
|
|
||||||
# Need an XML catalog, so no-one writes to a non-existent one
|
|
||||||
CATALOG="${EROOT}/etc/xml/catalog"
|
|
||||||
|
|
||||||
# We don't want to clobber an existing catalog though,
|
|
||||||
# only ensure that one is there
|
|
||||||
# <obz@gentoo.org>
|
|
||||||
if [[ ! -e "${CATALOG}" ]]; then
|
|
||||||
[[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
|
|
||||||
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
|
|
||||||
einfo "Created XML catalog in ${CATALOG}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
@ -36,7 +36,7 @@ S="${WORKDIR}/${PN}-${PV%_rc*}"
|
|||||||
|
|
||||||
LICENSE="MIT"
|
LICENSE="MIT"
|
||||||
SLOT="2"
|
SLOT="2"
|
||||||
IUSE="debug examples icu lzma +python readline static-libs test"
|
IUSE="debug examples +ftp icu lzma +python readline static-libs test"
|
||||||
RESTRICT="!test? ( test )"
|
RESTRICT="!test? ( test )"
|
||||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
@ -58,10 +58,6 @@ MULTILIB_CHOST_TOOLS=(
|
|||||||
|
|
||||||
DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
|
DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
|
||||||
|
|
||||||
PATCHES=(
|
|
||||||
"${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_unpack() {
|
src_unpack() {
|
||||||
if [[ ${PV} == 9999 ]] ; then
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
git-r3_src_unpack
|
git-r3_src_unpack
|
||||||
@ -110,6 +106,7 @@ multilib_src_configure() {
|
|||||||
libxml2_configure() {
|
libxml2_configure() {
|
||||||
ECONF_SOURCE="${S}" econf \
|
ECONF_SOURCE="${S}" econf \
|
||||||
--enable-ipv6 \
|
--enable-ipv6 \
|
||||||
|
$(use_with ftp) \
|
||||||
$(use_with debug run-debug) \
|
$(use_with debug run-debug) \
|
||||||
$(use_with icu) \
|
$(use_with icu) \
|
||||||
$(use_with lzma) \
|
$(use_with lzma) \
|
||||||
@ -149,7 +146,7 @@ multilib_src_test() {
|
|||||||
emake check
|
emake check
|
||||||
|
|
||||||
multilib_is_native_abi && use python &&
|
multilib_is_native_abi && use python &&
|
||||||
python_foreach_impl run_in_build_dir libxml2_py_emake test
|
python_foreach_impl run_in_build_dir libxml2_py_emake check
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_install() {
|
multilib_src_install() {
|
||||||
@ -157,6 +154,10 @@ multilib_src_install() {
|
|||||||
|
|
||||||
multilib_is_native_abi && use python &&
|
multilib_is_native_abi && use python &&
|
||||||
python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
|
python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
|
||||||
|
|
||||||
|
# Hack until automake release is made for the optimise fix
|
||||||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||||||
|
multilib_is_native_abi && use python && python_foreach_impl python_optimize
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_install_all() {
|
multilib_src_install_all() {
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
DIST libxslt-1.1.34.tar.gz 3552258 BLAKE2B f043a0357e0705ab68041adf4031a6b3e0b5c3d396691c988a34963a0ee0ebe3bede2d1d7a0c5f0c42c046183653c94f4b51e10e35980a039c8cad446e84ad86 SHA512 1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b
|
DIST libxslt-1.1.35.tar.xz 1827548 BLAKE2B 9667a93e61f50098a512c1351bce2ee937fc5d29488d010b525122d28ffedc73e0930402f3df2d378161a031dc016a15f0f03bdc343f0c4aa5d0b5c454f8002d SHA512 9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
|
||||||
DIST libxslt-1.1.34.tar.gz.asc 488 BLAKE2B fff407ab2c2bbafa804e5a1f84ca447c706d75fd7489c99ac6040b625d0417a0e6c189be3457e6cc6ecd6b7860829875ea95a132fef24f8a532156361f8a5308 SHA512 9b155d4571daede99cdbf2813a85fb04812737b5e23d3f7c9840225b38f3dbf171623a21645daaee190e7ff9ba38bde932922e96a2a2312c203ffa9917c3baea
|
DIST libxslt-1.1.37.tar.xz 1588572 BLAKE2B 096d93dd7178bf4483207514b1435f5bf426eea4952ffab7cc00c3e85aa736534c4acb5377af9647aa77a0cd793205194509d997a7bb5cae692f65e326566cd8 SHA512 a4e477d2bb918b7d01945e2c7491c3a4aae799dc1602bbd13de55c8a5052e210a20bc45115347eae44473c8b1d03dbc5e4a2aa18c2218f1fdfd376d87cd501ca
|
||||||
|
@ -1,194 +0,0 @@
|
|||||||
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
|
|
@ -1,120 +0,0 @@
|
|||||||
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);
|
|
@ -1,67 +0,0 @@
|
|||||||
# 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.10: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
|
|
||||||
)
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
@ -1,24 +1,26 @@
|
|||||||
# Copyright 1999-2021 Gentoo Authors
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
EAPI=7
|
EAPI=7
|
||||||
|
|
||||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
|
inherit libtool multilib-minimal
|
||||||
inherit libtool multilib-minimal verify-sig
|
|
||||||
|
|
||||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||||
DESCRIPTION="XSLT libraries and tools"
|
DESCRIPTION="XSLT libraries and tools"
|
||||||
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxslt"
|
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
SRC_URI+=" verify-sig? ( ftp://xmlsoft.org/${PN}/${P}.tar.gz.asc )"
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
inherit gnome.org
|
||||||
|
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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"
|
||||||
|
fi
|
||||||
|
|
||||||
LICENSE="MIT"
|
LICENSE="MIT"
|
||||||
SLOT="0"
|
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"
|
||||||
IUSE="crypt debug examples static-libs elibc_Darwin"
|
|
||||||
|
|
||||||
BDEPEND=">=virtual/pkgconfig-1
|
BDEPEND=">=virtual/pkgconfig-1"
|
||||||
verify-sig? ( app-crypt/openpgp-keys-danielveillard )"
|
|
||||||
RDEPEND="
|
RDEPEND="
|
||||||
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||||
@ -33,22 +35,23 @@ MULTILIB_WRAPPED_HEADERS=(
|
|||||||
/usr/include/libxslt/xsltconfig.h
|
/usr/include/libxslt/xsltconfig.h
|
||||||
)
|
)
|
||||||
|
|
||||||
PATCHES=(
|
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||||
"${FILESDIR}"/${P}-libxml2-2.9.12.patch
|
|
||||||
"${FILESDIR}"/${P}-CVE-2021-30560.patch
|
|
||||||
)
|
|
||||||
|
|
||||||
src_prepare() {
|
src_prepare() {
|
||||||
default
|
default
|
||||||
|
|
||||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
# Prefix always needs elibtoolize if not eautoreconf'd.
|
else
|
||||||
elibtoolize
|
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
multilib_src_configure() {
|
multilib_src_configure() {
|
||||||
# Python bindings were dropped as they were Python 2 only at the time
|
# Python bindings were dropped as they were Python 2 only at the time
|
||||||
|
# Work in 1.1.35+ is occurring to add prelim. Python 3 support, so could
|
||||||
|
# restore if something needs them.
|
||||||
ECONF_SOURCE="${S}" econf \
|
ECONF_SOURCE="${S}" econf \
|
||||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||||
--with-html-subdir=html \
|
--with-html-subdir=html \
|
123
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.37.ebuild
vendored
Normal file
123
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.37.ebuild
vendored
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
inherit python-r1 multilib-minimal
|
||||||
|
|
||||||
|
DESCRIPTION="XSLT libraries and tools"
|
||||||
|
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
inherit libtool gnome.org
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="crypt debug examples python static-libs"
|
||||||
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
|
BDEPEND=">=virtual/pkgconfig-1"
|
||||||
|
RDEPEND="
|
||||||
|
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||||||
|
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/xslt-config
|
||||||
|
)
|
||||||
|
|
||||||
|
MULTILIB_WRAPPED_HEADERS=(
|
||||||
|
/usr/include/libxslt/xsltconfig.h
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( AUTHORS FEATURES NEWS README TODO )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
|
else
|
||||||
|
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
libxslt_configure() {
|
||||||
|
ECONF_SOURCE="${S}" econf \
|
||||||
|
--without-python \
|
||||||
|
$(use_with crypt crypto) \
|
||||||
|
$(use_with debug) \
|
||||||
|
$(use_with debug mem-debug) \
|
||||||
|
$(use_enable static-libs static) \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build Python bindings separately
|
||||||
|
libxslt_configure --without-python
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_configure --with-python
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
libxslt_py_emake() {
|
||||||
|
pushd "${BUILD_DIR}"/python >/dev/null || die
|
||||||
|
|
||||||
|
emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake all
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake test
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake \
|
||||||
|
DESTDIR="${D}" \
|
||||||
|
install
|
||||||
|
|
||||||
|
# Hack until automake release is made for the optimise fix
|
||||||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||||||
|
python_foreach_impl python_optimize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
einstalldocs
|
||||||
|
|
||||||
|
if ! use examples ; then
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
find "${ED}" -type f -name "*.la" -delete || die
|
||||||
|
}
|
123
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild
vendored
Normal file
123
sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild
vendored
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
# Copyright 1999-2022 Gentoo Authors
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
EAPI=8
|
||||||
|
|
||||||
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||||
|
|
||||||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||||||
|
inherit python-r1 multilib-minimal
|
||||||
|
|
||||||
|
DESCRIPTION="XSLT libraries and tools"
|
||||||
|
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
|
||||||
|
inherit autotools git-r3
|
||||||
|
else
|
||||||
|
inherit libtool gnome.org
|
||||||
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~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"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LICENSE="MIT"
|
||||||
|
SLOT="0"
|
||||||
|
IUSE="crypt debug examples python static-libs"
|
||||||
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||||
|
|
||||||
|
BDEPEND=">=virtual/pkgconfig-1"
|
||||||
|
RDEPEND="
|
||||||
|
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||||||
|
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||||
|
python? ( ${PYTHON_DEPS} )
|
||||||
|
"
|
||||||
|
DEPEND="${RDEPEND}"
|
||||||
|
|
||||||
|
MULTILIB_CHOST_TOOLS=(
|
||||||
|
/usr/bin/xslt-config
|
||||||
|
)
|
||||||
|
|
||||||
|
MULTILIB_WRAPPED_HEADERS=(
|
||||||
|
/usr/include/libxslt/xsltconfig.h
|
||||||
|
)
|
||||||
|
|
||||||
|
DOCS=( AUTHORS FEATURES NEWS README TODO )
|
||||||
|
|
||||||
|
src_prepare() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if [[ ${PV} == 9999 ]] ; then
|
||||||
|
eautoreconf
|
||||||
|
else
|
||||||
|
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||||
|
elibtoolize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_configure() {
|
||||||
|
libxslt_configure() {
|
||||||
|
ECONF_SOURCE="${S}" econf \
|
||||||
|
--without-python \
|
||||||
|
$(use_with crypt crypto) \
|
||||||
|
$(use_with debug) \
|
||||||
|
$(use_with debug mem-debug) \
|
||||||
|
$(use_enable static-libs static) \
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Build Python bindings separately
|
||||||
|
libxslt_configure --without-python
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_configure --with-python
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
libxslt_py_emake() {
|
||||||
|
pushd "${BUILD_DIR}"/python >/dev/null || die
|
||||||
|
|
||||||
|
emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
|
||||||
|
|
||||||
|
popd >/dev/null || die
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_compile() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake all
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_test() {
|
||||||
|
default
|
||||||
|
|
||||||
|
if multilib_is_native_abi && use python ; then
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake test
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
python_foreach_impl run_in_build_dir libxslt_py_emake \
|
||||||
|
DESTDIR="${D}" \
|
||||||
|
install
|
||||||
|
|
||||||
|
# Hack until automake release is made for the optimise fix
|
||||||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||||||
|
python_foreach_impl python_optimize
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
multilib_src_install_all() {
|
||||||
|
einstalldocs
|
||||||
|
|
||||||
|
if ! use examples ; then
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
|
||||||
|
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||||||
|
fi
|
||||||
|
|
||||||
|
find "${ED}" -type f -name "*.la" -delete || die
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user