On 11/03/2012 09:29 AM, Helmut Jarausch wrote:
> Hi,
> 
> since some Python packages are still broken w.r.t. Python3 and still
> more w.r.t. Python3.3, I'd like to disable
> installation of Python3 related files for same (but not all) packages.
> 
> How can this be achieved?
> 
> Many thanks for a hint,
> Helmut.
> 

Could you give an example?

This is a bug. The package has to ensure not to compile for incompatible
implementations. We have eclasses for that.

As for python3.3 it may be likely that packages using the old
python/distutils eclasses haven't catched up yet. (please note that 3.3
is hardmasked for a reason)

There are two variables which control multiple abi support and can be
set in make.conf:
USE_PYTHON (for old python/distutils eclass, most packages still use it)
PYTHON_TARGETS (for new python-r1/distutils-r1 or the python-distutils-ng)

If USE_PYTHON is unset then default value includes ABI for active
version of Python 2 (if it is installed) and ABI for active version of
Python 3 (if it is installed). I haven't tried setting USE_PYTHON
per package, you could try setting it in
/etc/portage/env/<category>/<package>
you would set it like
USE_PYTHON="2.6 2.7 3.2"
But don't complain if this breaks something. The eclass is not designed
for such micro-management.

PYTHON_TARGETS is easier for this matter, cause it's a use-expand.
You would set it in make.conf like this
PYTHON_TARGETS="python2_7 python3_2"
or to enable all just PYTHON_TAGETS="*"
Setting it per package is perfectly valid and you can use package.use:
app-xxx/pornview -python_targets_python2_7 python_targets_python3_3
(this will only work if the ebuild uses the mentioned eclasses)

But again... it's an ebuild bug. File one.

Reply via email to