GNU bug report logs -
#67934
guix: chicken-build-system: fixes to make it actually work
Previous Next
To reply to this bug, email your comments to 67934 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
help-debbugs <at> gnu.org
:
bug#67934
; Package
debbugs.gnu.org
.
(Wed, 20 Dec 2023 16:19:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
dziltener <at> lyrion.ch
:
New bug report received and forwarded. Copy sent to
help-debbugs <at> gnu.org
.
Your message did not contain a Subject field. They are recommended and
useful because the title of a $gBug is determined using this field.
Please remember to include a Subject field in your messages in future.
(Wed, 20 Dec 2023 16:19:02 GMT) Full text and rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From f4001dd77c56c77e135343c630033619a5cca2e1 Mon Sep 17 00:00:00 2001
From: Daniel Ziltener <dziltener <at> lyrion.ch>
Date: Sun, 10 Dec 2023 15:26:10 +0100
Subject: [PATCH] guix: chicken-build-system: fixes to make it actually work
To: guix-patches <at> gnu.org
Cc: dziltener <at> lyrion.ch
---
guix/build-system/chicken.scm | 50 ++++++++++++++++++++---------
guix/build/chicken-build-system.scm | 17 ++++------
2 files changed, 40 insertions(+), 27 deletions(-)
diff --git a/guix/build-system/chicken.scm b/guix/build-system/chicken.scm
index 9f518e66e6..17c3b7b144 100644
--- a/guix/build-system/chicken.scm
+++ b/guix/build-system/chicken.scm
@@ -45,8 +45,8 @@ (define %chicken-build-system-modules
,@%gnu-build-system-modules))
(define (default-chicken)
+ "Return the default Chicken package."
;; Lazily resolve the binding to avoid a circular dependency.
- ;; TODO is this actually needed in every build system?
(let ((chicken (resolve-interface '(gnu packages chicken))))
(module-ref chicken 'chicken)))
@@ -77,18 +77,32 @@ (define private-keywords
,@native-inputs))
(outputs outputs)
(build chicken-build)
- (arguments (strip-keyword-arguments private-keywords arguments)))))
+ (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
(phases '%standard-phases)
- (outputs '("out"))
+ (outputs '("out" "static"))
(search-paths '())
(egg-name "")
(unpack-path "")
(build-flags ''())
+ (configure-flags ''())
+ (extra-directories ''())
(tests? #t)
+ (parallel-build? #f)
(system (%current-system))
(guile #f)
(imported-modules %chicken-build-system-modules)
@@ -99,19 +113,23 @@ (define builder
(with-imported-modules imported-modules
#~(begin
(use-modules #$@(sexp->gexp modules))
- (chicken-build #:name #$name
- #:source #+source
- #:system #$system
- #:phases #$phases
- #:outputs #$(outputs->gexp outputs)
- #:search-paths '#$(sexp->gexp
- (map search-path-specification->sexp
- search-paths))
- #:egg-name #$egg-name
- #:unpack-path #$unpack-path
- #:build-flags #$build-flags
- #:tests? #$tests?
- #:inputs #$(input-tuples->gexp inputs)))))
+ #$(with-build-variables inputs-outputs
+ #~(chicken-build #:name #$name
+ #:source #+source
+ #:system #$system
+ #:phases #$phases
+ #:configure-flags #$configure-flags
+ #:extra-directories #$extra-directories
+ #:parallel-build? #$parallel-build?
+ #:outputs #$(outputs->gexp outputs)
+ #:search-paths '#$(sexp->gexp
+ (map search-path-specification->sexp
+ search-paths))
+ #:egg-name #$egg-name
+ #:unpack-path #$unpack-path
+ #:build-flags #$build-flags
+ #:tests? #$tests?
+ #:inputs #$(input-tuples->gexp inputs))))))
(mlet %store-monad ((guile (package->derivation (or guile (default-guile))
system #:graft? #f)))
diff --git a/guix/build/chicken-build-system.scm b/guix/build/chicken-build-system.scm
index 8f9f59cc25..6a4f0c43eb 100644
--- a/guix/build/chicken-build-system.scm
+++ b/guix/build/chicken-build-system.scm
@@ -42,13 +42,12 @@ (define (chicken-package? name)
(define* (setup-chicken-environment #:key inputs outputs #:allow-other-keys)
(setenv "CHICKEN_INSTALL_REPOSITORY"
- (string-concatenate
- ;; see TODO item about binary version above
- (append (list (assoc-ref outputs "out") "/var/lib/chicken/11/")
- (let ((oldenv (getenv "CHICKEN_INSTALL_REPOSITORY")))
- (if oldenv
- (list ":" oldenv)
- '())))))
+ (string-append (assoc-ref outputs "out") "/var/lib/chicken/11/"))
+ (setenv "CHICKEN_INSTALL_PREFIX"
+ (string-append (assoc-ref outputs "out") "/bin/"))
+ (setenv "CHICKEN_REPOSITORY_PATH"
+ (string-append (getenv "CHICKEN_REPOSITORY_PATH")
+ ":" (getenv "CHICKEN_INSTALL_REPOSITORY")))
(setenv "CHICKEN_EGG_CACHE" (getcwd))
#t)
@@ -104,10 +103,6 @@ (define* (check #:key egg-name tests? #:allow-other-keys)
;; there is no "-test-only" option, but we've already run install
;; so this just runs tests.
;; i think it's a fair assumption that phases won't be reordered.
- (setenv "CHICKEN_REPOSITORY_PATH"
- (string-append (getenv "CHICKEN_INSTALL_REPOSITORY")
- ":"
- (getenv "CHICKEN_REPOSITORY_PATH")))
(when tests?
(invoke "chicken-install" "-cached" "-test" "-no-install" egg-name)))
--
2.43.0
Changed bug title to 'guix: chicken-build-system: fixes to make it actually work' from '(no subject)'
Request was from
Simon Tournier <zimon.toutoune <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Tue, 10 Sep 2024 16:20:08 GMT)
Full text and
rfc822 format available.
This bug report was last modified 276 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.