From a3b9985c46e2dbc9ce472ed5522cc5f1e8763c6e Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Mon, 15 Apr 2019 22:38:55 -0500 Subject: [PATCH 2/2] gnu: sbcl: Update ASDF Version to 3.3.3. * gnu/packages/lisp.scm (sbcl): Update ASDF Version to 3.3.3. --- gnu/packages/lisp.scm | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 449bcc856f..419ff1d2eb 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -328,14 +328,10 @@ an interpreter, a compiler, a debugger, and much more.") version "-source.tar.bz2")) (sha256 (base32 "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph")) - (modules '((guix build utils))) - (snippet - ;; Add sbcl-bundle-systems to 'default-system-source-registry'. - `(begin - (substitute* "contrib/asdf/asdf.lisp" - ,@(asdf-substitutions name)) - #t)))) + (modules '((guix build utils))))) (build-system gnu-build-system) + (inputs + `(("cl-asdf" ,cl-asdf))) (outputs '("out" "doc")) (native-inputs ;; From INSTALL: @@ -415,6 +411,22 @@ an interpreter, a compiler, a debugger, and much more.") ;; them in HOME, so it needs to be writeable. (add-before 'build 'set-HOME (lambda _ (setenv "HOME" "/tmp") #t)) + (add-after 'unpack 'replace-asdf + ;; SBCL developers have not committed to keeping ASDF up to date + ;; due to breaking changes. Guix can handle this situation easily, + ;; and it behooves us to have more control over what version of + ;; ASDF we use to build software; therefore, replace the contrib + ;; ASDF with the version packaged into Guix. + (lambda* (#:key build-inputs #:allow-other-keys) + (let* ((cl-asdf (assoc-ref %build-inputs "cl-asdf")) + (guix-asdf + (format #f "~a/share/common-lisp/source/asdf/asdf.lisp" + cl-asdf)) + (out (string-append (assoc-ref %outputs "out"))) + (contrib-asdf (format #f "./contrib/asdf/asdf.lisp"))) + (copy-file guix-asdf contrib-asdf) + (substitute* "contrib/asdf/asdf.lisp" + ,@(asdf-substitutions name))))) (replace 'build (lambda* (#:key outputs #:allow-other-keys) (setenv "CC" "gcc") @@ -445,8 +457,8 @@ an interpreter, a compiler, a debugger, and much more.") new-doc/sbcl-dir) (delete-file-recursively old-doc-dir) #t)))) - ;; No 'check' target, though "make.sh" (build phase) runs tests. - #:tests? #f)) + ;; No 'check' target, though "make.sh" (build phase) runs tests. + #:tests? #f)) (native-search-paths (list (search-path-specification (variable "XDG_DATA_DIRS") -- 2.20.1