Subject: [bug#71038] [PATCH v2 1/2] guix: store: Enable specifying the available builtin builders.

From: Ludovic Courtès <[email-masked]>
Date: Thu, 04 Jul 2024 11:14:07 +0200

Hello!

Summarizing our live review session here…

Christopher Baines <[email-masked]> skribis:

> To open-connection and port->connection.  This overrides the discovered
> builtin builders that the daemon says it provides.
>
> This is useful when you want to generate compatible derivations that can be
> run with a daemon that potentially doesn't support builtin builders that the
> daemon you're using to generate the derivations has.
>
> I'm looking at this in particular because I want to use this in the data
> service, since it provides substitutes for derivations, and since these can be
> built on other machines, it's useful to control which builtin builders they
> depend on.
>
> * guix/store.scm (open-connection, port->connection): Accept
>  #:assume-available-builtin-builders and use this instead of
> %built-in-builders.
>
> Fixes: <https://issues.guix.gnu.org/67250>.
>
> Change-Id: I45d58ab93b6d276d280552858fc81ebc2b58828a

This is nice.  Nitpick: you can drop “guix:” from the commit message subject.

>  (define* (open-connection #:optional (uri (%daemon-socket-uri))
>                            #:key port (reserve-space? #t) cpu-affinity
> -                          non-blocking?)
> +                          non-blocking? assume-available-builtin-builders)

My only suggestion here is to rename ‘assume-available-builtin-builders’
to just ‘built-in-builders’ (so that it’s a noun rather than a phrase).

Ludo’.