diff options
author | Sam James <sam@gentoo.org> | 2022-05-03 01:38:04 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-05-03 01:39:01 +0100 |
commit | 8bbbe5e4ec96f6c8b2d2858f9c23fa8a24a797f2 (patch) | |
tree | 7245cb22e1ecca2f23eb7292b253b341731b385d /dev-libs | |
parent | dev-python/python-docs: Stabilize 3.9.12 hppa, #841269 (diff) | |
download | gentoo-8bbbe5e4ec96f6c8b2d2858f9c23fa8a24a797f2.tar.gz gentoo-8bbbe5e4ec96f6c8b2d2858f9c23fa8a24a797f2.tar.bz2 gentoo-8bbbe5e4ec96f6c8b2d2858f9c23fa8a24a797f2.zip |
dev-libs/libxml2: add 2.9.14
Bug: https://bugs.gentoo.org/842261
Closes: https://bugs.gentoo.org/582130
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/libxml2/Manifest | 1 | ||||
-rw-r--r-- | dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch | 9 | ||||
-rw-r--r-- | dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch | 31 | ||||
-rw-r--r-- | dev-libs/libxml2/libxml2-2.9.14.ebuild | 193 | ||||
-rw-r--r-- | dev-libs/libxml2/libxml2-9999.ebuild | 51 |
5 files changed, 255 insertions, 30 deletions
diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest index 09beb394762d..ff7171e5e024 100644 --- a/dev-libs/libxml2/Manifest +++ b/dev-libs/libxml2/Manifest @@ -1,5 +1,6 @@ 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.9.14.tar.xz 3129968 BLAKE2B ab584503d5209e4aaf41ae6f44aed5e94c0ae29e28cfba39a9012568aa97515af861b47891b84d2a352a07357626ba50ddb1e344e911fa14ff2ce93c5beff1f1 SHA512 d08e6cafb289c499fdc5b3a12181e032a34f7a249bc66758859f964d3e71e19fd69be79921e1a9d8ab1e692d15b13f5fae95eeb10c3236974d89e218f5107606 DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733 DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe diff --git a/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch b/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch index adbb3db72a5a..fa8e3d392d18 100644 --- a/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch +++ b/dev-libs/libxml2/files/libxml2-2.9.13-testapi-missing-xml.patch @@ -6,12 +6,6 @@ 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 ---- - testapi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/testapi.c b/testapi.c -index d4258c43..c7a5b163 100644 --- a/testapi.c +++ b/testapi.c @@ -442,7 +442,7 @@ static void des_eaten_name(int no ATTRIBUTE_UNUSED, xmlChar *val ATTRIBUTE_UNUSE @@ -23,6 +17,3 @@ index d4258c43..c7a5b163 100644 if (no == 1) return("<foo/>"); if (no == 2) return(REMOTE2GOOD); if (no == 3) return(REMOTE1GOOD); --- -2.35.1 - diff --git a/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch b/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch new file mode 100644 index 000000000000..468214d0bd8b --- /dev/null +++ b/dev-libs/libxml2/files/libxml2-2.9.8-out-of-tree-test.patch @@ -0,0 +1,31 @@ +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="" diff --git a/dev-libs/libxml2/libxml2-2.9.14.ebuild b/dev-libs/libxml2/libxml2-2.9.14.ebuild new file mode 100644 index 000000000000..847a7c331d40 --- /dev/null +++ b/dev-libs/libxml2/libxml2-2.9.14.ebuild @@ -0,0 +1,193 @@ +# 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..10} ) +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 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 ) + +PATCHES=( + "${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.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} + + 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 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 test +} + +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 +} + +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 +} diff --git a/dev-libs/libxml2/libxml2-9999.ebuild b/dev-libs/libxml2/libxml2-9999.ebuild index 3ad0604b6f1e..847a7c331d40 100644 --- a/dev-libs/libxml2/libxml2-9999.ebuild +++ b/dev-libs/libxml2/libxml2-9999.ebuild @@ -7,7 +7,7 @@ EAPI=8 PYTHON_COMPAT=( python3_{8..10} ) PYTHON_REQ_USE="xml" -inherit autotools flag-o-matic python-r1 multilib-minimal +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" @@ -20,10 +20,10 @@ 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 + inherit autotools git-r3 else - inherit gnome.org - 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" + 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+=" @@ -40,18 +40,17 @@ 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}] +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:= ) -" + 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 @@ -59,6 +58,10 @@ 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 @@ -67,7 +70,11 @@ src_unpack() { # ${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 + unpack ${tarname} + + if [[ -n ${PATCHSET_VERSION} ]] ; then + unpack ${PN}-${PATCHSET_VERSION}.tar.bz2 + fi fi cd "${S}" || die @@ -84,22 +91,22 @@ src_unpack() { src_prepare() { default - # 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 + 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 (#26320) + # 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 \ @@ -160,6 +167,8 @@ multilib_src_install_all() { 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 } |