Subject: bug#36351: closed (Re: [bug#36351] [PATCH 00/10] Add 'derivation-build-plan', improve (guix derivations))

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 27 Jun 2019 09:18:04 +0000

Your bug report

#36351: [PATCH 00/10] Add 'derivation-build-plan', improve (guix derivations)

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 [email-masked].

-- 
36351: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=36351
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#36351] [PATCH 00/10] Add 'derivation-build-plan', improve (guix derivations)
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Date: Thu, 27 Jun 2019 11:17:06 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

Ludovic Courtès <[email-masked]> skribis:

> This is the season cleanup of (guix derivations)!

I went ahead and pushed the whole shebang:

08c95ba28d ui: 'show-derivation-outputs' accepts <derivation-input> records.
d38d4ffa10 ui: 'show-what-to-build' accepts derivation inputs.
066eeae1a1 packages: 'specification->package+output' distinguishes "no output specified".
7c690a4738 derivations: 'build-derivations' can be passed derivation inputs.
fd951cd543 derivations: 'derivation' preserves pointer equality.
5cf4b26d52 derivations: <derivation-input> now aggregates a <derivation>.
a250061986 graph: Use 'derivation-input-derivation'.
9844d0091e ui: 'show-what-to-build' uses 'derivation-build-plan'.
ba04f80e2e derivations: Rewrite and replace 'derivations-prerequisites-to-build'.
c89985d91d derivations: Add 'derivation-input'.

Ludo’.

Subject: [PATCH 00/10] Add 'derivation-build-plan', improve (guix derivations)
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Mon, 24 Jun 2019 14:18:57 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix,

This is the season cleanup of (guix derivations)!

The initial motivation was to allow ‘show-what-to-build’ to do deal
with builds of single derivation outputs, which became possible in
commit f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb.

I ended up replacing ‘derivation-prerequisites-to-build’ with
‘derivation-build-plan’, which is both more flexible and simpler.

That led me to change <derivation-input> so that it would contain
a <derivation> instead of a derivation file name, which is more
natural and helps for things like ‘derivation-build-plan’ that
traverse the derivation graph (previously it’d have to call
‘read-derivation-from-file’, which would look up the derivation
in ‘%derivation-cache’.)

I wanted to change ‘guix build’ to support things like:

  guix build groff:doc

but there are slight complications so I’ll punt on that for now.

Thoughts?

Ludo’.

Ludovic Courtès (10):
  derivations: Add 'derivation-input'.
  derivations: Rewrite and replace 'derivations-prerequisites-to-build'.
  ui: 'show-what-to-build' uses 'derivation-build-plan'.
  graph: Use 'derivation-input-derivation'.
  derivations: <derivation-input> now aggregates a <derivation>.
  derivations: 'derivation' preserves pointer equality.
  derivations: 'build-derivations' can be passed derivation inputs.
  packages: 'specification->package+output' distinguishes "no output
    specified".
  ui: 'show-what-to-build' accepts derivation inputs.
  ui: 'show-derivation-outputs' accepts <derivation-input> records.

 gnu/packages.scm       |   8 +-
 guix/derivations.scm   | 269 +++++++++++++++++++++++------------------
 guix/scripts/graph.scm |   3 +-
 guix/ui.scm            |  67 +++++-----
 tests/derivations.scm  |  80 ++++++------
 tests/grafts.scm       |  16 +--
 tests/packages.scm     |  32 +++++
 7 files changed, 271 insertions(+), 204 deletions(-)

-- 
2.22.0