Commit cdde94b4 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

4.0.7: give Quicklisp a chance to quickload dependencies.

When Quicklisp is installed, asdf:load-system won't download missing dependencies,
but ql:quickload will, so use the latter.
Also, remove one bit of compatibility with old ASDF's that aren't supported anyway.
parent 6cd794b5
#!/bin/sh
#| cl-launch.sh -- shell wrapper generator for Common Lisp software -*- Lisp -*-
CL_LAUNCH_VERSION='4.0.6'
CL_LAUNCH_VERSION='4.0.7'
license_information () {
AUTHOR_NOTE="\
# Please send your improvements to the author:
......@@ -1593,6 +1593,7 @@ print_cl_launch_asd () {
;;
(asdf:defsystem :cl-launch
:depends-on ((:version :asdf "3.0.1")) ; we need UIOP, included in ASDF 3 and later
:licence "MIT"
:components ((:file "launcher")))
END
}
......@@ -2384,27 +2385,20 @@ Returns two values: the fasl path, and T if the file was (re)compiled"
(setf *cl-launch-file* (getenvp "CL_LAUNCH_FILE")
*verbose* (when (getenvp "CL_LAUNCH_VERBOSE") t)))
;; We provide cl-launch, no need to go looking for it further!
(unless (fboundp 'asdf::register-preloaded-system)
(eval
'(progn
(defvar asdf::*preloaded-systems* (make-hash-table :test 'equal))
(defun asdf::sysdef-preloaded-system-search (requested)
(let ((name (coerce-name requested)))
(multiple-value-bind (keys foundp) (gethash name asdf::*preloaded-systems*)
(when foundp
(apply 'make-instance 'system :name name :source-file (getf keys :source-file) keys)))))
(defun asdf::register-preloaded-system (system-name &rest keys)
(setf (gethash (coerce-name system-name) asdf::*preloaded-systems*) keys))
(asdf::appendf asdf:*system-definition-search-functions* '(asdf::sysdef-preloaded-system-search)))))
(asdf::register-preloaded-system "cl-launch")
(defun load-sys (system)
(if (find-package :quicklisp)
(let ((*standard-output* (make-broadcast-stream)))
(symbol-call :quicklisp :quickload system))
(asdf:load-system system)))
(defun build-and-load (build restart final init quit)
(dolist (x build)
(ecase (first x)
((:eval-input :load-system require)
(symbol-call :asdf (first x) (second x)))
((:load-system) (load-sys (second x)))
((:eval-input) (eval-input (second x)))
((require) (require (second x)))
((:load)
(let ((*package* (find-package (third x))))
(etypecase (second x)
......@@ -2506,6 +2500,7 @@ Returns two values: the fasl path, and T if the file was (re)compiled"
:build-operation program-op
:build-pathname ,(ensure-absolute-pathname dump #'getcwd)
:depends-on ,dependencies))))
(load-sys program-sys) ;; Give quicklisp a chance to download things
(operate 'program-op program-sys))
(cleanup-temporary-files))
(quit)))
......
cl-launch (4.0.7-1) unstable; urgency=low
* Give Quicklisp a chance to download dependencies:
use ql:quickload instead of asdf:load-system.
-- Francois-Rene Rideau <fare@tunes.org> Thu, 24 Jul 2014 15:42:02 -0400
cl-launch (4.0.6-1) unstable; urgency=low
* Separate --load and --file; fix --file - feature.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment