From mboxrd@z Thu Jan 1 00:00:00 1970 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 Subject: [bug#36578] [PATCH 0/9] Modernize the API of the 'derivation' primitive Resent-Message-ID: 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 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> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: 36578@debbugs.gnu.org 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(-) -- 2.22.0