Subject: bug#58384: closed (Re: bug#58384: copy-build-system assumes that strip-flags, strip-directories is a S-exp, but it isn't.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 09 Oct 2022 16:55:02 +0000

Your bug report

#58384: copy-build-system assumes that strip-flags, strip-directories is a S-exp, but it isn't.

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

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

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

Subject: Re: bug#58384: copy-build-system assumes that strip-flags, strip-directories is a S-exp, but it isn't.
From: Ludovic Courtès <[email-masked]>
To: Maxime Devos <[email-masked]>
Cc: [email-masked]
Date: Sun, 09 Oct 2022 18:54:30 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Maxime Devos <[email-masked]> skribis:

> This fixes a bug introduced in ccc2658e2a111590ec25e308946e47a24d357785,
> reported at <https://issues.guix.gnu.org/issue/58384>.
>
> Tested with "./pre-inst-env guix build openjpeg-data".
>
> Fixes: https://issues.guix.gnu.org/issue/58384
>
> * guix/build-system/copy.scm (copy-build): 'strip-flags' and
> '#:strip-directories' are G-exps, not S-exps, so don't use sexp->gexp.
> * guix/build-system/cmake.scm (copy-build): Likewise.
> * guix/build-system/glib-or-gtk.scm
> (glib-or-gtk-build,glib-or-gtk-cross-build): Likewise.
> * guix/build-system/maven.scm (maven-build): Likewise.
> * guix/build-system/meson.scm
> (meson-build,meson-cross-build): Likewise.

Oops.  Applied, thanks for the quick fix!

Ludo’.

Subject: copy-build-system assumes that strip-flags, strip-directories is a S-exp, but it isn't.
From: Maxime Devos <[email-masked]>
To: [email-masked]
Date: Sat, 8 Oct 2022 20:52:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

In commit 
https://git.savannah.gnu.org/cgit/guix.git/commit/?h=core-updates&id=ccc2658e2a111590ec25e308946e47a24d357785, 
the default 'strip-flags' and 'strip-directories' argument were changed 
from a S-exp to %strip-flags and %strip-directories from (guix 
build-system gnu).

This is fine, except for copy-build doing (sexp->gexp ...) on those, 
even though %strip-flags etc. are G-exps, not S-exps, causing errors like

> ice-9/read.scm:126:4: In procedure read-expr*:
> /gnu/store/abb0wz0223bjsxkw9av768szz955m2xh-openjpeg-data-2021.09.26-builder:1:2504: Unknown # object: "#<"
> builder for `/gnu/store/qbc93ywsbm3bwwiqn7h8fv124i1yqh53-openjpeg-data-2021.09.26.drv' failed with exit code 1
> derivation '/gnu/store/qbc93ywsbm3bwwiqn7h8fv124i1yqh53-openjpeg-data-2021.09.26.drv' offloaded to '141.80.167.174' failed: build of `/gnu/store/qbc93ywsbm3bwwiqn7h8fv124i1yqh53-openjpeg-data-2021.09.26.drv' failed

Changing '(sexp->gexp strip-flags)' to 'strip-flags' and likewise for 
'strip-directories' should fix things (unverified).

Greetings,
Maxime.