public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Alexandre Rostovtsev <tetromino@gentoo.org>
To: Gentoo Dev <gentoo-dev@lists.gentoo.org>
Subject: Re: [gentoo-dev] New eclass for Python
Date: Wed, 29 Feb 2012 16:57:21 -0500	[thread overview]
Message-ID: <1330552641.15103.93.camel@rook> (raw)
In-Reply-To: <4F4E8991.8040907@gentoo.org>

On Wed, 2012-02-29 at 21:24 +0100, Krzysztof Pawlik wrote:
> On 29/02/12 20:51, Alexandre Rostovtsev wrote:
> > The proposed eclass omits three features from python.eclass which are
> > heavily used in the gnome stack.
> 
> Correct me if I'm wrong, but Gnome doesn't use standard distutils?

Gnome is mostly written in C and therefore uses standard autotools :)

> > Second, there doesn't seem to be any support for packages that do not
> > install in python's site-packages and do not allow multiple python ABIs.
> > If I have, for example, a package that installs python modules
> > in /usr/lib/appname or /usr/share/appname, how can I specify that
> > PYTHON_TARGETS="python2.6" or "python2.7" or "python3.2" is allowed, but
> > something like PYTHON_TARGETS="python2.7 python3.2" is not?
> 
> You're correct, note that I've stressed that this eclass is mainly for
> distutils-based packages. I'm not using Gnome, so can you provide some package
> examples that I can look at?
> 
> <personal opinion>
> If package decides to use given language then please, please play by the rules
> set by the rest of world (Ruby -> gems, Python -> distutils, Perl -> CPAN, PHP
> -> PEAR).
> 
> I don't like installing Python code outside of site-packages, the only exception
> to that rule is portage (at least for now).
> </personal opinion>

Some non-python packages allow python-based plugins. Obviously these
plugins live in the package's plugin directory (not in python's
site-packages) and use the package's main build system (not distutils),
and multiple python ABIs cannot be supported because that would result
in colliding plugins. Typical examples are app-editors/gedit,
media-gfx/gimp, media-sound/rhythmbox, or media-video/totem.

Some packages install a C library that links to a specific version of
libpython or that defines a particular python version string at compile
time, making it impossible to use the package with multiple python ABIs.
Examples I know are dev-libs/libpeas and dev-python/nautilus-python.

And then there are packages which could support e.g. multiple python2
ABIs in theory, but doing so in practice would require a fair bit of
patching, taking substantial effort with no real benefit for end users.
An example that springs to mind here is gnome-extra/zeitgeist.

> I'd be happy to hear how to solve this - what prefix or suffix to use? One way
> would be quite trivial: if only one implementation is enabled do not create
> script-${impl}, go with single file, does that sound good?

That would be the ideal solution.

-Alexandre.




  parent reply	other threads:[~2012-02-29 21:58 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-28 21:13 [gentoo-dev] New eclass for Python Krzysztof Pawlik
2012-02-29  3:21 ` Sergei Trofimovich
2012-02-29 17:34   ` Krzysztof Pawlik
2012-02-29  5:13 ` [gentoo-dev] Re: [gentoo-python] " Mike Gilbert
2012-02-29 17:35   ` Krzysztof Pawlik
2012-02-29  7:49 ` [gentoo-dev] " "Paweł Hajdan, Jr."
2012-02-29 17:38   ` Krzysztof Pawlik
2012-02-29 18:03     ` Jeroen Roovers
2012-02-29  8:11 ` [gentoo-dev] Re: [gentoo-python] " Dirkjan Ochtman
2012-02-29 17:39   ` Krzysztof Pawlik
2012-02-29 18:39     ` Mike Gilbert
2012-02-29  8:17 ` [gentoo-dev] " Fabian Groffen
2012-02-29 17:34   ` Krzysztof Pawlik
2012-02-29 19:51 ` Alexandre Rostovtsev
2012-02-29 20:24   ` Krzysztof Pawlik
2012-02-29 21:08     ` Andreas K. Huettel
2012-02-29 21:19       ` Krzysztof Pawlik
2012-02-29 21:57     ` Alexandre Rostovtsev [this message]
2012-03-01 18:42       ` Krzysztof Pawlik
2012-03-03  7:59 ` [gentoo-dev] Re: [gentoo-python] " Arfrever Frehtes Taifersar Arahesis
2012-03-03  8:18   ` Zac Medico
2012-03-25 18:56 ` [gentoo-dev] " Krzysztof Pawlik
2012-03-25 19:08   ` Luca Barbato
2012-03-26  7:20   ` justin
2012-03-26 16:11     ` Krzysztof Pawlik
2012-03-26 16:23       ` Krzysztof Pawlik
2012-04-04  8:50         ` Corentin Chary
2012-04-04 14:22           ` Mike Gilbert
2012-04-04 14:29             ` Corentin Chary
2012-04-04 14:41           ` Mike Gilbert
2012-04-05  0:07             ` Brian Harring
2012-04-05  0:36               ` Mike Gilbert
2012-04-05  0:45                 ` Brian Harring
2012-03-26  7:21   ` justin
2012-03-26 16:02     ` Krzysztof Pawlik

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=1330552641.15103.93.camel@rook \
    --to=tetromino@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