From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 06CB71584AD for ; Mon, 05 May 2025 08:00:21 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id DD6C5343174 for ; Mon, 05 May 2025 08:00:20 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 5FC7411036D; Mon, 05 May 2025 08:00:17 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 5488111036D for ; Mon, 05 May 2025 08:00:17 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 0BBDE343159 for ; Mon, 05 May 2025 08:00:17 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 7B875255C for ; Mon, 05 May 2025 08:00:15 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1746431712.85894c00327e260b153d3394f8c9b2c67ff1402f.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-libs/libxml2/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-libs/libxml2/libxml2-9999.ebuild X-VCS-Directories: dev-libs/libxml2/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 85894c00327e260b153d3394f8c9b2c67ff1402f X-VCS-Branch: master Date: Mon, 05 May 2025 08:00:15 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4259e4dc-444e-4bdb-892e-371fe97b870e X-Archives-Hash: 12dbd3297e99b4ac5ebac26b858bc927 commit: 85894c00327e260b153d3394f8c9b2c67ff1402f Author: Alfred Wingate protonmail com> AuthorDate: Sat May 3 10:38:25 2025 +0000 Commit: Sam James gentoo org> CommitDate: Mon May 5 07:55:12 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85894c00 dev-libs/libxml2: update live Signed-off-by: Alfred Wingate protonmail.com> Part-of: https://github.com/gentoo/gentoo/pull/41919 Signed-off-by: Sam James gentoo.org> dev-libs/libxml2/libxml2-9999.ebuild | 121 ++++++++++++++++------------------- 1 file changed, 56 insertions(+), 65 deletions(-) diff --git a/dev-libs/libxml2/libxml2-9999.ebuild b/dev-libs/libxml2/libxml2-9999.ebuild index 45b054cf8916..75a9858dc382 100644 --- a/dev-libs/libxml2/libxml2-9999.ebuild +++ b/dev-libs/libxml2/libxml2-9999.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Note: Please bump in sync with dev-libs/libxslt -PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_COMPAT=( python3_{11..13} ) PYTHON_REQ_USE="xml(+)" -inherit python-r1 multilib-minimal +inherit python-r1 meson-multilib XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite" XSTS_NAME_1="xmlschema2002-01-16" @@ -20,9 +20,9 @@ DESCRIPTION="XML C parser and toolkit" HOMEPAGE="https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home" if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2" - inherit autotools git-r3 + inherit git-r3 else - inherit gnome.org libtool + inherit gnome.org KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" fi @@ -36,8 +36,9 @@ SRC_URI+=" S="${WORKDIR}/${PN}-${PV%_rc*}" LICENSE="MIT" -SLOT="2" -IUSE="examples icu lzma +python readline static-libs test" +# see so_version = v_maj + v_min_compat for subslot +SLOT="2/16" +IUSE="icu +python readline static-libs test" RESTRICT="!test? ( test )" REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" @@ -45,17 +46,12 @@ RDEPEND=" virtual/libiconv >=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}" BDEPEND="virtual/pkgconfig" -if [[ ${PV} == 9999 ]] ; then - BDEPEND+=" dev-build/gtk-doc-am" -fi - MULTILIB_CHOST_TOOLS=( /usr/bin/xml2-config ) @@ -89,82 +85,77 @@ src_unpack() { src_prepare() { default - if [[ ${PV} == 9999 ]] ; then - eautoreconf - else - # Please do not remove, as else we get references to PORTAGE_TMPDIR - # in /usr/lib/python?.?/site-packages/libxml2mod.la among things. - elibtoolize - fi + sed -e "/^dir_doc/ s/meson.project_name()$/\'${PF}\'/" -i meson.build || die } -multilib_src_configure() { - libxml2_configure() { - ECONF_SOURCE="${S}" econf \ - $(use_with icu) \ - $(use_with lzma) \ - $(use_enable static-libs static) \ - $(multilib_native_use_with readline) \ - $(multilib_native_use_with readline history) \ - --with-legacy \ - "$@" - } - - # Build python bindings separately - libxml2_configure --without-python - - multilib_is_native_abi && use python && - python_foreach_impl run_in_build_dir libxml2_configure --with-python +python_configure() { + local emesonargs=( + $(meson_feature icu) + $(meson_native_use_feature readline) + $(meson_native_use_feature readline history) + -Dpython=enabled + ) + mkdir "${BUILD_DIR}" || die + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_configure + popd >/dev/null || die } -libxml2_py_emake() { - pushd "${BUILD_DIR}"/python >/dev/null || die +multilib_src_configure() { + local emesonargs=( + -Ddefault_library=$(multilib_native_usex static-libs both shared) + $(meson_feature icu) + $(meson_native_use_feature readline) + $(meson_native_use_feature readline history) + -Dpython=disabled + + # There has been a clean break with a soname bump. + # It's time to deal with the breakage. + # bug #935452 + -Dlegacy=disabled + ) + meson_src_configure - emake top_builddir="${NATIVE_BUILD_DIR}" "$@" + if multilib_is_native_abi && use python ; then + python_foreach_impl python_configure + fi +} +python_compile() { + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_compile popd >/dev/null || die } multilib_src_compile() { - default + meson_src_compile if multilib_is_native_abi && use python ; then - NATIVE_BUILD_DIR="${BUILD_DIR}" - python_foreach_impl run_in_build_dir libxml2_py_emake all + python_foreach_impl python_compile fi } multilib_src_test() { - ln -s "${S}"/xmlconf || die + meson_src_test - emake check - - multilib_is_native_abi && use python && - python_foreach_impl run_in_build_dir libxml2_py_emake check + if multilib_is_native_abi && use python ; then + python_foreach_impl meson_src_test + fi } -multilib_src_install() { - emake DESTDIR="${D}" install - - multilib_is_native_abi && use python && - python_foreach_impl run_in_build_dir libxml2_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 - multilib_is_native_abi && use python && python_foreach_impl python_optimize +python_install() { + pushd "${BUILD_DIR}" >/dev/null || die + meson_src_install + python_optimize + popd >/dev/null || die } -multilib_src_install_all() { - einstalldocs - - if ! use examples ; then - rm -rf "${ED}"/usr/share/doc/${PF}/examples || die - rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die +multilib_src_install() { + if multilib_is_native_abi && use python ; then + python_foreach_impl python_install fi - rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die - - find "${ED}" -name '*.la' -delete || die + meson_src_install } pkg_postinst() {