You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
128 lines
3.1 KiB
128 lines
3.1 KiB
2 years ago
|
# Copyright 1999-2022 Gentoo Authors
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
EAPI=8
|
||
|
|
||
|
# Note: Please bump this in sync with dev-libs/libxml2.
|
||
|
|
||
|
PYTHON_COMPAT=( python3_{8..11} )
|
||
2 years ago
|
inherit flag-o-matic python-r1 multilib-minimal
|
||
2 years ago
|
|
||
|
DESCRIPTION="XSLT libraries and tools"
|
||
|
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
|
||
|
if [[ ${PV} == 9999 ]] ; then
|
||
|
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
|
||
2 years ago
|
inherit autotools git-r3
|
||
2 years ago
|
else
|
||
2 years ago
|
inherit libtool gnome.org
|
||
2 years ago
|
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"
|
||
2 years ago
|
fi
|
||
|
|
||
|
LICENSE="MIT"
|
||
|
SLOT="0"
|
||
|
IUSE="crypt debug examples python static-libs"
|
||
|
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||
|
|
||
|
BDEPEND=">=virtual/pkgconfig-1"
|
||
|
RDEPEND="
|
||
|
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||
|
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||
|
python? ( ${PYTHON_DEPS} )
|
||
|
"
|
||
|
DEPEND="${RDEPEND}"
|
||
|
|
||
|
MULTILIB_CHOST_TOOLS=(
|
||
|
/usr/bin/xslt-config
|
||
|
)
|
||
|
|
||
|
MULTILIB_WRAPPED_HEADERS=(
|
||
|
/usr/include/libxslt/xsltconfig.h
|
||
|
)
|
||
|
|
||
|
DOCS=( AUTHORS FEATURES NEWS README TODO )
|
||
|
|
||
|
src_prepare() {
|
||
|
default
|
||
|
|
||
|
if [[ ${PV} == 9999 ]] ; then
|
||
|
eautoreconf
|
||
|
else
|
||
|
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||
2 years ago
|
elibtoolize
|
||
2 years ago
|
fi
|
||
|
}
|
||
|
|
||
|
multilib_src_configure() {
|
||
2 years ago
|
# Remove this after upstream merge request to add AC_SYS_LARGEFILE lands:
|
||
|
# https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests/55
|
||
|
append-lfs-flags
|
||
|
|
||
2 years ago
|
libxslt_configure() {
|
||
|
ECONF_SOURCE="${S}" econf \
|
||
|
--without-python \
|
||
|
$(use_with crypt crypto) \
|
||
|
$(use_with debug) \
|
||
|
$(use_with debug mem-debug) \
|
||
|
$(use_enable static-libs static) \
|
||
|
"$@"
|
||
|
}
|
||
|
|
||
|
# Build Python bindings separately
|
||
|
libxslt_configure --without-python
|
||
|
|
||
|
if multilib_is_native_abi && use python ; then
|
||
|
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||
|
python_foreach_impl run_in_build_dir libxslt_configure --with-python
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
libxslt_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
|
||
|
python_foreach_impl run_in_build_dir libxslt_py_emake all
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
multilib_src_test() {
|
||
|
default
|
||
|
|
||
|
if multilib_is_native_abi && use python ; then
|
||
|
python_foreach_impl run_in_build_dir libxslt_py_emake test
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
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
|
||
|
python_foreach_impl run_in_build_dir libxslt_py_emake \
|
||
|
DESTDIR="${D}" \
|
||
|
install
|
||
2 years ago
|
|
||
|
# Hack until automake release is made for the optimise fix
|
||
|
# https://git.savannah.gnu.org/cgit/automake.git/commit/?id=bde43d0481ff540418271ac37012a574a4fcf097
|
||
|
python_foreach_impl python_optimize
|
||
2 years ago
|
fi
|
||
|
}
|
||
|
|
||
|
multilib_src_install_all() {
|
||
|
einstalldocs
|
||
|
|
||
|
if ! use examples ; then
|
||
|
rm -rf "${ED}"/usr/share/doc/${PF}/tutorial{,2} || die
|
||
|
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||
|
fi
|
||
|
|
||
|
find "${ED}" -type f -name "*.la" -delete || die
|
||
|
}
|