(mapc 'require '(sb-bsd-sockets sb-posix sb-introspect sb-cltl2 asdf asdf-install)) (defvar *lisp-packages-directory* (merge-pathnames "lib/cl/" (user-homedir-pathname))) (push (list (merge-pathnames "site/" *lisp-packages-directory*) (merge-pathnames "systems/" *lisp-packages-directory*) "Local installation") asdf-install:*locations*) (push (merge-pathnames "systems/" *lisp-packages-directory*) asdf:*central-registry*) (defmacro load-or-install (package) `(handler-case (progn (asdf:operate 'asdf:load-op ,package)) (asdf:missing-component () (asdf-install:install ,package)))) (load-or-install :url-rewrite) (load-or-install :xlunit) (load-or-install :cl-ppcre) (load-or-install :uffi) (load-or-install :md5) (load-or-install :clsql) ;; (push "/usr/local/lib/postgresql82/" ;; clsql-sys:*foreign-library-search-paths*) (load-or-install :clsql-postgresql-socket) (load-or-install :clsql-postgresql) (load-or-install :cffi) (push "/usr/local/lib" cffi:*foreign-library-directories*) (load-or-install :trivial-gray-streams) (load-or-install :flexi-streams) (load-or-install :rfc2388) (load-or-install :cl-base64) (load-or-install :chunga) (push :hunchentoot-no-ssl *features*) (load-or-install :hunchentoot) (load-or-install :cl-who) (load (merge-pathnames "elisp/3rd-party-lib/slime/swank-loader" (user-homedir-pathname))) (dolist (module '("swank-arglists" "swank-asdf" "swank-c-p-c" "swank-fancy-inspector" "swank-fuzzy" "swank-presentation-streams" "swank-presentations")) (load (merge-pathnames (merge-pathnames "elisp/3rd-party-lib/slime/contrib/" module) (user-homedir-pathname)))) (sb-ext:save-lisp-and-die "sbcl.core-with-slime")