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.2.26
- Loading branch information
Showing
2 changed files
with
216 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.2.tar.gz 5444991 SHA256 5178c30b151d044aefb1b08bf54c3003a0ac55c59c866763997529d60770d5bc SHA512 a4e3b20e2efceed39c20379b32b746d4a1cf65c0cf7719d26c9bf7483c1f04a4e5a442ae2f36dc4ae8a4d011b67cfb58d9f6d0be034fa3e897a49059c9289565 WHIRLPOOL d7a77cb6ad49533cf62f6a759668e297a60dd7f70c9e13b29f682c64dfb25ae46eb9db552500130f40e3f969897bda996001d18236a4630e3713f6dd5acbe686 | ||
DIST libxml2-2.9.3.tar.gz 5477112 SHA256 4de9e31f46b44d34871c22f54bfc54398ef124d6f7cafb1f4a5958fbcd3ba12d SHA512 078afa65229de4f23e6538767253fb4f9f61d96cb72e445179c71d536b224d54922f22972a2b71434796f83f8c99f6a46c3b8813cb4582ad9fca696d141e0abb WHIRLPOOL 34006c371ef85ce05a4f662bfda9f06e7d7fec737a02e023bc3153584d4dcff26be45673b7989091dadd10882765fa3a2abe67c5d1f5aa476d84b9bb57b83b73 | ||
DIST xmlts20080827.tar.gz 638940 SHA256 96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d WHIRLPOOL 50835380c3ea208df0bf9ce032ed2df69c4c6cb5a53ffdd39a08fb4f1d166f311b2ef2fe0d9911ae1ebff92aeb42f6ea55e727dfe0b7a3b95e6c7240315b3eda | ||
DIST xsts-2002-01-16.tar.gz 6894439 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 WHIRLPOOL 84dd51959460a4f8aa582d57ad39229c546ca7fe155012c57c368b59f5d31400d8b940a343a7320058330ca611303139cacdffed514783f96406ac5366026b11 | ||
DIST xsts-2004-01-14.tar.gz 2761085 SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe WHIRLPOOL c46a3bf7d6dd771757f4304995cc177cf51c6cdd0e9778851fc13d3809c7b984690b4f273b3e075abe018110968eb7fc78f5b83170d3e18bacf00a4ed64b213d |
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,215 @@ | ||
# Copyright 1999-2015 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=5 | ||
|
||
PYTHON_COMPAT=( python2_7 python3_{3,4,5} ) | ||
PYTHON_REQ_USE="xml" | ||
|
||
inherit libtool flag-o-matic eutils python-r1 autotools prefix multilib-minimal | ||
|
||
DESCRIPTION="Version 2 of the library to manipulate XML files" | ||
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 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" | ||
IUSE="debug examples icu ipv6 lzma python readline static-libs test" | ||
|
||
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="${EDEPEND} | ||
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}" | ||
|
||
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() { | ||
DOCS=( AUTHORS ChangeLog NEWS README* TODO* ) | ||
|
||
# Patches needed for prefix support | ||
epatch "${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 | ||
epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch | ||
|
||
# Disable programs that we don't actually install. | ||
# https://bugzilla.gnome.org/show_bug.cgi?id=760457 | ||
epatch "${FILESDIR}"/${PN}-2.9.2-disable-tests.patch | ||
|
||
# Fix zlib parameter handling for cross-compilation | ||
# https://bugzilla.gnome.org/show_bug.cgi?id=749416 | ||
epatch "${FILESDIR}"/${PN}-2.9.2-cross-compile.patch | ||
|
||
# Use pkgconfig to find icu to properly support multilib | ||
# https://bugzilla.gnome.org/show_bug.cgi?id=738751 | ||
epatch "${FILESDIR}"/${PN}-2.9.2-icu-pkgconfig.patch | ||
|
||
# Fix python detection, bug #567066 | ||
# https://bugzilla.gnome.org/show_bug.cgi?id=760458 | ||
epatch "${FILESDIR}"/${PN}-2.9.2-python-ABIFLAG.patch | ||
|
||
# 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 \ | ||
--docdir="${EPREFIX}/usr/share/doc/${PF}" \ | ||
$(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=${PYTHON}" # odd build system | ||
} | ||
|
||
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() { | ||
default | ||
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 | ||
} |