From 64436218a0f4628947aca80ac271f911d53c9dfc Mon Sep 17 00:00:00 2001 From: Daniel Ziltener Date: Thu, 7 Mar 2024 23:33:24 +0100 Subject: [PATCH] . --- zilti/build-system/chicken.scm | 63 ++++++++++++++++------------------ 1 file changed, 30 insertions(+), 33 deletions(-) diff --git a/zilti/build-system/chicken.scm b/zilti/build-system/chicken.scm index 3ddc144..c366d84 100644 --- a/zilti/build-system/chicken.scm +++ b/zilti/build-system/chicken.scm @@ -63,39 +63,36 @@ EXTENSION is the file name extension, such as '.tar.gz'." (define private-keywords '(#:target #:chicken #:inputs #:native-inputs #:outputs)) - (bag - (name name) - (system system) - (target target) - (build-inputs `(,@(if source - `(("source" ,source)) - '()) - ,@`(("chicken" ,chicken)) - ,@native-inputs - ,@(if target '() inputs) - ,@(if target - (standard-cross-packages target 'host) - '()) - ,@standard-packages)) - (host-inputs (if target inputs '())) - (target-inputs (if target - (standard-cross-packages target 'target) - '())) - (outputs outputs) - ;; TODO: Cross-build support - (build (if target '() chicken-build)) - (arguments - (substitute-keyword-arguments - (strip-keyword-arguments private-keywords arguments) - ((#:extra-directories extra-directories) - `(list (,@(append-map - (lambda (name) - (match (assoc name inputs) - ((_ pkg) - (match (package-transitive-propagated-inputs pkg) - (((propagated-names . _) ...) - (cons name propagated-names)))))) - extra-directories)))))))) + ;; TODO: cross-compilation support + (and (not target) + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + + ;; Keep the standard inputs of 'gnu-build-system', since + ;; Chicken compiles Scheme by using C as an intermediate + ;; language. + ,@(standard-packages))) + (build-inputs `(("chicken" ,chicken) + ,@native-inputs)) + (outputs outputs) + (build chicken-build) + (arguments + (substitute-keyword-arguments + (strip-keyword-arguments private-keywords arguments) + ((#:extra-directories extra-directories) + `(list ,@(append-map + (lambda (name) + (match (assoc name inputs) + ((_ pkg) + (match (package-transitive-propagated-inputs pkg) + (((propagated-names . _) ...) + (cons name propagated-names)))))) + extra-directories)))))))) (define* (chicken-build name inputs #:key source