public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Ronny Gutbrod" <gentoo@tastytea.de>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-util/blueprint-compiler/
Date: Sat, 17 Sep 2022 11:49:53 +0000 (UTC)	[thread overview]
Message-ID: <1663346443.ff87825370e57408d6f5aeee8c2021e99d636a61.tastytea@gentoo> (raw)

commit:     ff87825370e57408d6f5aeee8c2021e99d636a61
Author:     Yuan Liao <liaoyuan <AT> gmail <DOT> com>
AuthorDate: Fri Sep 16 16:40:43 2022 +0000
Commit:     Ronny Gutbrod <gentoo <AT> tastytea <DOT> de>
CommitDate: Fri Sep 16 16:40:43 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ff878253

dev-util/blueprint-compiler: Sync live ebuild for Py module path change

This is the third time the upstream changes where the package's Python
module is installed, yet it is merely a backtrack to pre-v0.2.0
behavior...

Nevertheless, the good news is that this package can be installed as a
multi-impl Python package (again).

Signed-off-by: Yuan Liao <liaoyuan <AT> gmail.com>

 .../blueprint-compiler-9999.ebuild                 | 51 +++++++++++++++++-----
 1 file changed, 41 insertions(+), 10 deletions(-)

diff --git a/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild b/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild
index b55e91db8..65b53ce6a 100644
--- a/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild
+++ b/dev-util/blueprint-compiler/blueprint-compiler-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 PYTHON_COMPAT=( python3_{9..11} )
 
-inherit meson python-single-r1
+inherit meson python-r1
 
 if [[ ${PV} == *9999 ]]; then
 	inherit git-r3
@@ -29,10 +29,8 @@ RESTRICT="!test? ( test )"
 BDEPEND="
 	${PYTHON_DEPS}
 	doc? (
-		$(python_gen_cond_dep '
-			dev-python/sphinx[${PYTHON_USEDEP}]
-			dev-python/furo[${PYTHON_USEDEP}]
-		')
+		dev-python/sphinx[${PYTHON_USEDEP}]
+		dev-python/furo[${PYTHON_USEDEP}]
 	)
 "
 
@@ -50,12 +48,45 @@ src_configure() {
 	local emesonargs=(
 		$(meson_use doc docs)
 	)
-	meson_src_configure
+	python_foreach_impl meson_src_configure
+}
+
+src_compile() {
+	python_foreach_impl meson_src_compile
+}
+
+src_test() {
+	python_foreach_impl meson_src_test
 }
 
 src_install() {
-	use doc && HTML_DOCS=( "${BUILD_DIR}/docs"/* )
-	meson_src_install
-	python_optimize "${D}/usr/share/${PN}"
-	python_fix_shebang "${D}/usr/bin/${PN}"
+	my_src_install() {
+		local exe="${ED}/usr/bin/${PN}"
+
+		# Meson installs a Python script at ${ED}/usr/bin/${PN}; on
+		# Gentoo, the script should go into ${ED}/usr/lib/python-exec,
+		# and ${ED}/usr/bin/${PN} should be a symbolic link to
+		# ${ED}/usr/lib/python-exec/python-exec2.
+		#
+		# When multiple PYTHON_TARGETS are enabled, then after the
+		# package has been installed for one Python implementation,
+		# Meson will follow the ${ED}/usr/bin/${PN} symbolic link and
+		# install the script at ${ED}/usr/lib/python-exec/python-exec2
+		# for the remaining implementations, leading to file collision.
+		if [[ -L "${exe}" ]]; then
+			rm -v "${exe}" || die "Failed to remove symbolic link ${exe}"
+		fi
+
+		meson_src_install
+		python_doscript "${exe}"
+		python_optimize
+
+		# Install Sphinx-generated documentation only once
+		# since the documentation is supposed to be identical
+		# between different Python implementations
+		use doc && HTML_DOCS=( "${BUILD_DIR}/docs"/* )
+	}
+
+	python_foreach_impl my_src_install
+	einstalldocs
 }


             reply	other threads:[~2022-09-17 11:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-17 11:49 Ronny Gutbrod [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-03-14 16:35 [gentoo-commits] repo/proj/guru:master commit in: dev-util/blueprint-compiler/ Florian Schmaus
2023-01-26  8:58 Florian Schmaus
2023-01-26  8:58 Florian Schmaus
2022-12-06  6:09 Viorel Munteanu
2022-12-01  3:59 Haelwenn Monnier
2022-12-01  3:59 Haelwenn Monnier
2022-12-01  3:59 Haelwenn Monnier
2022-12-01  3:59 Haelwenn Monnier
2022-09-17 11:49 Ronny Gutbrod
2022-08-02 10:55 Haelwenn Monnier
2022-07-07  7:33 Haelwenn Monnier
2022-06-13 10:49 Andrew Ammerlaan
2022-06-13 10:49 Andrew Ammerlaan
2022-06-13 10:49 Andrew Ammerlaan
2022-03-25 11:24 Ronny Gutbrod
2022-02-23  0:33 Ronny Gutbrod
2022-02-20  8:46 Florian Schmaus

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=1663346443.ff87825370e57408d6f5aeee8c2021e99d636a61.tastytea@gentoo \
    --to=gentoo@tastytea.de \
    --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