From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:59160) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h40f9-0002nY-8o for guix-patches@gnu.org; Wed, 13 Mar 2019 05:59:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h40f8-0002Mu-9t for guix-patches@gnu.org; Wed, 13 Mar 2019 05:59:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:55733) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h40f8-0002Mi-5M for guix-patches@gnu.org; Wed, 13 Mar 2019 05:59:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h40f8-00014W-0B for guix-patches@gnu.org; Wed, 13 Mar 2019 05:59:02 -0400 Subject: [bug#34838] [PATCH 0/6] Add '--with-git-url' and make sure it composes well Resent-Message-ID: Received: from eggs.gnu.org ([209.51.188.92]:58981) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h40eJ-0002Me-GW for guix-patches@gnu.org; Wed, 13 Mar 2019 05:58:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h40eI-0001rs-Gl for guix-patches@gnu.org; Wed, 13 Mar 2019 05:58:11 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Wed, 13 Mar 2019 10:57:55 +0100 Message-Id: <20190313095755.15378-1-ludo@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 34838@debbugs.gnu.org Hello Guix! This patch series allows for things like this: guix build python-numpy \ --with-git-url=3Dpython=3Dhttps://github.com/python/cpython \ --with-commit=3Dpython=3D86900a49000c4a96ad1dc34e49d8af4245b08843 Initially I just wanted to add a =E2=80=98--with-git-url=E2=80=99 transfo= rmation option, but then allowing it to be combined with =E2=80=98--with-branch=E2=80=99,= for example, turned out to be more involved. To achieve that, this patch series changes transformation options so they match packages by spec (=E2=80=9Cguile=E2=80=9D, =E2=80=9Cguile@2=E2= =80=9D, etc.) instead of matching them by identity as was the case before (specifically, we=E2=80=99= d get the identity of the package to be replaced with =E2=80=98specificatio= n->package=E2=80=99.) That leads to a slight semantic change: transformations now apply to any package that matches the given spec, whereas before they would only apply to the public package that matches the spec. In practice, it probably doesn=E2=80=99t make any difference since there are rarely (i= f ever) several distinct packages with the same name. Feedback welcome! Ludo=E2=80=99. Ludovic Court=C3=A8s (6): guix build: Add '--with-git-url'. packages: Add 'package-input-rewriting/spec'. guix build: Factorize 'package-git-url'. guix build: Transformation options match packages by spec. guix build: '--with-commit' makes recursive checkouts. guix build: '--with-branch' strips slashes from the version string. doc/guix.texi | 61 ++++++++++++++--- guix/packages.scm | 38 +++++++++++ guix/scripts/build.scm | 146 +++++++++++++++++++++++++++------------- tests/packages.scm | 51 ++++++++++++++ tests/scripts-build.scm | 109 ++++++++++++++++++++++++++++-- 5 files changed, 343 insertions(+), 62 deletions(-) --=20 2.21.0