forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.52, Repoman-2.3.12 Signed-off-by: Mart Raudsepp <[email protected]>
- Loading branch information
Showing
2 changed files
with
214 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST libxml2-2.9.8.tar.gz 5469097 BLAKE2B 0b7836db46edebf6e7108c28da4bb7e3fb5ddc695aaa3e456ba51a66c0294a741d7b60eb4c31c7040443bbd54712c019424078bd533856a9650b39a703a926d5 SHA512 28903282c7672206effa1362fd564cbe4cf5be44264b083a7d14e383f73bccd1b81bcafb5f4f2f56f5e7e05914c660e27668c9ce91b1b9f256ef5358d55ba917 | ||
DIST libxml2-2.9.9.tar.gz 5476717 BLAKE2B 00a67c38084f2effd5d68d7d3e68f0c96cf4f52eab6d8d9b96dc91f03a84baa132abeaf303a836ff9bbf04f832432a036077316c464398e433c9779d8519074b SHA512 cb7784ba4e72e942614e12e4f83f4ceb275f3d738b30e3b5c1f25edf8e9fa6789e854685974eed95b362049dbf6c8e7357e0327d64c681ed390534ac154e6810 | ||
DIST xmlts20080827.tar.gz 638940 BLAKE2B c5aab959c6e0698acd5b9be82b48a8ac26f4d01cc03f9acfff20d344f97f4711fc6d4a524ae70457147e8e30c72e27b6726829e1dd21896286aa974ed60774e7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d | ||
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 | ||
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,213 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} ) | ||
PYTHON_REQ_USE="xml" | ||
|
||
inherit libtool flag-o-matic ltprune python-r1 autotools prefix multilib-minimal | ||
|
||
DESCRIPTION="XML C parser and toolkit" | ||
HOMEPAGE="http://www.xmlsoft.org/" | ||
|
||
LICENSE="MIT" | ||
SLOT="2" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~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} )" | ||
|
||
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 | ||
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} )" | ||
|
||
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} | ||
dev-util/gtk-doc-am | ||
virtual/pkgconfig | ||
hppa? ( >=sys-devel/binutils-2.15.92.0.2 ) | ||
" | ||
|
||
S="${WORKDIR}/${PN}-${PV%_rc*}" | ||
|
||
MULTILIB_CHOST_TOOLS=( | ||
/usr/bin/xml2-config | ||
) | ||
|
||
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 ${P/_rc/-rc}.tar.gz | ||
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 | ||
|
||
DOCS=( AUTHORS ChangeLog NEWS README* TODO* ) | ||
|
||
# Patches needed for prefix support | ||
eapply "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch | ||
|
||
eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c | ||
|
||
# Fix build for Windows platform | ||
# https://bugzilla.gnome.org/show_bug.cgi?id=760456 | ||
# eapply "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch | ||
|
||
# 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 | ||
|
||
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 | ||
# epunt_cxx # if we don't eautoreconf | ||
|
||
eautoreconf | ||
} | ||
|
||
multilib_src_configure() { | ||
# 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) - <[email protected]> (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). | ||
|
||
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() { | ||
mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist | ||
run_in_build_dir libxml2_configure "--with-python=${ROOT%/}${PYTHON}" # odd build system, also see bug #582130 | ||
} | ||
|
||
libxml2_configure --without-python # build python bindings separately | ||
|
||
if multilib_is_native_abi && use python; then | ||
python_foreach_impl libxml2_py_configure | ||
fi | ||
} | ||
|
||
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() { | ||
emake check | ||
multilib_is_native_abi && use python && python_foreach_impl libxml2_py_emake test | ||
} | ||
|
||
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() { | ||
# on windows, xmllint is installed by interix libxml2 in parent prefix. | ||
# this is the version to use. the native winnt version does not support | ||
# symlinks, which makes repoman fail if the portage tree is linked in | ||
# from another location (which is my default). -- mduft | ||
if [[ ${CHOST} == *-winnt* ]]; then | ||
rm -rf "${ED}"/usr/bin/xmllint | ||
rm -rf "${ED}"/usr/bin/xmlcatalog | ||
fi | ||
|
||
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 | ||
|
||
prune_libtool_files --modules | ||
} | ||
|
||
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 [[ "${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 dont want to clobber an existing catalog though, | ||
# only ensure that one is there | ||
# <[email protected]> | ||
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 | ||
} |