From patchwork Wed Jul 10 17:04:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 14556 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id E13C5171E2; Wed, 10 Jul 2019 18:05:17 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 8DE21171E1 for ; Wed, 10 Jul 2019 18:05:17 +0100 (BST) Received: from localhost ([::1]:35486 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlG1s-0004SH-7c for patchwork@mira.cbaines.net; Wed, 10 Jul 2019 13:05:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42275) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlG1h-0004Ov-Ag for guix-patches@gnu.org; Wed, 10 Jul 2019 13:05:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hlG1g-0001IP-8p for guix-patches@gnu.org; Wed, 10 Jul 2019 13:05:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:55904) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hlG1e-0001Fz-It for guix-patches@gnu.org; Wed, 10 Jul 2019 13:05:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hlG1e-0000xx-AU for guix-patches@gnu.org; Wed, 10 Jul 2019 13:05:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#36578] [PATCH 0/9] Modernize the API of the 'derivation' primitive Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 10 Jul 2019 17:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 36578 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 36578@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.15627782813669 (code B ref -1); Wed, 10 Jul 2019 17:05:02 +0000 Received: (at submit) by debbugs.gnu.org; 10 Jul 2019 17:04:41 +0000 Received: from localhost ([127.0.0.1]:36489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hlG1I-0000x5-Sx for submit@debbugs.gnu.org; Wed, 10 Jul 2019 13:04:41 -0400 Received: from lists.gnu.org ([209.51.188.17]:32983) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hlG1G-0000wx-Nm for submit@debbugs.gnu.org; Wed, 10 Jul 2019 13:04:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42020) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hlG1F-0004C8-7L for guix-patches@gnu.org; Wed, 10 Jul 2019 13:04:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47853) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hlG1D-0000ab-P2; Wed, 10 Jul 2019 13:04:36 -0400 Received: from [81.18.188.212] (port=57558 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hlG1D-0004fz-7V; Wed, 10 Jul 2019 13:04:35 -0400 From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Wed, 10 Jul 2019 19:04:08 +0200 Message-Id: <20190710170408.21321-1-ludo@gnu.org> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Hello Guix! This is the continuation of the season cleanup! These patches adjust to refer to . More importantly, they change the calling convention of the ‘derivation’ primitive such that #:inputs must be a list of , and a new #:sources parameter must be used to pass “sources” (content-addressed files added to the store with the ‘add-to-store’ RPC or similar.) This replaces the former weird tuples used as #:inputs. The weird tuples are still allowed but deprecated. There are few users of ‘derivation’ and ‘raw-derivation’. One of them is ‘build-expression->derivation’, which I hope to officially deprecate soonish in favor of ‘gexp->derivation’; in the meantime, it still uses the deprecated calling convention but deprecation warnings are disabled in this case. Eventually, we’ll be able to build entirely in memory, which would allow us to create .drv files in the store at once (maybe with RPC pipelining), or to not create them at all. We’ll see… Feedback welcome! Ludo’. Ludovic Courtès (9): derivations: 'derivation' primitive accepts and #:sources. gexp: separates sources from derivation inputs. gnu: guile-bootstrap: Use the new 'derivation' calling convention. download: Use the new 'derivation' calling convention. derivations: 'map-derivation' uses the new 'derivation' calling convention. derivations: Update tests to use new calling convention. derivations: Deprecate the previous calling convention. gexp: 'lowered-gexp-guile' now returns a . channels: Avoid use of 'derivation-input-path'. gnu/packages/bootstrap.scm | 7 +-- guix/channels.scm | 5 ++- guix/derivations.scm | 65 ++++++++++++++++++++------- guix/download.scm | 3 +- guix/gexp.scm | 92 ++++++++++++++++++++------------------ guix/remote.scm | 38 +++++----------- po/guix/POTFILES.in | 1 + tests/derivations.scm | 89 +++++++++++++++--------------------- tests/gexp.scm | 8 ++-- 9 files changed, 159 insertions(+), 149 deletions(-)