From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1S3Axy-0007pC-KM for garchives@archives.gentoo.org; Thu, 01 Mar 2012 18:43:03 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id ED212E07B3; Thu, 1 Mar 2012 18:42:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 1524BE0768 for ; Thu, 1 Mar 2012 18:42:14 +0000 (UTC) Received: from [10.0.0.62] (89-74-61-34.dynamic.chello.pl [89.74.61.34]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: nelchael) by smtp.gentoo.org (Postfix) with ESMTPSA id E5A611B4023; Thu, 1 Mar 2012 18:42:12 +0000 (UTC) Message-ID: <4F4FC2FA.7000403@gentoo.org> Date: Thu, 01 Mar 2012 19:42:02 +0100 From: Krzysztof Pawlik Organization: Gentoo User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120213 Thunderbird/10.0.1 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org CC: Alexandre Rostovtsev Subject: Re: [gentoo-dev] New eclass for Python References: <4F4D4380.9070909@gentoo.org> <1330545088.15103.62.camel@rook> <4F4E8991.8040907@gentoo.org> <1330552641.15103.93.camel@rook> In-Reply-To: <1330552641.15103.93.camel@rook> X-Enigmail-Version: 1.3.5 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enigC302D880716736439677891E" X-Archives-Salt: 4390ddee-d525-4ffb-8bc5-f430a108e479 X-Archives-Hash: f479804553bddc8908e6ac3eff378f44 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigC302D880716736439677891E Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 29/02/12 22:57, Alexandre Rostovtsev wrote: > 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? >=20 > Gnome is mostly written in C and therefore uses standard autotools :) Ok, thank you for this information. >>> 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 AB= Is. >>> 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=3D"python2.6" or "python2.7" or "python3.2" is allowed= , but >>> something like PYTHON_TARGETS=3D"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? >> >> >> If package decides to use given language then please, please play by t= he rules >> set by the rest of world (Ruby -> gems, Python -> distutils, Perl -> C= PAN, 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). >> >=20 > 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. >=20 > 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= =2E > Examples I know are dev-libs/libpeas and dev-python/nautilus-python. >=20 > 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 see - so it's the same case as with KDE (like Andreas wrote) - it's act= ually not a "python package" but rather an embedded Python. That's very differe= nt case than I'm targeting with this eclass (at least for now). >> 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 c= reate >> script-${impl}, go with single file, does that sound good? >=20 > That would be the ideal solution. Ok, I've implemented this solution, now if one implementation is enabled = there will be only one script, no foo-IMPL mangling. I've added also ability to= install the script in other directory than /usr/bin. Hope this solves thi= s case. Thank you for your comments and suggestions :) --=20 Krzysztof Pawlik key id: 0xF6A80E46 desktop-misc, java, vim, kernel, python, apache... --------------enigC302D880716736439677891E Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iQEcBAEBCgAGBQJPT8MBAAoJEBZyv1r2qA5GBR8IAJBMLqvMYIK8qevq3cpx609i eQsOIRH19QbJQsxDV+N/Q/ThuKUR+U9BynoftMIpbnJj3KKsD5GanNSnfwpioARV lJKstQpg7KbkqgUevzzpOgkYZwaMM3BX52V/dZdneKlelgKdb5vyM2xPDZLI7BsL 7V01TO1htUZ750qJqEWvJlQU1uLRnyMRyNLJ206n9KEN4z2sN2lja0hN+fdP0yVc 52EN1uClIlsHmZdmzx958jeshYbhtKHRIpCePf+UwaSfNBAyrdNPtxv9bUSL0S3b jdZpD3Y0OHCrWtjnlDYKLBuRfi7u4Fs/7Vt/co03p46hsIIarjaTUARlPSWT9wA= =n09C -----END PGP SIGNATURE----- --------------enigC302D880716736439677891E--