Subject: bug#36813: 'lower-gexp' does not respect 'system' or 'target' keywords

From: Ludovic Courtès <[email-masked]>
Date: Fri, 26 Jul 2019 17:28:11 +0200

[email-masked] (Jakob L. Kreuze) skribis:

> Changing it to the following:
>
> #+BEGIN_SRC scheme
> (lower-gexp exp
>             #:system "i686-linux"
>             #:target "i686-unknown-linux-gnu"
>             #:guile-for-build #f)
> #+END_SRC
>
> The Guile used is still a 64-bit LSB executable.

I can’t reproduce it on current ‘master’:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,run-in-store (lower-gexp #~(+ 2 3) #:guile-for-build #f #:system "mips64el-linux")
$6 = #<<lowered-gexp> sexp: (+ 2 3) inputs: () sources: () guile: #<<derivation-input> drv: #<derivation /gnu/store/jsnihqsz6nxwv88pr41i2y3403f959cf-guile-2.2.4.drv => /gnu/store/n2570pg8cahc8k9iqrg5qngyzf6j0xzr-guile-2.2.4-debug /gnu/store/j9a8dx25cj045yl5l32ajkkjf92ib3y1-guile-2.2.4 46e3230> sub-derivations: ("out")> load-path: () load-compiled-path: ()>
scheme@(guile-user)> (derivation-system (derivation-input-derivation (lowered-gexp-guile $6)))
$7 = "mips64el-linux"
--8<---------------cut here---------------end--------------->8---

Not even when cross-compiling (BTW, #:target probably doesn’t make sense
above, since it’s cross-compiling from i686 to i686):

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,run-in-store (lower-gexp #~(+ 2 3) #:guile-for-build #f #:system "mips64el-linux" #:target "i586-pc-gnu")
$8 = #<<lowered-gexp> sexp: (+ 2 3) inputs: () sources: () guile: #<<derivation-input> drv: #<derivation /gnu/store/jsnihqsz6nxwv88pr41i2y3403f959cf-guile-2.2.4.drv => /gnu/store/n2570pg8cahc8k9iqrg5qngyzf6j0xzr-guile-2.2.4-debug /gnu/store/j9a8dx25cj045yl5l32ajkkjf92ib3y1-guile-2.2.4 46e3230> sub-derivations: ("out")> load-path: () load-compiled-path: ()>
scheme@(guile-user)> (derivation-system (derivation-input-derivation (lowered-gexp-guile $8)))
$9 = "mips64el-linux"
--8<---------------cut here---------------end--------------->8---

Am I missing something?

Thanks,
Ludo’.