public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Marek Szuba" <marecki@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/gramps/
Date: Mon, 10 Jul 2023 23:04:52 +0000 (UTC)	[thread overview]
Message-ID: <1689030258.968fd2401643524b824134ffefd440ec42e24606.marecki@gentoo> (raw)

commit:     968fd2401643524b824134ffefd440ec42e24606
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 10 22:10:54 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> 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 <marecki <AT> 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() {


             reply	other threads:[~2023-07-10 23:04 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-10 23:04 Marek Szuba [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-06  8:26 [gentoo-commits] repo/gentoo:master commit in: app-misc/gramps/ Sam James
2024-09-06 10:12 Petr Vaněk
2024-09-05 13:27 Petr Vaněk
2024-05-28 13:19 Sam James
2024-04-08 13:15 Marek Szuba
2023-10-24 23:16 Marek Szuba
2023-10-23 23:08 Sam James
2023-09-08  9:56 Marek Szuba
2023-09-07  8:38 Marek Szuba
2023-09-07  8:38 Marek Szuba
2023-08-22 21:35 Marek Szuba
2023-08-22 11:16 Sam James
2023-07-08 23:39 Marek Szuba
2023-05-01 13:43 Sam James
2023-02-27  0:23 Marek Szuba
2022-05-18 23:18 Marek Szuba
2022-04-11 11:16 Marek Szuba
2022-04-11  6:50 Agostino Sarubbo
2022-04-10  9:05 Agostino Sarubbo
2022-02-07 19:39 Marek Szuba
2021-09-13 17:11 Marek Szuba
2021-09-11  6:42 Agostino Sarubbo
2021-09-11  6:02 Sam James
2021-07-28 18:41 Marek Szuba
2021-05-15 14:22 Marek Szuba
2021-04-29  1:52 Sam James
2021-02-15 12:39 Marek Szuba
2020-11-13 14:30 Sam James
2020-08-24 17:19 Marek Szuba
2020-07-29 11:33 Marek Szuba
2020-07-14 20:56 Marek Szuba
2020-04-22 23:48 Marek Szuba
2020-04-21 22:21 Marek Szuba
2020-04-21 12:31 Marek Szuba
2020-03-04 10:00 Marek Szuba
2020-02-12 18:22 Agostino Sarubbo
2020-02-12 14:20 Agostino Sarubbo
2020-01-13 14:49 Marek Szuba
2020-01-13 14:49 Marek Szuba
2020-01-13 14:49 Marek Szuba
2019-10-29 15:54 Marek Szuba
2019-08-09 15:11 Marek Szuba
2019-07-18  7:26 Agostino Sarubbo
2019-07-15 14:17 Agostino Sarubbo
2019-07-15 11:46 Marek Szuba
2019-01-09 14:38 Marek Szuba
2018-10-11 14:37 Marek Szuba
2018-10-11 14:37 Marek Szuba
2018-07-01  9:45 Mikle Kolyada
2018-06-30 10:04 Pacho Ramos
2018-06-27 17:20 Pacho Ramos
2018-03-24 19:58 Michał Górny
2018-03-24 19:58 Michał Górny
2018-03-24 19:58 Michał Górny
2018-03-24 19:58 Michał Górny
2017-06-04 10:42 Agostino Sarubbo
2017-06-02 20:02 Agostino Sarubbo
2017-04-28  4:03 Michael Orlitzky
2017-04-28  4:03 Michael Orlitzky
2017-01-15 19:54 Göktürk Yüksek
2016-12-29 11:41 Agostino Sarubbo
2016-12-29 11:36 Agostino Sarubbo
2016-11-16  9:33 Marek Szuba
2016-11-13 15:02 Marek Szuba
2016-10-20 23:55 David Seifert
2016-09-23  7:37 Marek Szuba
2016-09-23  6:57 Marek Szuba
2016-07-07 19:48 Austin English
2016-05-28  9:32 Pacho Ramos

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1689030258.968fd2401643524b824134ffefd440ec42e24606.marecki@gentoo \
    --to=marecki@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox