public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/python-exec/
Date: Sun, 21 Feb 2016 09:23:17 +0000 (UTC)	[thread overview]
Message-ID: <1456046563.8e32f828d062fb184b47779c70082bcdaf98f1f0.mgorny@gentoo> (raw)

commit:     8e32f828d062fb184b47779c70082bcdaf98f1f0
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 21 09:12:07 2016 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 21 09:22:43 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8e32f828

dev-lang/python-exec: Bump to 2.4.1 with symlink resolution fix

Add a new 2.4.1 version that does symlink resolution correctly when
starting python-exec2c links via PATH, e.g. when wrapping Python itself.

 dev-lang/python-exec/Manifest                 |   1 +
 dev-lang/python-exec/python-exec-2.4.1.ebuild | 113 ++++++++++++++++++++++++++
 2 files changed, 114 insertions(+)

diff --git a/dev-lang/python-exec/Manifest b/dev-lang/python-exec/Manifest
index 949521a..496354a 100644
--- a/dev-lang/python-exec/Manifest
+++ b/dev-lang/python-exec/Manifest
@@ -5,3 +5,4 @@ DIST python-exec-2.2.1.tar.bz2 82990 SHA256 c0fcb0c9593b26cf56cdf39ff265586a2203
 DIST python-exec-2.2.tar.bz2 82269 SHA256 041dccf96c31bfac5eee9c43bdf511821449313a5b7d0bd745bed09151e1bffe SHA512 9492d94e7134b555a2f3b81cbd4e159074fed21b1471090547618da34dab70264a3fa40c8b7f79c42b61938655006dd5659e26389649a2401c26b4e0c90c9ac1 WHIRLPOOL 0b13d73c2e3c9606589201af34504c317965c29bb5cfe211479d893c606ca05dff62755fcba5f76d0a653a2719f36119e6f3db050ffa9f9bb01ef2ff7b68cb4d
 DIST python-exec-2.3.2.tar.bz2 84786 SHA256 c575247d6152c4f524c716a7fed879ffeb9ca7d65fac591b05cf0d726bf9cd1f SHA512 7beb938e338eb9abc711f6ba844f57647b679fe3e2b2d984897de142b81506bf5614565c30c119905bbb6949c5717d8ba23d5c9fd0208d554cd62fb5bb0ca30e WHIRLPOOL 47a4e5d76c1f40184b54e1cb8535ddbbf0a0f3042f59190730e6270acbc1ff8ba303c88cee818e88108d64cf25c6f13d869cf5aba74f51f11bf408723b8af274
 DIST python-exec-2.3.tar.bz2 84201 SHA256 04f7c92727f666e4f950157a39ed6ac0a48d1a746736cc515a97195a30a3f9fe SHA512 fc6b8702a7009873b42dcde4b1771913f43ab45d92c62b9856a903b48dbe32c4ab588abe239e4512d9e2026a24aff26ec572f5cd98613e6a0160dcbd642e0849 WHIRLPOOL 3c5c238dbbf174dbbede06109bfc32e9675f53ded011dffdc0ce9327adff778bec6d89aba18ea531548d3e1ed17808f1a29cc1085f620baada74d71695f56b41
+DIST python-exec-2.4.1.tar.bz2 86788 SHA256 10dce457d3fc23e39b4b2034ad537ef185aea8e4c271d3034097ee55e888ba35 SHA512 edf590b4380a498cbae5b5e31ec7127eed8172c03ac0aa6c4f376073b271951aeb7db27ebf93385522e688264abe7db456011913bfb8a0b3f18c72406c7abe77 WHIRLPOOL a47e1a3f6720f48bbabbc0f7bb2b124cd4aaf6ba98e652524c687cc08cc44355687eb280f2611505d4ab654e1b4032bd49b48ad7930b4d072c7ade189b11493a

diff --git a/dev-lang/python-exec/python-exec-2.4.1.ebuild b/dev-lang/python-exec/python-exec-2.4.1.ebuild
new file mode 100644
index 0000000..121f31e
--- /dev/null
+++ b/dev-lang/python-exec/python-exec-2.4.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# Kids, don't do this at home!
+inherit python-utils-r1
+PYTHON_COMPAT=( "${_PYTHON_ALL_IMPLS[@]}" )
+
+# Inherited purely to have PYTHON_TARGET flags which will satisfy USE
+# dependencies and trigger necessary rebuilds.
+inherit python-r1
+
+DESCRIPTION="Python script wrapper"
+HOMEPAGE="https://bitbucket.org/mgorny/python-exec/"
+SRC_URI="https://www.bitbucket.org/mgorny/${PN}/downloads/${P}.tar.bz2"
+
+LICENSE="BSD-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+# eselect-python because of /usr/bin/python* collisions and new config
+# python versions because of missing $scriptdir/python* symlinks
+RDEPEND="
+	!<app-eselect/eselect-python-20160206
+	!<dev-lang/python-2.7.10-r4:2.7
+	!<dev-lang/python-3.3.5-r4:3.3
+	!<dev-lang/python-3.4.3-r4:3.4
+	!<dev-lang/python-3.5.0-r3:3.5"
+
+src_configure() {
+	local pyimpls=() i EPYTHON
+	for i in "${PYTHON_COMPAT[@]}"; do
+		python_export "${i}" EPYTHON
+		pyimpls+=( "${EPYTHON}" )
+	done
+
+	local myconf=(
+		--with-python-impls="${pyimpls[*]}"
+	)
+
+	econf "${myconf[@]}"
+}
+
+src_install() {
+	default
+
+	# Prepare and own the template
+	sed -n -e '/^#/p' config/python-exec.conf.example \
+		> "${T}"/python-exec.conf || die
+	insinto /etc/python-exec
+	doins "${T}"/python-exec.conf
+
+	local f
+	for f in python{,2,3}; do
+		# symlink the C wrapper for python to avoid shebang recursion
+		# bug #568974
+		dosym python-exec2c /usr/bin/"${f}"
+	done
+	for f in python{,2,3}-config 2to3 idle pydoc pyvenv; 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
+}
+
+pkg_preinst() {
+	if [[ -e ${EROOT}etc/python-exec/python-exec.conf ]]; then
+		# preserve current configuration
+		cp "${EROOT}"etc/python-exec/python-exec.conf \
+			"${ED}"etc/python-exec/python-exec.conf || die
+	else
+		# preserve previous Python version preference
+		local py old_pythons=()
+		local config_base=${EROOT}etc/env.d/python
+
+		# start with the 'global' preference (2 vs 3)
+		if [[ -f ${config_base}/config ]]; then
+			old_pythons+=( "$(<${config_base}/config)" )
+		fi
+
+		# then try specific py3 selection
+		for py in 3; do
+			local target=
+
+			if [[ -f ${config_base}/python${py} ]]; then
+				# try the newer config files
+				target=$(<${config_base}/python${py})
+			elif [[ -L ${EROOT}/usr/bin/python${py} ]]; then
+				# check the older symlink format
+				target=$(readlink "${EROOT}/usr/bin/python${py}")
+
+				# check if it's actually old eselect symlink
+				[[ ${target} == python?.? ]] || target=
+			fi
+
+			# add the extra target if found and != global
+			if [[ ${target} && ${old_pythons[0]} != ${target} ]]; then
+				old_pythons+=( "${target}" )
+			fi
+		done
+
+		if [[ ${old_pythons[@]} ]]; then
+			einfo "Keeping the following Python preference: ${old_pythons[*]}"
+
+			local IFS=$'\n'
+			echo "${old_pythons[*]}" \
+				>> "${ED}"etc/python-exec/python-exec.conf || die
+		fi
+	fi
+}


             reply	other threads:[~2016-02-21  9:23 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-21  9:23 Michał Górny [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-09 15:55 [gentoo-commits] repo/gentoo:master commit in: dev-lang/python-exec/ Michał Górny
2024-10-30 12:09 Sam James
2024-04-14 14:58 Michał Górny
2024-04-14 14:58 Michał Górny
2022-12-18 19:26 Michał Górny
2022-12-18 19:04 Arthur Zamarin
2022-12-18 19:04 Arthur Zamarin
2022-12-18 19:04 Arthur Zamarin
2022-12-18 19:04 Arthur Zamarin
2022-12-18 19:04 Arthur Zamarin
2022-12-18 19:03 Arthur Zamarin
2022-12-18 15:10 Michał Górny
2022-06-10  6:54 Michał Górny
2022-06-10  5:29 Jakov Smolić
2022-06-10  0:38 Sam James
2022-06-10  0:38 Sam James
2022-06-09  1:25 Sam James
2022-06-08 20:59 Sam James
2022-06-08 20:59 Sam James
2022-06-08 14:43 Michał Górny
2022-06-08 12:22 Jakov Smolić
2022-06-08 12:22 Jakov Smolić
2022-05-09 20:33 Michał Górny
2022-05-09  9:17 Michał Górny
2021-09-07  7:47 Michał Górny
2021-09-07  4:57 Sam James
2021-09-07  2:43 Sam James
2021-08-01  5:19 Sam James
2021-08-01  5:19 Sam James
2021-08-01  5:14 Sam James
2021-07-31 22:23 Sam James
2021-06-10 16:54 Michał Górny
2021-06-07 20:55 Michał Górny
2021-03-08 14:44 Michał Górny
2021-03-08 13:09 Sam James
2021-03-08 13:09 Sam James
2021-03-06 15:14 Sergei Trofimovich
2021-02-19  1:51 Thomas Deutschmann
2021-02-18 20:11 Sergei Trofimovich
2021-02-10  3:46 Sam James
2021-02-09 23:58 Sam James
2021-02-06  0:02 Sam James
2021-02-05  6:36 Sam James
2021-01-19 13:35 Michał Górny
2020-12-27 14:08 Fabian Groffen
2020-12-11 21:56 Mike Gilbert
2020-12-09 22:17 Michał Górny
2020-12-09 22:17 Michał Górny
2020-10-10 17:48 Michał Górny
2020-10-10 17:03 Sam James
2020-10-08 12:42 Sam James
2020-10-08 12:42 Sam James
2020-10-08 12:42 Sam James
2020-10-08 12:42 Sam James
2020-10-06 15:41 Sam James
2020-10-06 15:06 Sam James
2020-10-01 14:04 Michał Górny
2020-10-01 14:04 Michał Górny
2020-10-01 14:04 Michał Górny
2020-01-03 20:40 Michał Górny
2019-09-09 18:48 Michał Górny
2019-09-09 18:48 Michał Górny
2019-09-01 18:16 Mikle Kolyada
2019-09-01 18:16 Mikle Kolyada
2019-08-30 17:50 Michał Górny
2019-08-30 16:47 Steve Arnold
2019-08-23 16:33 Agostino Sarubbo
2019-08-23 10:00 Agostino Sarubbo
2019-08-18 21:51 Agostino Sarubbo
2019-08-17 20:41 Sergei Trofimovich
2019-08-17 20:33 Sergei Trofimovich
2019-08-17 20:22 Sergei Trofimovich
2019-08-17 20:17 Sergei Trofimovich
2019-08-17  0:39 Aaron Bauman
2019-08-16 22:38 Thomas Deutschmann
2019-08-15 18:51 Sergei Trofimovich
2019-08-11  6:40 Michał Górny
2019-08-04  8:28 Michał Górny
2019-05-03 23:34 Mikle Kolyada
2018-09-15 20:12 Michał Górny
2018-09-15 19:40 Mikle Kolyada
2018-09-14 12:17 Tobias Klausmann
2018-09-09  1:12 Thomas Deutschmann
2018-09-08 12:53 Mart Raudsepp
2018-09-07 23:03 Sergei Trofimovich
2018-09-07 22:57 Sergei Trofimovich
2018-09-07 22:54 Sergei Trofimovich
2018-09-07 22:43 Sergei Trofimovich
2018-09-07 19:04 Sergei Trofimovich
2018-09-07 13:47 Mikle Kolyada
2018-05-27  9:03 Michał Górny
2018-05-27  9:03 Michał Górny
2018-05-27  8:41 Michał Górny
2018-05-01 18:24 Mikle Kolyada
2018-04-18  8:04 Mart Raudsepp
2018-03-22 16:33 Mikle Kolyada
2018-01-17 18:01 Markus Meier
2017-12-15  9:36 Jason Zaman
2017-12-08 20:39 Thomas Deutschmann
2017-11-28 20:48 Sergei Trofimovich
2017-11-09 22:21 Sergei Trofimovich
2017-11-08 20:03 Sergei Trofimovich
2017-11-08 12:51 Tobias Klausmann
2017-11-04 13:04 Sergei Trofimovich
2017-04-21 14:12 Michał Górny
2017-02-17  6:01 Markus Meier
2017-01-26 17:54 Michał Górny
2017-01-26 17:54 Michał Górny
2017-01-26 17:08 Jeroen Roovers
2017-01-23 18:27 Tobias Klausmann
2017-01-17 20:38 Mike Frysinger
2017-01-11  3:03 Aaron Bauman
2016-11-16 15:50 Michał Górny
2016-10-01 13:40 Jeroen Roovers
2016-05-23 13:32 Tobias Klausmann
2016-05-14 12:00 Michał Górny
2016-03-19 11:35 Agostino Sarubbo
2016-03-13 12:30 Markus Meier
2016-03-07 19:00 Michał Górny
2016-02-25 20:29 Michał Górny
2016-02-25 20:29 Michał Górny
2016-02-23 22:20 Michał Górny
2016-02-20 21:37 Michał Górny
2016-02-20 20:53 Michał Górny
2016-02-18 21:44 Michał Górny
2016-02-17 14:44 Fabian Groffen
2016-02-16 22:57 Michał Górny
2016-02-16 22:57 Michał Górny
2016-02-16 22:57 Michał Górny
2016-02-09 17:13 Michał Górny
2016-02-08 17:57 Michał Górny
2016-02-07 18:51 Michał Górny
2016-02-07  8:45 Michał Górny
2016-02-07  8:45 Michał Górny
2016-02-06  9:58 Michał Górny
2016-02-06  9:58 Michał Górny
2016-02-06  9:58 Michał Górny
2016-02-06  9:58 Michał Górny
2016-01-31 16:52 Michał Górny
2016-01-11 16:00 Michał Górny
2015-11-17 20:39 Michał Górny

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=1456046563.8e32f828d062fb184b47779c70082bcdaf98f1f0.mgorny@gentoo \
    --to=mgorny@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