(require 'asdf) (in-package :cl-user) (defun register-all-asdf-sysdefs (directory) "this would be easier if directory **/ worked" (loop with q = (system:list-directory directory) while q for top = (pop q) if (and (null (pathname-name top)) (not (member (car (last (pathname-directory top))) '(".svn" ".webcache") :test #'equal))) do (setq q (append q (register-all-asdf-sysdefs top))) if (equal (pathname-type top) "asd") do (pushnew (namestring directory) asdf::*central-registry* :test 'equal))) (setf (logical-pathname-translations "lsw") `(("**;*.*" ,(make-pathname :directory (append (butlast (pathname-directory *load-pathname*)) '(:wild-inferiors)) :name :wild :type :wild)))) (register-all-asdf-sysdefs (logical-pathname "lsw:")) (defparameter *pellet-dir* (namestring (truename (logical-pathname "lsw:extlib;")))) (defvar *lsw-configuration* nil) (unless (getf *lsw-configuration* :web-cache) (setf (getf *lsw-configuration* :web-cache) (merge-pathnames (make-pathname :directory '(:relative ".webcache")) (truename (logical-pathname "lsw:"))))) ;; http://abcl-dev.blogspot.com/2009/09/loading-fasls-from-jar-files.html ;; these shouldn't be here. (let ((*suppress-compiler-warnings* (not *load-verbose*))) (asdf::oos 'asdf::load-op 'asdf-binary-locations :verbose *load-verbose*) (asdf::oos 'asdf::load-op 'jss :verbose *load-verbose*) (asdf::oos 'asdf::load-op 'patches :verbose *load-verbose*))