commit 622fbd58cd8df36c2423759e19c2ea0631912426 Spenser Truex <truex@equwal.com> 2025-08-29 14:08:24 -0400 v0.0.1 alpha released
README.md | 5 ++++- config.lisp | 14 ++++++++++++-- make.lisp | 3 +-- post-config.lisp | 5 +++++ sbcl-install | 1 + sbcl-rc.lisp | 7 +++++++ 6 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md index 3cf838f..3a687b6 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,9 @@ SBCL QUICKLISP +# TODO: +- Manage .sbclrc according to user input. Currently I just unsymlink it +for the update and resymlink it after. # INSTALLATION 1) Add local packages to ASDF if needed in the `~/.sbclrc`. @@ -34,5 +37,5 @@ sbcl --core "$HOME/.sbcl-core/libs" # AFTER UPDATING SBCL Just regenerate the core. ```sh -sbcl --load core-generation.lisp +sbcl --load make.lisp ``` diff --git a/config.lisp b/config.lisp index e6f5f6e..dec7c20 100644 --- a/config.lisp +++ b/config.lisp @@ -2,22 +2,32 @@ (defvar *local-packages* ;; Use lowercase strings in the packages here! For example: - '("utils") + '("utils" "quickwrap") "Load into the core from local ASDF directories.") ;;; USE UPPERCASE STRINGS TO KEEP NAMESPACE CLEAN. (defvar *quicklisp-packages* '(;;; For sly - ; "SB-BSD-SOCKETS" "SB-POSIX" "SB-INTROSPECT" "SB-CLTL2" "ASDF" + "SB-BSD-SOCKETS" "SB-POSIX" "SB-INTROSPECT" "SB-CLTL2" + "ASDF" + "SLYNK" ;;; Personal choices ;; Utilities "ALEXANDRIA" ;For lots of great utilities, very stable. "UIOP" ;Required by almost everyone. "CL-PPCRE" ;Regular expressions. "QUICKPROJECT" ;Generate new projects + "SWANK" ;; Testing "FIVEAM" ;A great way to do testing with reader macros. ;; Threading "BORDEAUX-THREADS" ;Portable threading. ) "Load into core from quicklisp.") + +;; Can only do this stuff once you've saved your own core +(sb-ext:set-sbcl-source-location (merge-pathnames #p"src/repos/sf/sbcl/sbcl" + (user-homedir-pathname))) + +(pushnew (merge-pathnames #p"common-lisp/" (user-homedir-pathname)) + asdf:*central-registry*) diff --git a/make.lisp b/make.lisp index 2466dcf..bb2b5bf 100644 --- a/make.lisp +++ b/make.lisp @@ -11,5 +11,4 @@ (fmakunbound '*quicklisp-packages*) (save-lisp-and-die (merge-pathnames #p".sbcl-core-libs" (user-homedir-pathname))) - - +(load "post-config.lisp") diff --git a/post-config.lisp b/post-config.lisp new file mode 100644 index 0000000..4218586 --- /dev/null +++ b/post-config.lisp @@ -0,0 +1,5 @@ +(setf quickproject:*author* "Spenser Truex <truex@equwal.com>" + quickproject:*include-copyright* nil + quickproject:*license* "GNU GPL v3" + quickproject:*template-directory* + #p"~/common-lisp/quickproject-templates/default/") diff --git a/sbcl-install b/sbcl-install new file mode 120000 index 0000000..e59e812 --- /dev/null +++ b/sbcl-install @@ -0,0 +1 @@ +/home/jose/src/sh/sbcl-install \ No newline at end of file diff --git a/sbcl-rc.lisp b/sbcl-rc.lisp new file mode 100644 index 0000000..3862312 --- /dev/null +++ b/sbcl-rc.lisp @@ -0,0 +1,7 @@ +;;; The following lines added by ql:add-to-init-file: +#-quicklisp +(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" + (user-homedir-pathname)))) + (when (probe-file quicklisp-init) + (load quicklisp-init))) +