summaryrefslogtreecommitdiff
path: root/dev-lang/python-exec
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/python-exec')
-rw-r--r--dev-lang/python-exec/Manifest1
-rw-r--r--dev-lang/python-exec/metadata.xml23
-rw-r--r--dev-lang/python-exec/python-exec-2.4.10.ebuild83
3 files changed, 107 insertions, 0 deletions
diff --git a/dev-lang/python-exec/Manifest b/dev-lang/python-exec/Manifest
new file mode 100644
index 000000000000..a0da4c5e163e
--- /dev/null
+++ b/dev-lang/python-exec/Manifest
@@ -0,0 +1 @@
+DIST python-exec-2.4.10.tar.bz2 84412 BLAKE2B 1fe79e0d31a48954959a5556f96c3868fcf762ebc473d17f03e78a95cca83ab40b4933b7e42bc5751b0546e6229f9fdde9171c3fcbdd184f993536f944870491 SHA512 8c7d3c6b1fa362c8c97ec74ee01b5a195dc409d883408033e9709773b6059deb5291f6e63df6d9a4e42a0951aad4a1d513d4baa00ad9ff3dce3e1d2d38b694e1
diff --git a/dev-lang/python-exec/metadata.xml b/dev-lang/python-exec/metadata.xml
new file mode 100644
index 000000000000..4efeb49f656a
--- /dev/null
+++ b/dev-lang/python-exec/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <bugs-to>https://github.com/projg2/python-exec/issues/</bugs-to>
+ </upstream>
+ <use>
+ <flag name="native-symlinks">
+ Install generic symlinks like python and python3. If this flag
+ is disabled, only versioned python3.X executables will
+ be available to end users and ebuilds not using python eclasses.
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-lang/python-exec/python-exec-2.4.10.ebuild b/dev-lang/python-exec/python-exec-2.4.10.ebuild
new file mode 100644
index 000000000000..a9327f8a18a1
--- /dev/null
+++ b/dev-lang/python-exec/python-exec-2.4.10.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# This is just a stub for tooling, see the IUSE hack below. Don't panic
+# if the array here doesn't contain the latest impl. If you can't use a
+# new impl., it's likely because it's a stable-masked flag.
+PYTHON_COMPAT=( python3_{11..14} pypy3_11 )
+
+inherit python-any-r1
+
+DESCRIPTION="Python script wrapper"
+HOMEPAGE="https://github.com/projg2/python-exec/"
+SRC_URI="https://github.com/projg2/python-exec/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+# Internal Python project hack. Do not copy it. Ever.
+IUSE="${_PYTHON_ALL_IMPLS[@]/#/python_targets_} +native-symlinks test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-lang/python-exec-conf
+ !<=dev-lang/python-2.7.18-r3:2.7
+"
+BDEPEND="
+ test? (
+ $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
+ )
+"
+
+python_check_deps() {
+ python_has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ local pyimpls=() i EPYTHON
+ for i in "${_PYTHON_ALL_IMPLS[@]}"; do
+ if use "python_targets_${i}"; then
+ _python_export "${i}" EPYTHON
+ pyimpls+=( "${EPYTHON}" )
+ fi
+ done
+
+ local myconf=(
+ --with-fallback-path="${EPREFIX}/usr/local/sbin:${EPREFIX}/usr/local/bin:${EPREFIX}/usr/sbin:${EPREFIX}/usr/bin:${EPREFIX}/sbin:${EPREFIX}/bin"
+ --with-python-impls="${pyimpls[*]}"
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ default
+}
+
+src_install() {
+ default
+
+ if use native-symlinks; then
+ local programs=( python python3 )
+ local scripts=( python-config python3-config 2to3 idle pydoc pyvenv )
+
+ local f
+ for f in "${programs[@]}"; do
+ # symlink the C wrapper for python to avoid shebang recursion
+ # bug #568974
+ dosym python-exec2c /usr/bin/"${f}"
+ done
+ for f in "${scripts[@]}"; do
+ # those are python scripts (except for new python-configs)
+ # so symlink them via the python wrapper
+ dosym ../lib/python-exec/python-exec2 /usr/bin/"${f}"
+ done
+ fi
+}