dev-libs/libxml2: update to 2.9.12-r2

Update dev-libs/libxml2 to 2.9.12-r2 to mainly address
CVE-2021-3517, CVE-2021-3518, CVE-2021-3541.
This commit is contained in:
Dongsu Park 2021-05-27 16:37:44 +02:00
parent 30ac617523
commit d9392df584
4 changed files with 390 additions and 80 deletions

View File

@ -1,5 +1,9 @@
DIST libxml2-2.9.10-r1-patchset.tar.xz 72088 BLAKE2B 4d5f8aed35d6c0232089e09f22a77cbd25cbd2007c1330538e1c7acc4398ec3ef9023289129677cf5499dbacde4c2f28850ae81acab351d02625d3452aedaede SHA512 a63032d1e85128f637c2b54356aab06a17e31eb1f5facd8fdf88463eb21df6a1d9fd8cc751fa94b8d322fa4f796be4e1d9aa071cbd0826ab31fae46525fde952
DIST libxml2-2.9.10.tar.gz 5624761 BLAKE2B a9958bd7db17fbfb8259b64d66548eb19d28f1aecf40cf66752fcec5720855d31cea9941d52963badd8c18ea1770485f1c11da6213149458336ce0273418f421 SHA512 0adfd12bfde89cbd6296ba6e66b6bed4edb814a74b4265bda34d95c41d9d92c696ee7adb0c737aaf9cc6e10426a31a35079b2a23d26c074e299858da12c072ed
DIST libxml2-2.9.12-r2-patchset.tar.bz2 5939 BLAKE2B e518a174385a121ca5545d0a51c2a2b4ddd21b1e7996e2806f368588b27d60e8318ab50ebfb90c3ee57ccece4f1c37e05c1daeed4203a4e9cb5a056ba530ad2b SHA512 06b96ab8426cd560c1147998965b5e718bee08536549a278269f6535ff1460ed97d83067ed0e8a4d834145a5e5a6caa912cf8aa5a33a360e4b1bc9d9135bfb04
DIST libxml2-2.9.12.tar.gz 5681632 BLAKE2B ab93633140e9fd119d3a48ed829a91213c3d7956a00d181203f5188fb0ed0d3a7150d3128fe986b13efadf6fe484393262a3de575527f38f74aa6c0067a6d934 SHA512 df1c6486e80f0fcf3c506f3599bcfb94b620c00d0b5d26831bc983daa78d58ec58b5057b1ec7c1a26c694f40199c6234ee2a6dcabf65abfa10c447cb5705abbd
DIST libxml2-2.9.12.tar.gz.asc 488 BLAKE2B 48ec86ec373d94de73bdb52141fc77fccd0ca296a35ed97aa3479ecdcf82b15422dd7d751359b5b1ca477e24b8eee9226784cfbfd861236e10eed2519e7959bf SHA512 69ca6ab7170cad467724e19eff99a3544966a26069e78a7b7cc27ae93a9077b11cc8dad2536bd0b27c3b45f4ea7520c813fe5a018cd65f103059f7f75147a656
DIST xmlts20080827.tar.gz 638940 BLAKE2B c5aab959c6e0698acd5b9be82b48a8ac26f4d01cc03f9acfff20d344f97f4711fc6d4a524ae70457147e8e30c72e27b6726829e1dd21896286aa974ed60774e7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d
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

View File

@ -0,0 +1,33 @@
https://gitlab.gnome.org/GNOME/libxml2/-/issues/252
From 5d6403682a3463f29a1f7c27aa54ecb5e3971547 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Thu, 13 May 2021 17:40:22 +0000
Subject: [PATCH] Disable fuzz tests
Not all of the fuzz files are included with the dist tarball,
so disabling them for now to get the release in with most tests
given the security bug.
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,9 +2,9 @@
ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = include . doc example fuzz xstc $(PYTHON_SUBDIR)
+SUBDIRS = include . doc example xstc $(PYTHON_SUBDIR)
-DIST_SUBDIRS = include . doc example fuzz python xstc
+DIST_SUBDIRS = include . doc example python xstc
AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
@@ -210,7 +210,6 @@ runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
$(CHECKER) ./runxmlconf$(EXEEXT)
@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
$(MAKE) tests ; fi)
- @cd fuzz; $(MAKE) tests
check: all runtests
--

View File

@ -0,0 +1,249 @@
# Copyright 1999-2021 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-r2-patchset"
PYTHON_COMPAT=( python3_7 )
PYTHON_REQ_USE="xml"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielveillard.asc
inherit autotools flag-o-matic prefix python-r1 multilib-minimal verify-sig
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"
SRC_URI="
ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
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}
)
verify-sig? ( ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz.asc )
"
S="${WORKDIR}/${PN}-${PV%_rc*}"
LICENSE="MIT"
SLOT="2"
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="debug examples icu ipv6 lzma +python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
BDEPEND="
dev-util/gtk-doc-am
virtual/pkgconfig
verify-sig? ( app-crypt/openpgp-keys-danielveillard )
"
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=( AUTHORS ChangeLog NEWS README TODO TODO_SCHEMAS )
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
# Avoid failure on missing fuzz.h when running tests
"${WORKDIR}"/${PN}-2.9.11-disable-fuzz-tests.patch
## Upstream
# Fix lxml compatibility
"${WORKDIR}"/${PN}-2.9.12-fix-lxml-compatibility.patch
)
src_unpack() {
local tarname=${P/_rc/-rc}.tar.gz
if use verify-sig ; then
verify-sig_verify_detached "${DISTDIR}"/${tarname}{,.asc}
fi
# ${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
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
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 \
--with-html-subdir=${PF}/html \
$(use_with debug run-debug) \
$(use_with icu) \
$(use_with lzma) \
$(use_enable ipv6) \
$(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
}

View File

@ -3,35 +3,44 @@
EAPI=7
# Note: Please bump in sync with dev-libs/libxslt
PYTHON_COMPAT=( python3_7 )
PYTHON_REQ_USE="xml"
inherit autotools flag-o-matic prefix python-r1 multilib-minimal
DESCRIPTION="XML C parser and toolkit"
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
LICENSE="MIT"
SLOT="2"
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="debug examples icu ipv6 lzma +python readline static-libs test"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RESTRICT="!test? ( test )"
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielveillard.asc
inherit autotools flag-o-matic prefix python-r1 multilib-minimal verify-sig
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="xmlts20080827.tar.gz"
SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-r1-patchset.tar.xz
XMLCONF_TARBALL="xmlts20130923.tar.gz"
DESCRIPTION="XML C parser and toolkit"
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
SRC_URI="
ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
test? (
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
)
verify-sig? ( ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz.asc )
"
S="${WORKDIR}/${PN}-${PV%_rc*}"
LICENSE="MIT"
SLOT="2"
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="debug examples icu ipv6 lzma +python readline static-libs test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
BDEPEND="
dev-util/gtk-doc-am
virtual/pkgconfig
verify-sig? ( app-crypt/openpgp-keys-danielveillard )
"
RDEPEND="
>=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
@ -40,25 +49,44 @@ RDEPEND="
readline? ( sys-libs/readline:= )
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gtk-doc-am
virtual/pkgconfig
"
S="${WORKDIR}/${PN}-${PV%_rc*}"
MULTILIB_CHOST_TOOLS=(
/usr/bin/xml2-config
)
DOCS=( AUTHORS ChangeLog NEWS README TODO TODO_SCHEMAS )
PATCHES=(
# Patches needed for prefix support
"${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
# Fix python detection, bug #567066
# https://bugzilla.gnome.org/show_bug.cgi?id=760458
"${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
# Fix python tests when building out of tree #565576
"${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
# bug #745162
"${FILESDIR}"/${PN}-2.9.8-python3-unicode-errors.patch
# Avoid failure on missing fuzz.h when running tests
"${FILESDIR}"/${PN}-2.9.11-disable-fuzz-tests.patch
)
src_unpack() {
# ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
local tarname=${P/_rc/-rc}.tar.gz
if use verify-sig ; then
verify-sig_verify_detached "${DISTDIR}"/${tarname}{,.asc}
fi
# ${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 ${P/_rc/-rc}.tar.gz
unpack ${P}-r1-patchset.tar.xz
unpack ${tarname}
cd "${S}" || die
if use test; then
if use test ; then
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
"${DISTDIR}/${XSTS_TARBALL_2}" \
"${S}"/xstc/ \
@ -70,28 +98,8 @@ src_unpack() {
src_prepare() {
default
DOCS=( AUTHORS ChangeLog NEWS README* TODO* )
# Selective cherry-picks from master up to 2019-02-28 (commit 8161b463f5)
eapply "${WORKDIR}"/patches
# Patches needed for prefix support
eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
eapply "${FILESDIR}"/${P}-remove-TRUE.patch
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
# Fix python detection, bug #567066
# https://bugzilla.gnome.org/show_bug.cgi?id=760458
eapply "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch
# Fix python tests when building out of tree #565576
eapply "${FILESDIR}"/${PN}-2.9.8-out-of-tree-test.patch
# bug #745162
eapply "${FILESDIR}"/${PN}-2.9.8-python3-unicode-errors.patch
if [[ ${CHOST} == *-darwin* ]] ; then
# Avoid final linking arguments for python modules
sed -i -e '/PYTHON_LIBS/s/ldflags/libs/' configure.ac || die
@ -103,23 +111,22 @@ src_prepare() {
# in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
# We now need to run eautoreconf at the end to prevent maintainer mode.
#elibtoolize
#epunt_cxx # if we don't eautoreconf
eautoreconf
}
multilib_src_configure() {
# filter seemingly problematic CFLAGS (#26320)
# Filter seemingly problematic CFLAGS (#26320)
filter-flags -fprefetch-loop-arrays -funroll-loops
# USE zlib support breaks gnome2
# (libgnomeprint for instance fails to compile with
# fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
# The meaning of the 'debug' USE flag does not apply to the --with-debug
# switch (enabling the libxml2 debug module). See bug #100898.
# --with-mem-debug causes unusual segmentation faults (bug #105120).
# 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 \
@ -135,53 +142,76 @@ multilib_src_configure() {
}
libxml2_py_configure() {
mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
# 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)"
# odd build system, also see bug #582130
}
libxml2_configure --without-python # build python bindings separately
# Build python bindings separately
libxml2_configure --without-python
if multilib_is_native_abi && use python; then
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
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
multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test
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
emake \
DESTDIR="${D}" \
EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
install
if multilib_is_native_abi && use python; then
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
if ! use examples ; then
rm -rf "${ED}"/usr/share/doc/${PF}/examples
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples
fi
@ -192,25 +222,19 @@ multilib_src_install_all() {
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
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
# Need an XML catalog, so no-one writes to a non-existent one
CATALOG="${EROOT}/etc/xml/catalog"
# we dont want to clobber an existing catalog though,
# We don't want to clobber an existing catalog though,
# only ensure that one is there
# <obz@gentoo.org>
if [[ ! -e ${CATALOG} ]]; then
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
}
libxml2_py_emake() {
pushd "${BUILD_DIR}/python" > /dev/null || die
emake "$@"
popd > /dev/null
}