Make bootstrapping `quicklisp' safer

This commit is contained in:
Gerard Vermeulen 2023-03-28 08:16:12 +02:00
parent 7bc7b4118b
commit 610a023211
1 changed files with 18 additions and 17 deletions

View File

@ -4549,23 +4549,24 @@ git clone git@github.com:ageldama/cl-state-machine.git
;; https://lisp-journey.gitlab.io/blog/gui-programming-in-common-lisp-part-3-of-5-gtk3/
;; https://www.crategus.com/books/cl-cffi-gtk/
;; https://www.crategus.com/books/cl-gtk/gtk-tutorial.html
(ql:register-local-projects)
(ql:quickload "cs325")
(ql:quickload "meta")
(ql:quickload "named-readtables")
(ql:quickload "nodgui") ;; requires https://www.tcl.tk/software/tklib/
(ql:quickload "rutils")
(ql:quickload "rutilsx")
(ql:quickload "try") ;; "try" is a "named-readtables/test" requirement.
(ql:quickload "ucons")
(when (some #'identity (mapcar (lambda (x)
(let ((*default-pathname-defaults* x))
(probe-file "cl-state-machine")))
ql:*local-project-directories*))
(ql:quickload "cl-state-machine")
(ql:quickload "cl-state-machine-examples")
(ql:quickload "cl-state-machine-graphing")
(ql:quickload "cl-state-machine-test"))
(defun probe--local-project-directory (name)
(some #'identity (mapcar (lambda (x)
(let ((*default-pathname-defaults* x))
(probe-file name)))
ql:*local-project-directories*)))
(when (probe--local-project-directory "cs325")
(ql:register-local-projects)
(ql:quickload "cs325")
(ql:quickload "meta")
(ql:quickload '("named-readtables" "try")) ;; testing requires "try".
(ql:quickload "nodgui") ;; requires https://www.tcl.tk/software/tklib/
(ql:quickload '("rutils" "rutilsx"))
(ql:quickload "ucons"))
(when (probe--local-project-directory "cl-state-machine")
(ql:quickload '("cl-state-machine" "cl-state-machine-examples"
"cl-state-machine-graphing" "cl-state-machine-test")))
#+end_src
#+caption: A =quicklisp= sbclrc file.