From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Package transformations Date: Thu, 18 Feb 2016 14:27:59 +0100 Message-ID: References: <87egcwaiwm.fsf@gnu.org> 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]:44416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aWOcv-0001LR-2G for guix-devel@gnu.org; Thu, 18 Feb 2016 08:28:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aWOcq-0000pS-SG for guix-devel@gnu.org; Thu, 18 Feb 2016 08:28:12 -0500 In-Reply-To: <87egcwaiwm.fsf@gnu.org> 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org Ludovic Court=C3=A8s writes: > I=E2=80=99ve pushed my =E2=80=9Ctrain hacks=E2=80=9D, which are a conti= nuation of refactoring > work I had done in December (ca. 64ec0e2): > > =E2=80=A2 =E2=80=98guix build=E2=80=99 has a new =E2=80=98--with-inpu= t=E2=80=99 option to rewrite the > dependency graph so you can run: > > guix build guix --with-input=3Dguile=3Dguile-next > > and guess what it does. :-) > > However, it only works for explicit inputs. What does it mean that it only works for *explicit* inputs? Does this mean that default inputs added by the build system (e.g. GCC) cannot be replaced? Looking at the code it seems that it is operating on labels. In the past I have found that labels for the same package object are not always identical. For example =E2=80=9Chtseq=E2=80=9D in =E2=80=9Cbioinformatic= s.scm=E2=80=9D names uses the label =E2=80=9Cpython-numpy=E2=80=9D for the package object named =E2=80=9C= python2-numpy=E2=80=9D. If I used =E2=80=9C--with-input=3Dpython2-numpy=3Dmy/python2-numpy=E2=80=9D it= would skip the input labelled =E2=80=9Cpython-numpy=E2=80=9D (but change others in the g= raph with the label =E2=80=9Cpython2-numpy=E2=80=9D) even though the package object is = the same. Is my understanding correct? If so, should we instead attempt to match on the package name of the package object rather than the label? Or should we be a little more careful with label names now that they are also used outside of build phases? I really like this additional feature! Thanks! ~~ Ricardo