Subject: [bug#28185] [PATCH] build: emacs-build-system: Make the install phase more helpful.

From: [email-masked] (Ludovic Courtès)
Date: Wed, 30 Aug 2017 10:39:09 +0200

Christopher Baines <[email-masked]> skribis:

> On Tue, 29 Aug 2017 23:50:07 +0200
> [email-masked] (Ludovic Courtès) wrote:
>
>> Christopher Baines <[email-masked]> skribis:
>> 
>> > Modify the install phase to detect when nothing has been installed,
>> > and error if this happens. This is preferable to continuing, and
>> > allowing the next phase to fail.
>> >
>> > Also, when nothing can be found to be installed, print out each
>> > file that was considered, along with the regular expressions that
>> > were used to include and exclude it.
>> >
>> > * gnu/build/emacs-build-system.scm (install-file?): Add additional
>> > error checking and logging.  
>> 
>> Nitpicking:
>> 
>> > +  (define* (install-file? file stat #:key verbose?)
>> > +    (let* ((stripped-file (string-trim
>> > +                           (string-drop file (string-length
>> > source)) #\/)))
>> > +      (define (match-stripped-file action regex)
>> > +        (let ((result (string-match regex stripped-file)))
>> > +          (if (and result verbose?)
>> > +              (format #t "info: ~A ~A as it matches \"~A\"\n"
>> > +                      stripped-file action regex))
>> > +          result))
>> > +
>> > +      (if verbose?
>> > +          (format #t "info: considering installing ~A\n"
>> > stripped-file))  
>> 
>> Use ‘when’ here, to clarify that this is for-effect.
>
> I've sent an updated patch which uses when.

LGTM!

> One final issue, as this changes the build system, every package that
> uses it will need to be rebuilt. My count puts this at 162, which
> suggests that this is fine to go straight on the master branch.

Definitely, and these are very small packages anyway.

Ludo’.