Update ASDF Version to 3.3.3.

  • Done
  • quality assurance status badge
Details
3 participants
  • Katherine Cox-Buday
  • Guillaume Le Vaillant
  • swedebugia
Owner
unassigned
Submitted by
Katherine Cox-Buday
Severity
normal
K
K
Katherine Cox-Buday wrote on 17 Apr 2019 04:34
(address . guix-patches@gnu.org)
87pnplnyvh.fsf@gmail.com
This patch overwrites the ASDF version vendored into SBCL with the
newest version. The SBCL devs have stated[1] that they are not planning
on keeping their version of ASDF up to date. This will allow our SBCL
packages to use the newest ASDF going forward so.

From cfefce666df7a5fbc0f3ab4e771ccc8c28620bdd Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <cox.katherine.e@gmail.com>
Date: Mon, 15 Apr 2019 22:33:27 -0500
Subject: [PATCH 1/2] gnu: Add cl-clack.

* gnu/packages/lisp.scm (cl-clack): New variable.
---
gnu/packages/lisp.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 5549f7ddc8..449bcc856f 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5246,3 +5246,41 @@ Python's WSGI and Ruby's Rack.")
(define-public cl-clack
(sbcl-package->cl-source-package sbcl-clack))
+
+(define-public cl-asdf
+ (let ((version "3.3.3"))
+ (package
+ (name "cl-asdf")
+ (version version)
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append
+ "https://common-lisp.net/project/asdf/archives/asdf-"
+ version ".lisp"))
+ (sha256
+ (base32 "18lr6kxvzhr79c9rx3sdricz30aby866fj0m24w27zxsqlyvn3rd"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils)
+ (guix build lisp-utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (guix build lisp-utils))
+ (let* ((out (string-append (assoc-ref %outputs "out")))
+ (asdf-install
+ (format #f "~a~a/source/asdf/" out %source-install-prefix))
+ (asdf (string-append (assoc-ref %build-inputs "source"))))
+ (mkdir-p asdf-install)
+ (copy-file asdf
+ (string-append asdf-install "asdf.lisp"))))))
+ (home-page "https://common-lisp.net/project/asdf/")
+ (synopsis "Another System Definition Facility")
+ (description
+ "ASDF is what Common Lisp hackers use to build and load software. It is
+the successor of the Lisp DEFSYSTEM of yore. ASDF stands for Another System
+Definition Facility.")
+ ;; MIT License
+ (license license:expat))))
--
2.20.1
From a3b9985c46e2dbc9ce472ed5522cc5f1e8763c6e Mon Sep 17 00:00:00 2001
From: Katherine Cox-Buday <cox.katherine.e@gmail.com>
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(-)

Toggle diff (58 lines)
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
--
Katherine
S
S
swedebugia wrote on 27 Jun 2019 16:18
(address . guix-patches@gnu.org)
934f3db5-792c-78cc-277e-da0107743136@riseup.net
On 2019-04-17 04:34, Katherine Cox-Buday wrote:
Toggle quote (10 lines)
> This patch overwrites the ASDF version vendored into SBCL with the
> newest version. The SBCL devs have stated[1] that they are not planning
> on keeping their version of ASDF up to date. This will allow our SBCL
> packages to use the newest ASDF going forward so.
>
> [1] - https://bugs.launchpad.net/sbcl/+bug/1823442
>
>
>

This seem to have fallen through the cracks. Can someone with cl
knowledge review this?

--
Cheers Swedebugia
G
G
Guillaume Le Vaillant wrote on 17 Jan 2020 17:51
(address . 35302-done@debbugs.gnu.org)
87tv4um3fc.fsf@yamatai
Patches merged as d276ffcac9ad7f5f0feee8de25628b8f37338aec and
2f66c315b8d816685d87ce1e0721a12598be582e. Thanks.
Closed
?