Gentoo Archives: gentoo-python

From: Mike Gilbert <floppym@g.o>
To: Brian Harring <ferringb@×××××.com>
Cc: Micha?? G??rny <mgorny@g.o>, gentoo-python@l.g.o, python@g.o
Subject: Re: [gentoo-python] python-r1 <-> python.eclass package dependencies
Date: Sun, 11 Nov 2012 18:35:29
Message-Id: CAJ0EP42Xcp15qDZtx9XAFTNv+a95J=-=GJEua+BQ0oq4HZ_Law@mail.gmail.com
In Reply to: Re: [gentoo-python] python-r1 <-> python.eclass package dependencies by Brian Harring
1 On Sun, Nov 11, 2012 at 2:52 AM, Brian Harring <ferringb@×××××.com> wrote:
2 > So... thus:
3 >
4 > 1) make python.eclass know of both forms of USE_PYTHON (with periods,
5 > without).
6 > 2) convert USE_PYTHON to a use expanded target
7 > 3) convert python.eclass to use it.
8 >
9 > I realize this deprecates/kills PYTHON_TARGETS; my intention here
10 > isn't to piss on the var you added, it's to choose the less disruptive
11 > option here- lesser of two evils. Starting from scratch,
12 > PYTHON_TARGETS would be fine- unfortunately we need to map existing
13 > users (and usage) from python.eclass into the replacement,
14 > constraining our choises a bit.
15 >
16 > Counter arguments? To be clear, this is the path I strongly suggest
17 > we take- if you can punch holes in the logic/arguments from above, I'd
18 > definitely back down, but the use of PYTHON_TARGETS here feels like
19 > we're setting ourselves up for unnecessary pain. Keep in mind not
20 > *all* of python.eclass notions/setup has to be chucked- we can
21 > translate certain parts of it across to ease developer/user pains.
22 >
23
24 Following up on this and the irc conversation I eavesdropped on earlier:
25
26 More recent versions of portage apparently filter USE_EXPAND
27 variables, so we can't utilize the old python abi values in USE_PYTHON
28 if we make that conversion.
29
30 Converting USE_PYTHON to a use-expand would entail the following in
31 python.eclass:
32
33 1. Convert between values like "2_7-pypy-1_9" and "2.7-pypy-1.9"
34 The underscore version would be used for USE and IUSE and in portage
35 config (make.conf, profiles?).
36 The dot version should be used by the eclass and ebuilds and in
37 on-disk file names for backward compatibility.
38
39 2. Calculate the python abis supported by the ebuild based on
40 _PYTHON_GLOBALLY_SUPPORTED_ABIS and RESTRICT_PYTHON_ABIS. Add these
41 abis to IUSE.
42 This would affect all ebuilds inheriting python.eclass with
43 SUPPORT_PYTHON_ABIS set.
44
45 This should not be difficult, but you never know with python.eclass.
46 Personally, I just assume that nobody actually wants to touch
47 python.eclass if it can be avoided.
48
49 Also, we have dug ourselves into a small hole with PYTHON_TARGETS;
50 there is actually a news item out there that explains its use
51 (committed about the same time Brian put on the breaks), so we are
52 going to cause confusion if it is changed back to USE_PYTHON. I
53 realize this is not a reason to charge blindly forward with
54 PYTHON_TARGETS, but it needs to be considered.
55
56 I think the only benefit to keeping the USE_PYTHON name is so that
57 existing users don't have to learn another variable name. They would
58 still need to tweak their config.

Replies

Subject Author
Re: [gentoo-python] python-r1 <-> python.eclass package dependencies Brian Harring <ferringb@×××××.com>