From 089b7d20bbb5ce659ca0b37822e8ba166eccce53 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Sat, 1 Jun 2024 11:10:39 +0200 Subject: [PATCH] Load quicklisp and slime --- create-core.lisp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/create-core.lisp b/create-core.lisp index aa07e2c..c4b0951 100644 --- a/create-core.lisp +++ b/create-core.lisp @@ -1,3 +1,26 @@ (mapc 'require '(sb-bsd-sockets sb-posix sb-introspect sb-cltl2 asdf)) -(ql:quickload '(:dev.metalisp.survey)) -(save-lisp-and-die "sbcl.core") + +(defun quicklisp-setup () + (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) + (when (probe-file quicklisp-init) + (load quicklisp-init)))) + +(quicklisp-setup) + +(defun slime-setup () + (let ((slime-directory (merge-pathnames "common-lisp/slime/" (user-homedir-pathname))) + (slime-git-url "https://github.com/slime/slime.git") + (slime-tag "v2.30")) + + (unless (probe-file slime-directory) + (ensure-directories-exist slime-directory) + (uiop:run-program (format nil "git clone -b ~a ~a ~a" slime-tag slime-git-url slime-directory))) + + (let ((swankloader (merge-pathnames "swank-loader.lisp" slime-directory))) + (when (probe-file swankloader) + (load swankloader))))) + +(slime-setup) + +(ql:quickload :dev.metalisp.survey) +(swank-loader:dump-image "sbcl.core-with-swank")