Subject: Re: [PATCH core-updates 1/3] build: copy-build-system: Allow specifying different output labels.

From: Liliana Marie Prikler <[email-masked]>
Date: Thu, 19 Oct 2023 11:46:07 +0200

Hi Bruno,

Am Donnerstag, dem 12.10.2023 um 16:30 +0100 schrieb Bruno Victal:
> [...]
> +@item When a package has multiple outputs the @code{#:output}
> argument
> +can be used to specify which output label the files should be
> installed
> +to.
This is perhaps extremely nitpicky, but there should be a comma before
"the @code{#:output} argument".

> @@ -63,6 +64,9 @@ (define* (install #:key install-plan outputs
> #:allow-other-keys)
>        If both `#:include*` and `#:exclude*` are specified, the
> exclusion is done
>        on the inclusion list.
>  
> +- When a package has multiple outputs the `#:output` argument can be
> used
> +to specify which output label the files should be installed to.
> +
Same here.
>  Examples:
>  
>  - `(\"foo/bar\" \"share/my-app/\")`: Install bar to \"share/my-
> app/bar\".
> @@ -72,7 +76,9 @@ (define* (install #:key install-plan outputs
> #:allow-other-keys)
>  - `(\"foo/\" \"share/my-app\" #:include (\"sub/file\"))`: Install
> only \"foo/sub/file\" to
>  \"share/my-app/sub/file\".
>  - `(\"foo/sub\" \"share/my-app\" #:include (\"file\"))`: Install
> \"foo/sub/file\" to
> -\"share/my-app/file\"."
> +\"share/my-app/file\".
> +- `(\"foo/doc\" \"share/my-app/doc\" #:output \"doc\")`: Install
> \"foo/doc\" to
> +\"share/my-app/doc\" for output labelled \"doc\"."
s/for output labelled/within the output named/
or 
s/for output labelled \"doc\"/within the \"doc\" output/

>    (define (install-simple source target)
>      "Install SOURCE to TARGET.
>  TARGET must point to a store location.
> @@ -133,8 +139,10 @@ (define* (install #:key install-plan outputs
> #:allow-other-keys)
>                                        (string-append target "/")))
>               file-list))))
>  
> -  (define* (install source target #:key include exclude include-
> regexp exclude-regexp)
> -    (let ((final-target (string-append (assoc-ref outputs "out") "/"
> target))
> +  (define* (install source target
> +                    #:key include exclude include-regexp exclude-
> regexp
> +                    (output "out"))
> +    (let ((final-target (string-append (assoc-ref outputs output)
> "/" target))
>            (filters? (or include exclude include-regexp exclude-
> regexp)))
>        (when (and (not (file-is-directory? source))
>                   filters?)
Otherwise LGTM.  Note, however, that CI doesn't like this series.

Cheers