build-system/asdf: Adopt asdf conventions.

The asdf documentation specifies that asdf:load-asd should be preferred to
calling load on a system definition file.

* guix/build/lisp-utils.scm (compile-system): Replace load with asdf:load-asd.
(system-dependencies): Likewise.
(test-system): Likewise.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Andy Patterson 2018-08-30 01:36:31 -04:00 committed by Ludovic Courtès
parent e831a1668b
commit 5f6908d664
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -152,8 +152,7 @@ with PROGRAM."
first."
(lisp-eval-program
`((require :asdf)
(let ((*package* (find-package :asdf)))
(load ,asd-file))
(asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(asdf:operate 'asdf:compile-bundle-op ,system))))
(define (system-dependencies system asd-file)
@ -162,8 +161,7 @@ asdf:system-depends-on. First load the system's ASD-FILE."
(define deps-file ".deps.sexp")
(define program
`((require :asdf)
(let ((*package* (find-package :asdf)))
(load ,asd-file))
(asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(with-open-file
(stream ,deps-file :direction :output)
(format stream
@ -203,19 +201,18 @@ asdf:system-depends-on. First load the system's ASD-FILE."
Also load TEST-ASD-FILE if necessary."
(lisp-eval-program
`((require :asdf)
(let ((*package* (find-package :asdf)))
(load ,asd-file)
,@(if test-asd-file
`((load ,test-asd-file))
;; Try some likely files.
(map (lambda (file)
`(when (uiop:file-exists-p ,file)
(load ,file)))
(list
(string-append system "-tests.asd")
(string-append system "-test.asd")
"tests.asd"
"test.asd"))))
(asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
,@(if test-asd-file
`((asdf:load-asd (truename ,test-asd-file)))
;; Try some likely files.
(map (lambda (file)
`(when (uiop:file-exists-p ,file)
(asdf:load-asd (truename ,file))))
(list
(string-append system "-tests.asd")
(string-append system "-test.asd")
"tests.asd"
"test.asd")))
(asdf:test-system ,system))))
(define (string->lisp-keyword . strings)