summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2017-10-28 22:30:51 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2017-10-28 22:31:09 +0200
commit22feb6cfb4d502a668287e6cada18bf52d418776 (patch)
tree8e12af679466c742994a726957667f9eb72ff53b /dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
parentnet-misc/wget: stable 1.19.1-r2 for sparc, bug #635496 (thanks to Rolf Eike B... (diff)
downloadgentoo-22feb6cfb4d502a668287e6cada18bf52d418776.tar.gz
gentoo-22feb6cfb4d502a668287e6cada18bf52d418776.tar.bz2
gentoo-22feb6cfb4d502a668287e6cada18bf52d418776.zip
dev-libs/libxslt: Fix glibc-2.26 compatibility. Patch by Quentin Minster.
This patch is much less intrusive than the upstream solution, so using it for now. Revision bump since the current version unconditionally includes in public headers xlocale.h ... Closes: https://bugs.gentoo.org/632214 Package-Manager: Portage-2.3.13, Repoman-2.3.4
Diffstat (limited to 'dev-libs/libxslt/libxslt-1.1.30-r2.ebuild')
-rw-r--r--dev-libs/libxslt/libxslt-1.1.30-r2.ebuild136
1 files changed, 136 insertions, 0 deletions
diff --git a/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild b/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
new file mode 100644
index 000000000000..8e852aaf2c52
--- /dev/null
+++ b/dev-libs/libxslt/libxslt-1.1.30-r2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="xml"
+
+inherit autotools ltprune python-r1 toolchain-funcs multilib-minimal
+
+DESCRIPTION="XSLT libraries and tools"
+HOMEPAGE="http://www.xmlsoft.org/"
+SRC_URI="ftp://xmlsoft.org/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+
+IUSE="crypt debug examples python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/libxml2-2.9.1-r5:2[${MULTILIB_USEDEP}]
+ crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
+ python? (
+ ${PYTHON_DEPS}
+ dev-libs/libxml2:2[python,${PYTHON_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 )
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=684621
+ eapply "${FILESDIR}"/${PN}.m4-${PN}-1.1.26.patch
+
+ # Simplify python setup
+ # https://bugzilla.gnome.org/show_bug.cgi?id=758095
+ eapply "${FILESDIR}"/${PN}-1.1.30-simplify-python.patch
+ eapply "${FILESDIR}"/${PN}-1.1.28-disable-static-modules.patch
+
+ # Fix xslt-config
+ # https://bugs.gentoo.org/630784
+ eapply "${FILESDIR}"/1.1.30-unbreak-xslt-config.patch
+
+ # Fix build and headers with glibc-2.26, bug 632214
+ eapply "${FILESDIR}"/${PN}-1.1.30-glibc226.patch
+
+ mv configure.{in,ac} || die
+
+ eautoreconf
+ # If eautoreconf'd with new autoconf, then epunt_cxx is not necessary
+ # and it is propably otherwise too if upstream generated with new
+ # autoconf
+# epunt_cxx
+ # But Prefix always needs elibtoolize if not eautoreconf'd.
+# elibtoolize
+}
+
+multilib_src_configure() {
+ libxslt_configure() {
+ ECONF_SOURCE="${S}" econf \
+ --with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
+ --with-html-subdir=html \
+ $(use_with crypt crypto) \
+ $(use_with debug) \
+ $(use_with debug mem-debug) \
+ $(use_enable static-libs static) \
+ "$@"
+ }
+
+ libxslt_py_configure() {
+ mkdir -p "${BUILD_DIR}" || die # ensure python build dirs exist
+ run_in_build_dir libxslt_configure --with-python
+ }
+
+ libxslt_configure --without-python # build python bindings separately
+
+ if multilib_is_native_abi && use python; then
+ python_foreach_impl libxslt_py_configure
+ fi
+}
+
+multilib_src_compile() {
+ default
+ multilib_is_native_abi && use python && libxslt_foreach_py_emake all
+}
+
+multilib_src_test() {
+ default
+ multilib_is_native_abi && use python && libxslt_foreach_py_emake test
+}
+
+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
+ libxslt_foreach_py_emake \
+ DESTDIR="${D}" \
+ docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+ EXAMPLE_DIR="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+ install
+ python_foreach_impl python_optimize
+ fi
+}
+
+multilib_src_install_all() {
+ 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
+}
+
+libxslt_foreach_py_emake() {
+ libxslt_py_emake() {
+ pushd "${BUILD_DIR}/python" > /dev/null || die
+ emake "$@"
+ popd > /dev/null
+ }
+ local native_builddir=${BUILD_DIR}
+ python_foreach_impl libxslt_py_emake top_builddir="${native_builddir}" "$@"
+}