[armedbear-cvs] r14204 - trunk/abcl/contrib/quicklisp

mevenson at common-lisp.net mevenson at common-lisp.net
Wed Oct 17 06:52:00 UTC 2012


Author: mevenson
Date: Tue Oct 16 23:51:59 2012
New Revision: 14204

Log:
Complete runtime chain to installing Quicklisp.

ABCL-ASDF now knows how to load a locally installed Quicklisp.

To download and install Quicklisp from a clean REPL:

    CL-USER> (require :abcl)(require :abcl-contrib)(require :quicklisp-abcl)

Modified:
   trunk/abcl/contrib/quicklisp/quicklisp-abcl.asd

Modified: trunk/abcl/contrib/quicklisp/quicklisp-abcl.asd
==============================================================================
--- trunk/abcl/contrib/quicklisp/quicklisp-abcl.asd	Tue Oct 16 23:51:58 2012	(r14203)
+++ trunk/abcl/contrib/quicklisp/quicklisp-abcl.asd	Tue Oct 16 23:51:59 2012	(r14204)
@@ -1,12 +1,26 @@
 ;;;; -*- Mode: LISP -*-
 (require :asdf)
+(require :abcl-contrib)
 (require :abcl-asdf)
+(in-package :asdf)
 ;; Quicklisp defines:
 ;;(defvar *setup-url* "http://beta.quicklisp.org/quickstart/setup.lisp")
-(asdf:defsystem :quicklisp-abcl
-    :version "0.1.0"
-    :components ((:iri "http://beta.quicklisp.org/quicklisp.lisp"))
-    #+nil ;;; FIXME tickle the internal Quicklisp setup 
-    :in-order-to ((asdf:compile-op (ql::install))))
-                 
+(defsystem :quicklisp-abcl
+    :version "0.2.0"
+    :description "Convenience stubs to load locally installed Quicklisp."
+;;    #+nil::defsystem-depends-on (abcl-asdf)
+    :components nil)
+;; #+nil::needs-abcl-asdf((:iri "http://beta.quicklisp.org/quicklisp.lisp"))
+;;    #+nil::in-order-to ((asdf:compile-op (ql::install)))  ;;; FIXME tickle the internal Quicklisp setup 
+
+(defmethod perform ((o load-op) (c (eql (find-system 'quicklisp-abcl))))
+  ;;; Load local Quicklisp if it has been an installed
+  (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" 
+                                         (user-homedir-pathname))))
+    (handler-case
+        (when (probe-file quicklisp-init)
+          (load quicklisp-init))
+      (t (e) (load "https://beta.quicklisp.org/quickstart/setup.lisp")))))
+  
+
 




More information about the armedbear-cvs mailing list