From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] gnu: Add Python 3. Date: Wed, 28 Aug 2013 16:40:02 +0200 Message-ID: <87a9k1c20t.fsf@gnu.org> References: <1377644626-17292-1-git-send-email-tipecaml@gmail.com> <8738puc6h6.fsf@gnu.org> <201308281612.47788.andreas@enge.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57179) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEgvB-0000NR-Nt for guix-devel@gnu.org; Wed, 28 Aug 2013 10:40:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VEgv5-0007qj-Io for guix-devel@gnu.org; Wed, 28 Aug 2013 10:40:33 -0400 Received: from hera.aquilenet.fr ([141.255.128.1]:51113) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VEgv5-0007qZ-DP for guix-devel@gnu.org; Wed, 28 Aug 2013 10:40:27 -0400 In-Reply-To: <201308281612.47788.andreas@enge.fr> (Andreas Enge's message of "Wed, 28 Aug 2013 16:12:47 +0200") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Andreas Enge Cc: guix-devel@gnu.org Andreas Enge skribis: > Am Mittwoch, 28. August 2013 schrieb Ludovic Court=C3=A8s: >> > +(define-public python3 >>=20 >> Nice that it works without any modifications. Please push. (I think >> Andreas wanted to discuss the naming convention for Python packages, but >> I think adding Python 3 doesn=E2=80=99t cause any problems.) > > Only a little ;-) > > I would rename > (define-public python > to > (define-public python-2 > > and add > (define-public python > for python version 3 (compare libjpeg for version 9 and libjpeg-8). What about having 3 variables: python-3, python-2, and python; =E2=80=98pyt= hon=E2=80=99 would point to whichever is the default. For GCC and Guile we don=E2=80=99t even have the version-less variable name. Instead =E2=80=98gnu-build-system=E2=80=99 explicitly refers to the one we = want. Anyway, I don=E2=80=99t think this should block this patch. > Then all packages relying on python will be recompiled with the newest=20 > version. If this poses problems, we could modify the input to python-2. > > Rationale: We would like to package the newest versions and give their=20 > variables the default names. If for compatibility problems, we need an=20 > older version, the corresponding variable should get a suffix. (While the= =20 > NAME field of a package should be the default name in all cases.) Sounds like the right approach for a start. However, some packages will work with both versions, while others will be 2-only or 3-only. We=E2=80=99ll most likely build both variants for tho= se that work with both 2 and 3, for instance because there=E2=80=99s both a 2-= only and a 3-only package that depends on them. Thus, eventually, there may be a need for a procedure that rewrites a package to explicitly depend on a given package version (similar to =E2=80=98rewritten-inputs=E2=80=99 in build-system/gnu.scm). Ludo=E2=80=99.