Gentoo Archives: gentoo-user

From: julian <julian.ospald@××××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Python3 - how to disable for an individual package?
Date: Sat, 03 Nov 2012 12:56:08
Message-Id: 509513C4.8070009@googlemail.com
In Reply to: [gentoo-user] Python3 - how to disable for an individual package? by Helmut Jarausch
1 On 11/03/2012 09:29 AM, Helmut Jarausch wrote:
2 > Hi,
3 >
4 > since some Python packages are still broken w.r.t. Python3 and still
5 > more w.r.t. Python3.3, I'd like to disable
6 > installation of Python3 related files for same (but not all) packages.
7 >
8 > How can this be achieved?
9 >
10 > Many thanks for a hint,
11 > Helmut.
12 >
13
14 Could you give an example?
15
16 This is a bug. The package has to ensure not to compile for incompatible
17 implementations. We have eclasses for that.
18
19 As for python3.3 it may be likely that packages using the old
20 python/distutils eclasses haven't catched up yet. (please note that 3.3
21 is hardmasked for a reason)
22
23 There are two variables which control multiple abi support and can be
24 set in make.conf:
25 USE_PYTHON (for old python/distutils eclass, most packages still use it)
26 PYTHON_TARGETS (for new python-r1/distutils-r1 or the python-distutils-ng)
27
28 If USE_PYTHON is unset then default value includes ABI for active
29 version of Python 2 (if it is installed) and ABI for active version of
30 Python 3 (if it is installed). I haven't tried setting USE_PYTHON
31 per package, you could try setting it in
32 /etc/portage/env/<category>/<package>
33 you would set it like
34 USE_PYTHON="2.6 2.7 3.2"
35 But don't complain if this breaks something. The eclass is not designed
36 for such micro-management.
37
38 PYTHON_TARGETS is easier for this matter, cause it's a use-expand.
39 You would set it in make.conf like this
40 PYTHON_TARGETS="python2_7 python3_2"
41 or to enable all just PYTHON_TAGETS="*"
42 Setting it per package is perfectly valid and you can use package.use:
43 app-xxx/pornview -python_targets_python2_7 python_targets_python3_3
44 (this will only work if the ebuild uses the mentioned eclasses)
45
46 But again... it's an ebuild bug. File one.