GNU bug report logs - #36578
[PATCH 0/9] Modernize the API of the 'derivation' primitive

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Wed, 10 Jul 2019 17:05:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Subject: bug#36578: closed (Re: [bug#36578] [PATCH 0/9] Modernize the API
 of the 'derivation' primitive)
Date: Mon, 15 Jul 2019 08:48:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#36578: [PATCH 0/9] Modernize the API of the 'derivation' primitive

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 36578 <at> debbugs.gnu.org.

-- 
36578: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36578
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: 36578-done <at> debbugs.gnu.org
Subject: Re: [bug#36578] [PATCH 0/9] Modernize the API of the 'derivation'
 primitive
Date: Mon, 15 Jul 2019 10:46:53 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

>   derivations: 'derivation' primitive accepts <derivation> and
>     #:sources.
>   gexp: <lowered-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 <derivation-input>.
>   channels: Avoid use of 'derivation-input-path'.

Pushed!

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [PATCH 0/9] Modernize the API of the 'derivation' primitive
Date: Wed, 10 Jul 2019 19:04:08 +0200
Hello Guix!

This is the continuation of the season cleanup!  These patches
adjust <lowered-gexp> to refer to <derivation-input>.

More importantly, they change the calling convention of the
‘derivation’ primitive such that #:inputs must be a list
of <derivation-input>, 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 <derivation> 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 <derivation> and
    #:sources.
  gexp: <lowered-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 <derivation-input>.
  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




This bug report was last modified 6 years and 30 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.