diff --git a/sdk_container/src/third_party/portage-stable/changelog/security/2022-09-14-libxml2.md b/sdk_container/src/third_party/portage-stable/changelog/security/2022-09-14-libxml2.md new file mode 100644 index 0000000000..d0a8f1e679 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/changelog/security/2022-09-14-libxml2.md @@ -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)) diff --git a/sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-14-libxml2.md b/sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-14-libxml2.md new file mode 100644 index 0000000000..dbedbc9ad9 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-14-libxml2.md @@ -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)) diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest index 7ebdcda02b..f5ac9a3f16 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/Manifest @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch deleted file mode 100644 index fa8e3d392d..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch +++ /dev/null @@ -1,19 +0,0 @@ -From b31e07dbf40c3998dd466829e818f5870296272d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -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(""); - if (no == 2) return(REMOTE2GOOD); - if (no == 3) return(REMOTE1GOOD); diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch deleted file mode 100644 index 468214d0bd..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch +++ /dev/null @@ -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 -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. - Compilers: Principles, Techniques, and Tools. - Reading: Addison-Wesley, 1986, rpt. corr. 1988.""" - --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="" diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.10.2.ebuild new file mode 100644 index 0000000000..b8f7fa1688 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.10.2.ebuild @@ -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 + # + 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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.9.13-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.9.13-r1.ebuild deleted file mode 100644 index 5102622cfb..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-2.9.13-r1.ebuild +++ /dev/null @@ -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) - (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 - # - 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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild index 72a837d7e5..b8f7fa1688 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxml2/libxml2-9999.ebuild @@ -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() { diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest index 69d0fad3bc..2dfb049870 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/Manifest @@ -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 diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch deleted file mode 100644 index dcda176c51..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-CVE-2021-30560.patch +++ /dev/null @@ -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 -Date: Sat, 12 Jun 2021 20:02:53 +0200 -Subject: [PATCH] Fix use-after-free in xsltApplyTemplates - -xsltApplyTemplates without a select expression could delete nodes in -the source document. - -1. Text nodes with strippable whitespace - -Whitespace from input documents is already stripped, so there's no -need to strip it again. Under certain circumstances, xsltApplyTemplates -could be fooled into deleting text nodes that are still referenced, -resulting in a use-after-free. - -2. The DTD - -The DTD was only unlinked, but there's no good reason to do this just -now. Maybe it was meant as a micro-optimization. - -3. Unknown nodes - -Useless and dangerous as well, especially with XInclude nodes. -See https://gitlab.gnome.org/GNOME/libxml2/-/issues/268 - -Simply stop trying to uselessly delete nodes when applying a template. -This part of the code is probably a leftover from a time where -xsltApplyStripSpaces wasn't implemented yet. Also note that -xsltApplyTemplates with a select expression never tried to delete -nodes. - -Also stop xsltDefaultProcessOneNode from deleting nodes for the same -reasons. - -This fixes CVE-2021-30560. ---- a/libxslt/transform.c -+++ b/libxslt/transform.c -@@ -1895,7 +1895,7 @@ static void - xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node, - xsltStackElemPtr params) { - xmlNodePtr copy; -- xmlNodePtr delete = NULL, cur; -+ xmlNodePtr cur; - int nbchild = 0, oldSize; - int childno = 0, oldPos; - xsltTemplatePtr template; -@@ -1968,54 +1968,13 @@ xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node, - return; - } - /* -- * Handling of Elements: first pass, cleanup and counting -+ * Handling of Elements: first pass, counting - */ - cur = node->children; - while (cur != NULL) { -- switch (cur->type) { -- case XML_TEXT_NODE: -- case XML_CDATA_SECTION_NODE: -- case XML_DOCUMENT_NODE: -- case XML_HTML_DOCUMENT_NODE: -- case XML_ELEMENT_NODE: -- case XML_PI_NODE: -- case XML_COMMENT_NODE: -- nbchild++; -- break; -- case XML_DTD_NODE: -- /* Unlink the DTD, it's still reachable using doc->intSubset */ -- if (cur->next != NULL) -- cur->next->prev = cur->prev; -- if (cur->prev != NULL) -- cur->prev->next = cur->next; -- break; -- default: --#ifdef WITH_XSLT_DEBUG_PROCESS -- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext, -- "xsltDefaultProcessOneNode: skipping node type %d\n", -- cur->type)); --#endif -- delete = cur; -- } -+ if (IS_XSLT_REAL_NODE(cur)) -+ nbchild++; - cur = cur->next; -- if (delete != NULL) { --#ifdef WITH_XSLT_DEBUG_PROCESS -- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext, -- "xsltDefaultProcessOneNode: removing ignorable blank node\n")); --#endif -- xmlUnlinkNode(delete); -- xmlFreeNode(delete); -- delete = NULL; -- } -- } -- if (delete != NULL) { --#ifdef WITH_XSLT_DEBUG_PROCESS -- XSLT_TRACE(ctxt,XSLT_TRACE_PROCESS_NODE,xsltGenericDebug(xsltGenericDebugContext, -- "xsltDefaultProcessOneNode: removing ignorable blank node\n")); --#endif -- xmlUnlinkNode(delete); -- xmlFreeNode(delete); -- delete = NULL; - } - - /* -@@ -4864,7 +4823,7 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node, - xsltStylePreCompPtr comp = (xsltStylePreCompPtr) castedComp; - #endif - int i; -- xmlNodePtr cur, delNode = NULL, oldContextNode; -+ xmlNodePtr cur, oldContextNode; - xmlNodeSetPtr list = NULL, oldList; - xsltStackElemPtr withParams = NULL; - int oldXPProximityPosition, oldXPContextSize; -@@ -4998,73 +4957,9 @@ xsltApplyTemplates(xsltTransformContextPtr ctxt, xmlNodePtr node, - else - cur = NULL; - while (cur != NULL) { -- switch (cur->type) { -- case XML_TEXT_NODE: -- if ((IS_BLANK_NODE(cur)) && -- (cur->parent != NULL) && -- (cur->parent->type == XML_ELEMENT_NODE) && -- (ctxt->style->stripSpaces != NULL)) { -- const xmlChar *val; -- -- if (cur->parent->ns != NULL) { -- val = (const xmlChar *) -- xmlHashLookup2(ctxt->style->stripSpaces, -- cur->parent->name, -- cur->parent->ns->href); -- if (val == NULL) { -- val = (const xmlChar *) -- xmlHashLookup2(ctxt->style->stripSpaces, -- BAD_CAST "*", -- cur->parent->ns->href); -- } -- } else { -- val = (const xmlChar *) -- xmlHashLookup2(ctxt->style->stripSpaces, -- cur->parent->name, NULL); -- } -- if ((val != NULL) && -- (xmlStrEqual(val, (xmlChar *) "strip"))) { -- delNode = cur; -- break; -- } -- } -- /* Intentional fall-through */ -- case XML_ELEMENT_NODE: -- case XML_DOCUMENT_NODE: -- case XML_HTML_DOCUMENT_NODE: -- case XML_CDATA_SECTION_NODE: -- case XML_PI_NODE: -- case XML_COMMENT_NODE: -- xmlXPathNodeSetAddUnique(list, cur); -- break; -- case XML_DTD_NODE: -- /* Unlink the DTD, it's still reachable -- * using doc->intSubset */ -- if (cur->next != NULL) -- cur->next->prev = cur->prev; -- if (cur->prev != NULL) -- cur->prev->next = cur->next; -- break; -- case XML_NAMESPACE_DECL: -- break; -- default: --#ifdef WITH_XSLT_DEBUG_PROCESS -- XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext, -- "xsltApplyTemplates: skipping cur type %d\n", -- cur->type)); --#endif -- delNode = cur; -- } -+ if (IS_XSLT_REAL_NODE(cur)) -+ xmlXPathNodeSetAddUnique(list, cur); - cur = cur->next; -- if (delNode != NULL) { --#ifdef WITH_XSLT_DEBUG_PROCESS -- XSLT_TRACE(ctxt,XSLT_TRACE_APPLY_TEMPLATES,xsltGenericDebug(xsltGenericDebugContext, -- "xsltApplyTemplates: removing ignorable blank cur\n")); --#endif -- xmlUnlinkNode(delNode); -- xmlFreeNode(delNode); -- delNode = NULL; -- } - } - } - -GitLab diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch deleted file mode 100644 index 635fb576d3..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/files/libxslt-1.1.34-libxml2-2.9.12.patch +++ /dev/null @@ -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 -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 -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 -Date: Wed, 26 Aug 2020 00:34:38 +0200 -Subject: [PATCH] Don't set maxDepth in XPath contexts - -The maximum recursion depth is hardcoded in libxml2 now. ---- a/libxslt/functions.c -+++ b/libxslt/functions.c -@@ -182,7 +182,7 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI) - defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION) - xptrctxt->opLimit = ctxt->context->opLimit; - xptrctxt->opCount = ctxt->context->opCount; -- xptrctxt->maxDepth = ctxt->context->maxDepth - ctxt->context->depth; -+ xptrctxt->depth = ctxt->context->depth; - - resObj = xmlXPtrEval(fragment, xptrctxt); - ---- a/tests/fuzz/fuzz.c -+++ b/tests/fuzz/fuzz.c -@@ -183,7 +183,6 @@ xsltFuzzXPathInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p, - xpctxt = tctxt->xpathCtxt; - - /* Resource limits to avoid timeouts and call stack overflows */ -- xpctxt->maxDepth = 500; - xpctxt->opLimit = 500000; - - /* Test namespaces used in xpath.xml */ -@@ -314,12 +313,6 @@ xsltFuzzXsltInit(int *argc_p ATTRIBUTE_UNUSED, char ***argv_p, - return 0; - } - --static void --xsltSetXPathResourceLimits(xmlXPathContextPtr ctxt) { -- ctxt->maxDepth = 200; -- ctxt->opLimit = 100000; --} -- - xmlChar * - xsltFuzzXslt(const char *data, size_t size) { - xmlDocPtr xsltDoc; -@@ -349,7 +342,7 @@ xsltFuzzXslt(const char *data, size_t size) { - xmlFreeDoc(xsltDoc); - return NULL; - } -- xsltSetXPathResourceLimits(sheet->xpathCtxt); -+ sheet->xpathCtxt->opLimit = 100000; - sheet->xpathCtxt->opCount = 0; - if (xsltParseStylesheetUser(sheet, xsltDoc) != 0) { - xsltFreeStylesheet(sheet); -@@ -361,7 +354,7 @@ xsltFuzzXslt(const char *data, size_t size) { - xsltSetCtxtSecurityPrefs(sec, ctxt); - ctxt->maxTemplateDepth = 100; - ctxt->opLimit = 20000; -- xsltSetXPathResourceLimits(ctxt->xpathCtxt); -+ ctxt->xpathCtxt->opLimit = 100000; - ctxt->xpathCtxt->opCount = sheet->xpathCtxt->opCount; - - result = xsltApplyStylesheetUser(sheet, doc, NULL, NULL, NULL, ctxt); diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild deleted file mode 100644 index 36b22c24d8..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r1.ebuild +++ /dev/null @@ -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 -} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.35.ebuild similarity index 54% rename from sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.35.ebuild index 50d9a39363..3848a6609f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.34-r2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.35.ebuild @@ -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 \ diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.37.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.37.ebuild new file mode 100644 index 0000000000..a4fddfe4f2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-1.1.37.ebuild @@ -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 +} diff --git a/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild new file mode 100644 index 0000000000..a4fddfe4f2 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-libs/libxslt/libxslt-9999.ebuild @@ -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 +}