mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-30 18:12:08 +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.9.13.tar.xz 3243336 BLAKE2B 845a8283cf1ff9fd9f7926cfe0042c042a9de5ed184520d8057f7b33312687d5ff28abdf30dd2674795d78dc80326203a907f9e22cd261805309403ecdd585f5 SHA512 fc51980cb9222bd3b5242f73d28b55fa15a80e68e52e1c45274f1eda11500ed385853209edb3b2a1f06b9de0be304c159a9bd898c7d84b0899eacb00723d98b5
|
||||
DIST libxml2-2.10.2.tar.xz 2636304 BLAKE2B 3ccc11ac73a81ee7ea3e565597c95e74923eba3d858c9a915aecf1dcf2fb6ab3e46c6ed2ea504261a822de2ac2132834ffa8ffd039e9e1390a9637a2dac7d6c5 SHA512 c26ee428ae2fae2326fcaec156ed36c5f5d63aeb4839d626f6544a3fad158a1602e9dc0d542b2f947e6a8de0c09ff130da2626a30aec27446ce09614f78466b5
|
||||
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 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"
|
||||
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 )"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
@ -58,10 +58,6 @@ MULTILIB_CHOST_TOOLS=(
|
||||
|
||||
DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
@ -110,6 +106,7 @@ multilib_src_configure() {
|
||||
libxml2_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--enable-ipv6 \
|
||||
$(use_with ftp) \
|
||||
$(use_with debug run-debug) \
|
||||
$(use_with icu) \
|
||||
$(use_with lzma) \
|
||||
@ -149,7 +146,7 @@ multilib_src_test() {
|
||||
emake check
|
||||
|
||||
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() {
|
||||
@ -157,6 +154,10 @@ multilib_src_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() {
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST libxslt-1.1.34.tar.gz 3552258 BLAKE2B f043a0357e0705ab68041adf4031a6b3e0b5c3d396691c988a34963a0ee0ebe3bede2d1d7a0c5f0c42c046183653c94f4b51e10e35980a039c8cad446e84ad86 SHA512 1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b
|
||||
DIST libxslt-1.1.34.tar.gz.asc 488 BLAKE2B fff407ab2c2bbafa804e5a1f84ca447c706d75fd7489c99ac6040b625d0417a0e6c189be3457e6cc6ecd6b7860829875ea95a132fef24f8a532156361f8a5308 SHA512 9b155d4571daede99cdbf2813a85fb04812737b5e23d3f7c9840225b38f3dbf171623a21645daaee190e7ff9ba38bde932922e96a2a2312c203ffa9917c3baea
|
||||
DIST libxslt-1.1.35.tar.xz 1827548 BLAKE2B 9667a93e61f50098a512c1351bce2ee937fc5d29488d010b525122d28ffedc73e0930402f3df2d378161a031dc016a15f0f03bdc343f0c4aa5d0b5c454f8002d SHA512 9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
|
||||
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
|
||||
|
||||
EAPI=7
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/danielveillard.asc
|
||||
inherit libtool multilib-minimal verify-sig
|
||||
inherit libtool multilib-minimal
|
||||
|
||||
# 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 )"
|
||||
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 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"
|
||||
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"
|
||||
IUSE="crypt debug examples static-libs"
|
||||
|
||||
BDEPEND=">=virtual/pkgconfig-1
|
||||
verify-sig? ( app-crypt/openpgp-keys-danielveillard )"
|
||||
BDEPEND=">=virtual/pkgconfig-1"
|
||||
RDEPEND="
|
||||
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||
@ -33,22 +35,23 @@ MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libxslt/xsltconfig.h
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-libxml2-2.9.12.patch
|
||||
"${FILESDIR}"/${P}-CVE-2021-30560.patch
|
||||
)
|
||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||
|
||||
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||
elibtoolize
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
else
|
||||
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# 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 \
|
||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--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