From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Woodcroft Subject: Re: [PATCH] IPython: Use 'python2-variant'. Date: Tue, 19 Apr 2016 19:15:25 +1000 Message-ID: <5715F72D.4050800@uq.edu.au> References: <5712DEAB.8000001@uq.edu.au> <20160418190710.GC27770@jasmine> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asRl7-00021U-T5 for guix-devel@gnu.org; Tue, 19 Apr 2016 05:15:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1asRl3-0005BY-Ob for guix-devel@gnu.org; Tue, 19 Apr 2016 05:15:49 -0400 Received: from mailhub2.soe.uq.edu.au ([130.102.132.209]:42287 helo=newmailhub.uq.edu.au) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1asRl2-0005Ax-Rt for guix-devel@gnu.org; Tue, 19 Apr 2016 05:15:45 -0400 In-Reply-To: <20160418190710.GC27770@jasmine> List-Id: "Development of GNU Guix and the GNU System distribution." 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" To: Leo Famulari Cc: "guix-devel@gnu.org" On 19/04/16 05:07, Leo Famulari wrote: > On Sun, Apr 17, 2016 at 10:54:03AM +1000, Ben Woodcroft wrote: >> Hi, >> >> This hopefully should be a pretty straightforward patch, but I just wanted >> to check that I was doing the correct thing this first time. Seems to make >> the code much cleaner. >> >> Does it make sense to go through all the python packages and convert them >> all to the python2-variant style? As I understand the idea is to do this one >> package per commit, which means traversing python dependency graph? Is >> anyone on this? > What do you mean by "all the python packages"? I think that if a plain > and unadorned package-with-python2 works for a package, then we should > not change the package to use the python2-variant system. > > The python2-variant system is really for packages that require different > inputs or build arguments for the python-2 and python-3 versions. Some > of these packages were causing problems throughout the dependency graph > before introducing this system. For example, see how Ludo untangled some > knotty code beginning with 00f2bf34. And again in 519e2f4fd. > > My plan was to switch remaining "difficult" packages to python2-variant > when they started causing problems, or when we were going to be changing > a package anyways. > > But, if you want to make the changes and check that all the affected > packages still work, then I don't see a reason not to do it :) > > By the way, here is the bug report on this topic: > http://bugs.gnu.org/22437 Re-reading that somehow now makes a lot more sense. I'm glad we don't have to change everything, apologies for the noise. >> (define-public python2-ipython >> - (let ((ipython (package-with-python2 python-ipython))) >> + (let ((parent (package-with-python2 >> + (strip-python2-variant python-ipython)))) > I prefer to the upstream name (ipython) rather than "parent". Some > people use "base". I'd rather not introduce a 3rd option ;) Fair point. I'd prefer "base" since then copy and paste works better, which is especially useful if the addition of setuptools as a native input is the only difference. > Otherwise it looks okay, assuming you've tested that the referring > packages still work as expected. I'll send an updated patch as part of a series I'm preparing. Thanks for your explanations. ben