1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-26 02:51:49 +02:00

gexp: 'file-append' correctly handles bases without an expander.

This fixes this use case:

  (file-append (let-system ...) ...)

* guix/gexp.scm (file-append-compiler): When BASE lacks an expander,
delegate to LOWERED.
* tests/gexp.scm ("let-system in file-append"): New test.
This commit is contained in:
Ludovic Courtès
2021-11-27 22:10:38 +01:00
parent 61ad9bc2ad
commit 6b30eb189e
2 changed files with 13 additions and 1 deletions
+11
View File
@@ -441,6 +441,17 @@
'(system-binding)))
(x x)))))
(test-assert "let-system in file-append"
(let ((mixed (file-append (let-system (system target)
(if (not target) grep sed))
"/bin"))
(grep (file-append grep "/bin"))
(sed (file-append sed "/bin")))
(and (equal? (gexp->sexp* #~(list #$mixed))
(gexp->sexp* #~(list #$grep)))
(equal? (gexp->sexp* #~(list #$mixed) "powerpc64le-linux-gnu")
(gexp->sexp* #~(list #$sed) "powerpc64le-linux-gnu")))))
(test-assert "ungexp + ungexp-native"
(let* ((exp (gexp (list (ungexp-native %bootstrap-guile)
(ungexp coreutils)