Recently Written · git

cores

Save your custom core file after re-installing SBCL. Load libraries compiled into the core. Works but very rough around the edges.

git clone https://github.com/equwal/cores

Log | Files | Refs


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)))
+