From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 12A1D15811D for ; Mon, 10 Jul 2023 23:04:56 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 12292E0848; Mon, 10 Jul 2023 23:04:55 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (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 pigeon.gentoo.org (Postfix) with ESMTPS id F0160E0848 for ; Mon, 10 Jul 2023 23:04:54 +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)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 121F4340D3A for ; Mon, 10 Jul 2023 23:04:54 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id A20DCAD3 for ; Mon, 10 Jul 2023 23:04:52 +0000 (UTC) From: "Marek Szuba" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Marek Szuba" Message-ID: <1689030258.968fd2401643524b824134ffefd440ec42e24606.marecki@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/gramps/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-misc/gramps/gramps-5.1.6-r1.ebuild app-misc/gramps/gramps-5.1.6.ebuild X-VCS-Directories: app-misc/gramps/ X-VCS-Committer: marecki X-VCS-Committer-Name: Marek Szuba X-VCS-Revision: 968fd2401643524b824134ffefd440ec42e24606 X-VCS-Branch: master Date: Mon, 10 Jul 2023 23:04:52 +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: b4e18100-99e3-40c9-aef1-c03f844e98cb X-Archives-Hash: d2c64fd177b44d7ca0765d703f2fd249 commit: 968fd2401643524b824134ffefd440ec42e24606 Author: Marek Szuba gentoo org> AuthorDate: Mon Jul 10 22:10:54 2023 +0000 Commit: Marek Szuba gentoo org> CommitDate: Mon Jul 10 23:04:18 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=968fd240 app-misc/gramps: switch from distutils-r1 to python-single-r1 Gramps uses a heavily customised distutils-based setup.py which was already somewhat fragile while using the legacy distutils-r1 mode and which simply does not work correctly in PEP-517 mode. Just let python-single-r1 handle the plumbing and call setup.py directly as needed. Not only does this mean one package less in the tree to depend on the legacy distutils-r1 but in the end, not having to make the custom setup.py play nicely with that eclass actually makes the ebuilds a bit simpler. Closes: https://bugs.gentoo.org/909880 Signed-off-by: Marek Szuba gentoo.org> ...{gramps-5.1.6.ebuild => gramps-5.1.6-r1.ebuild} | 49 +++++++--------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/app-misc/gramps/gramps-5.1.6.ebuild b/app-misc/gramps/gramps-5.1.6-r1.ebuild similarity index 62% rename from app-misc/gramps/gramps-5.1.6.ebuild rename to app-misc/gramps/gramps-5.1.6-r1.ebuild index 35795730b469..01e06e6e7b85 100644 --- a/app-misc/gramps/gramps-5.1.6.ebuild +++ b/app-misc/gramps/gramps-5.1.6-r1.ebuild @@ -3,13 +3,10 @@ EAPI=8 -DISTUTILS_SINGLE_IMPL=1 -# Sadly, PEP-517 mode breaks both the test suite and the installation of some of the data files -DISTUTILS_USE_SETUPTOOLS=no PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="sqlite" -inherit distutils-r1 xdg-utils +inherit python-single-r1 xdg-utils DESCRIPTION="Community genealogy program aiming to be both intuitive and feature-complete" HOMEPAGE="https://gramps-project.org/" @@ -21,10 +18,12 @@ SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="exif geo postscript +rcs +reports spell test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + # Some of the tests fail unless the deprecated BerkeleyDB back-end is enabled. RESTRICT="test" -RDEPEND=" +RDEPEND="${PYTHON_DEPS} $(python_gen_cond_dep ' dev-python/pycairo[${PYTHON_USEDEP}] >=dev-python/pygobject-3.12:3[cairo,${PYTHON_USEDEP}] @@ -41,6 +40,7 @@ RDEPEND=" reports? ( media-gfx/graphviz[postscript?] ) " BDEPEND="test? ( + ${RDEPEND} $(python_gen_cond_dep ' dev-python/jsonschema[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] @@ -51,44 +51,27 @@ PATCHES=( "${FILESDIR}"/${PN}-5.1.3-test_locale.patch ) -distutils_enable_tests setup.py - -python_prepare_all() { +src_prepare() { # Install documentation to the proper location. This can't be done # easily with a patch because we substitute in the ${PF} variable, # and that changes with every revision. sed -i "s:share/doc/gramps:share/doc/${PF}:g" setup.py || die - distutils-r1_python_prepare_all -} -python_configure_all() { - DISTUTILS_ARGS=( - --resourcepath=/usr/share - --no-compress-manpages - ) + default } -python_test() { - # Gramps builds just fine out of tree but it confuses its test suite. - # The following at least lets the tests run properly in legacy mode. - rm -rf "${S}/build" && ln -s "${BUILD_DIR}" "${S}"/build || \ - die "Failed to symlink build directory to source directory" - - # Set a sane default locale for the tests which do not explicitly set one. - local -x LC_ALL=C.UTF-8 +src_compile() { + ${PYTHON} setup.py --verbose build || die +} - esetup.py test || die +src_test() { + LC_ALL=C.UTF-8 ${PYTHON} setup.py --verbose test || die } -# Ugly hack to work around Bug #717922 -python_install() { - local DISTUTILS_ARGS=( - --resourcepath=/usr/share - --no-compress-manpages - build - ) - distutils-r1_python_install - echo -n "${EPREFIX}/usr/share" > "${D}$(python_get_sitedir)/gramps/gen/utils/resource-path" || die +src_install() { + ${PYTHON} setup.py --verbose install --root="${ED}" --resourcepath=/usr/share --no-compress-manpages || die + einstalldocs + python_optimize } pkg_postinst() {