|
|
|
# Copyright 1999-2024 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_{10..12} )
|
|
|
|
inherit flag-o-matic python-r1 multilib-minimal
|
|
|
|
|
|
|
|
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"
|
|
|
|
inherit autotools git-r3
|
|
|
|
else
|
|
|
|
inherit libtool gnome.org
|
|
|
|
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
|
|
|
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
|
|
|
|
)
|
|
|
|
|
|
|
|
src_prepare() {
|
|
|
|
default
|
|
|
|
|
|
|
|
if [[ ${PV} == 9999 ]] ; then
|
|
|
|
eautoreconf
|
|
|
|
else
|
|
|
|
# Prefix always needs elibtoolize if not eautoreconf'd.
|
|
|
|
elibtoolize
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_configure() {
|
|
|
|
# Remove this after upstream merge request to add AC_SYS_LARGEFILE lands:
|
|
|
|
# https://gitlab.gnome.org/GNOME/libxslt/-/merge_requests/55
|
|
|
|
append-lfs-flags
|
|
|
|
|
|
|
|
libxslt_configure() {
|
|
|
|
ECONF_SOURCE="${S}" econf \
|
|
|
|
--without-python \
|
|
|
|
$(use_with crypt crypto) \
|
|
|
|
$(use_with 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 check
|
|
|
|
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
|
|
|
|
|
|
|
|
# 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
|
|
|
|
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
|
|
|
|
}
|