[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/09: build-system/asdf: Add support for component-less systems.
From: |
guix-commits |
Subject: |
02/09: build-system/asdf: Add support for component-less systems. |
Date: |
Thu, 18 Jun 2020 11:19:44 -0400 (EDT) |
ambrevar pushed a commit to branch master
in repository guix.
commit 5a08660ecb965783f581b95704c150e12d721891
Author: Pierre Neidhardt <mail@ambrevar.xyz>
AuthorDate: Thu Jun 18 16:41:08 2020 +0200
build-system/asdf: Add support for component-less systems.
* guix/build/lisp-utils.scm (make-asd-file): Ensure lib directory exists and
check if prebuilt bundle system was generated.
(generate-system-definition): Add :class and :components only if prebuilt
system was generated.
---
guix/build/lisp-utils.scm | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/guix/build/lisp-utils.scm b/guix/build/lisp-utils.scm
index c7a589c..5bb3d81 100644
--- a/guix/build/lisp-utils.scm
+++ b/guix/build/lisp-utils.scm
@@ -186,13 +186,17 @@ asdf:system-depends-on. First load the system's
ASD-FILE."
(_ system))))
(define* (generate-system-definition system
- #:key version dependencies)
+ #:key version dependencies component?)
`(asdf:defsystem
,(normalize-string system)
- :class asdf/bundle:prebuilt-system
+ ,@(if component?
+ '(:class asdf/bundle:prebuilt-system)
+ '())
:version ,version
:depends-on ,dependencies
- :components ((:compiled-file ,(compiled-system system)))
+ ,@(if component?
+ `(:components ((:compiled-file ,(compiled-system system))))
+ '())
,@(if (string=? "ecl" (%lisp-type))
`(:lib ,(string-append system ".a"))
'())))
@@ -311,14 +315,20 @@ system to find its dependencies, as described by
GENERATE-DEPENDENCY-LINKS."
lisp-input-map)
(map dependency-name dependencies)))
+ ;; Ensure directory exists, which might not be the case for an .asd without
components.
+ (mkdir-p (dirname asd-file))
(call-with-output-file asd-file
(lambda (port)
(display
(replace-escaped-macros
(format #f "~y~%~y~%"
- (generate-system-definition system
- #:version version
- #:dependencies dependencies)
+ (generate-system-definition
+ system
+ #:version version
+ #:dependencies dependencies
+ ;; Some .asd don't have components, and thus they don't
generate any .fasl.
+ #:component? (pair?
+ (find-files (dirname asd-file)
"--system\\.fasl$")))
(generate-dependency-links registry system)))
port))))
- branch master updated (9f4cb99 -> 409fcee), guix-commits, 2020/06/18
- 05/09: gnu: sbcl-triva.trivial: Remove ASD component fix., guix-commits, 2020/06/18
- 01/09: gnu: Add acclimation., guix-commits, 2020/06/18
- 02/09: build-system/asdf: Add support for component-less systems.,
guix-commits <=
- 06/09: gnu: sbcl-triva: Remove ASD component fix., guix-commits, 2020/06/18
- 08/09: gnu: Add sbcl-clump-binary-tree., guix-commits, 2020/06/18
- 07/09: gnu: Add sbcl-clump-2-3-tree., guix-commits, 2020/06/18
- 09/09: gnu: Add clump., guix-commits, 2020/06/18
- 03/09: gnu: cl-cxml: Remove ASD fix since our build system supports component-less asd., guix-commits, 2020/06/18
- 04/09: gnu: sbcl-fare-quasiquote-readtable: Remove ASD component fix., guix-commits, 2020/06/18