repo/gentoo:master commit in: dev-lang/python/

Michał Górny <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786946829.66e815007260c1edfa8baaf8426a9073e9a4c24f.mgorny@gentoo>
commit:     66e815007260c1edfa8baaf8426a9073e9a4c24f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 17 05:59:53 2026 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 17 06:07:09 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=66e81500

dev-lang/python: Install python-exec files in *3.15.0_rc1*

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ....0_rc1.ebuild => python-0.3.15.0_rc1-r1.ebuild} | 27 +++++++++++++++++++++-
 dev-lang/python/python-0.3.15.9999.ebuild          | 26 ++++++++++++++++++++-
 ...c1_p1.ebuild => python-3.15.0_rc1_p1-r1.ebuild} | 27 +++++++++++++++++++++-
 dev-lang/python/python-3.15.9999.ebuild            | 26 ++++++++++++++++++++-
 4 files changed, 102 insertions(+), 4 deletions(-)

diff --git a/dev-lang/python/python-0.3.15.0_rc1.ebuild b/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild
similarity index 94%
rename from dev-lang/python/python-0.3.15.0_rc1.ebuild
rename to dev-lang/python/python-0.3.15.0_rc1-r1.ebuild
index a11d35d4a3ee..b011e6ecc26e 100644
--- a/dev-lang/python/python-0.3.15.0_rc1.ebuild
+++ b/dev-lang/python/python-0.3.15.0_rc1-r1.ebuild
@@ -7,7 +7,8 @@ VERIFY_SIG_METHOD=sigstore
 WANT_LIBTOOL="none"
 
 inherit autotools check-reqs eapi9-ver flag-o-matic linux-info
-inherit multiprocessing pax-utils toolchain-funcs verify-sig
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
+inherit verify-sig
 
 REAL_PV=${PV#0.}
 MY_PV=${REAL_PV/_}
@@ -621,6 +622,30 @@ src_install() {
 		-e "s:@PYDOC@:pydoc${PYVER}:" \
 		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
 		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+	# python-exec wrapping support
+	local pymajor=${PYVER%.*}
+	local EPYTHON=python${PYVER}
+	local scriptdir=${D}$(python_get_scriptdir)
+	mkdir -p "${scriptdir}" || die
+	# python and pythonX
+	ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+	ln -s "python${pymajor}" "${scriptdir}/python" || die
+	# python-config and pythonX-config
+	# note: we need to create a wrapper rather than symlinking it due
+	# to some random dirname(argv[0]) magic performed by python-config
+	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+		#!/bin/sh
+		exec "${abiver}-config" "\${@}"
+	EOF
+	chmod +x "${scriptdir}/python${pymajor}-config" || die
+	ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+	# pydoc
+	ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+	# idle
+	if use tk; then
+		ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+	fi
 }
 
 pkg_postinst() {

diff --git a/dev-lang/python/python-0.3.15.9999.ebuild b/dev-lang/python/python-0.3.15.9999.ebuild
index 1517731db952..630b688ff063 100644
--- a/dev-lang/python/python-0.3.15.9999.ebuild
+++ b/dev-lang/python/python-0.3.15.9999.ebuild
@@ -6,7 +6,7 @@ EAPI="8"
 WANT_LIBTOOL="none"
 
 inherit autotools check-reqs eapi9-ver flag-o-matic git-r3 linux-info
-inherit multiprocessing pax-utils toolchain-funcs
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
 
 PYVER="$(ver_cut 2-3)t"
 PATCHSET="python-gentoo-patches-3.15.0b3"
@@ -607,6 +607,30 @@ src_install() {
 		-e "s:@PYDOC@:pydoc${PYVER}:" \
 		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
 		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+	# python-exec wrapping support
+	local pymajor=${PYVER%.*}
+	local EPYTHON=python${PYVER}
+	local scriptdir=${D}$(python_get_scriptdir)
+	mkdir -p "${scriptdir}" || die
+	# python and pythonX
+	ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+	ln -s "python${pymajor}" "${scriptdir}/python" || die
+	# python-config and pythonX-config
+	# note: we need to create a wrapper rather than symlinking it due
+	# to some random dirname(argv[0]) magic performed by python-config
+	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+		#!/bin/sh
+		exec "${abiver}-config" "\${@}"
+	EOF
+	chmod +x "${scriptdir}/python${pymajor}-config" || die
+	ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+	# pydoc
+	ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+	# idle
+	if use tk; then
+		ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+	fi
 }
 
 pkg_postinst() {

diff --git a/dev-lang/python/python-3.15.0_rc1_p1.ebuild b/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild
similarity index 94%
rename from dev-lang/python/python-3.15.0_rc1_p1.ebuild
rename to dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild
index 0dd323970244..32f16d24f06f 100644
--- a/dev-lang/python/python-3.15.0_rc1_p1.ebuild
+++ b/dev-lang/python/python-3.15.0_rc1_p1-r1.ebuild
@@ -9,7 +9,8 @@ VERIFY_SIG_METHOD=sigstore
 WANT_LIBTOOL="none"
 
 inherit autotools check-reqs eapi9-ver flag-o-matic linux-info llvm-r2
-inherit multiprocessing pax-utils toolchain-funcs verify-sig
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
+inherit verify-sig
 
 MY_PV=${PV/_}
 MY_P="Python-${MY_PV%_p*}"
@@ -626,6 +627,30 @@ src_install() {
 		-e "s:@PYDOC@:pydoc${PYVER}:" \
 		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
 		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+	# python-exec wrapping support
+	local pymajor=${PYVER%.*}
+	local EPYTHON=python${PYVER}
+	local scriptdir=${D}$(python_get_scriptdir)
+	mkdir -p "${scriptdir}" || die
+	# python and pythonX
+	ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+	ln -s "python${pymajor}" "${scriptdir}/python" || die
+	# python-config and pythonX-config
+	# note: we need to create a wrapper rather than symlinking it due
+	# to some random dirname(argv[0]) magic performed by python-config
+	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+		#!/bin/sh
+		exec "${abiver}-config" "\${@}"
+	EOF
+	chmod +x "${scriptdir}/python${pymajor}-config" || die
+	ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+	# pydoc
+	ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+	# idle
+	if use tk; then
+		ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+	fi
 }
 
 pkg_postinst() {

diff --git a/dev-lang/python/python-3.15.9999.ebuild b/dev-lang/python/python-3.15.9999.ebuild
index dcc4581f1d01..3ceef737324f 100644
--- a/dev-lang/python/python-3.15.9999.ebuild
+++ b/dev-lang/python/python-3.15.9999.ebuild
@@ -8,7 +8,7 @@ LLVM_OPTIONAL=1
 WANT_LIBTOOL="none"
 
 inherit autotools check-reqs eapi9-ver flag-o-matic git-r3 linux-info llvm-r2
-inherit multiprocessing pax-utils toolchain-funcs
+inherit multiprocessing pax-utils python-utils-r1 toolchain-funcs
 
 PYVER=$(ver_cut 1-2)
 PATCHSET="python-gentoo-patches-3.15.0b3"
@@ -613,6 +613,30 @@ src_install() {
 		-e "s:@PYDOC@:pydoc${PYVER}:" \
 		-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
 		"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
+
+	# python-exec wrapping support
+	local pymajor=${PYVER%.*}
+	local EPYTHON=python${PYVER}
+	local scriptdir=${D}$(python_get_scriptdir)
+	mkdir -p "${scriptdir}" || die
+	# python and pythonX
+	ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
+	ln -s "python${pymajor}" "${scriptdir}/python" || die
+	# python-config and pythonX-config
+	# note: we need to create a wrapper rather than symlinking it due
+	# to some random dirname(argv[0]) magic performed by python-config
+	cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
+		#!/bin/sh
+		exec "${abiver}-config" "\${@}"
+	EOF
+	chmod +x "${scriptdir}/python${pymajor}-config" || die
+	ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
+	# pydoc
+	ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
+	# idle
+	if use tk; then
+		ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
+	fi
 }
 
 pkg_postinst() {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.