Gentoo Archives: gentoo-python

From: Maxim Koltsov <maksbotan@g.o>
To: gentoo-python@l.g.o
Subject: [gentoo-python] python-distutils.eclass vs. python.eclass + distutils.eclass
Date: Sat, 26 May 2012 09:32:41
Message-Id: CAB_Kkxz_cD5zJO0ELbomO4g-bPjp0yED3E=s0RccziWLEZvvjg@mail.gmail.com
1 Hi,
2 This can be another troll-thread or layman-thread, but still I think
3 this question must be raised once more.
4 I want to say that I personally don't want to use python-distutils-ng
5 in its current state and I know several active python ebuild writers
6 that are not Gentoo developers and they don't want to use it too.
7 First of all, how well is this eclass adapted to packages not using
8 distutils? Old eclass had set of convenient functions
9 (python_execute_function, python_generate_wrapper_scripts,
10 python_conver_shebangs). I see some functions like these ones in new
11 eclass, but can they serve as good replace and is their API public and
12 stable?
13 Then, we think that this ruby-ng style approach with PYTHON_TARGETS is
14 a bit uncomfortable for end users and developers. This is going to be
15 pain for all users if eclass gets used widely. Eclass allows developer
16 not to set PYTHON_COMPAT and populate it with all available values —
17 well, it's nice. But imagine that Python 3.3 arrives. All ebuilds
18 using new eclass will get new IUSE and therefore will be rebuilt
19 during emerge --update --newuse world. That's hardly sensible. It's
20 awful to rebuild packages which might be very 'heavy' just for
21 nothing.
22 On the other hand, if developers are forced to set PYTHON_COMPAT, this
23 will result in great delays in getting new python support to Gentoo.
24 You can say that ruby-ng has the same behavior and nobody complains.
25 But python is not ruby. Ruby 1.8 to 1.9 transitition was connected
26 with a lot of incompabilities, so one could not assume that ruby-1.8
27 package will work on 1.9. Python 3.2 to 3.3 transitition should be
28 harmless and almost all packages will require no changes. So some
29 implicit mechanism of doing this must be implemented.
30 So, new eclass has serious problems, old is bad too, not to say here
31 why, and we have no solution yet :)
32 But still discussion is needed, or we will end up accepting silently
33 bad decisions. Please speak up everyone who agrees with me and/or has
34 any suggestions.

Replies