git/clapt/commit/46fc13a5e3d6b0c1602765dd0927cd4764a9c098.html (5326 bytes)
1 <!DOCTYPE html> 2 <html lang="en"><head><meta charset="UTF-8" /> 3 <meta name="viewport" content="width=device-width, initial-scale=1" /> 4 <title>clapt 46fc13a5 - Recently Written</title> 5 <link rel="stylesheet" href="../../stagit.css" /> 6 </head><body> 7 <div id="top"><a href="../../../index.html">Recently Written</a> · <a href="../../index.html">git</a></div> 8 <h1>clapt</h1><span class="desc">Archived: generate SBCL cores for lots of libraries.</span><p class="url">git clone https://github.com/equwal/clapt</p><p><a href="../../clapt/index.html">Log</a> | <a href="../../clapt/files.html">Files</a> | <a href="../../clapt/refs.html">Refs</a></p><hr/> 9 <div id="content"> 10 <pre>commit 46fc13a5e3d6b0c1602765dd0927cd4764a9c098 11 Spenser Truex <web@spensertruex.com> 12 2019-11-02 22:56:57 -0700 13 14 Better support for different cores. Use symbols. 15 16 </pre><pre> CONFIG-QUICKLISP.lisp | 7 ++----- 17 README.md | 4 ++++ 18 code/install.lisp | 13 ++++++------- 19 code/save.lisp | 14 +++++++------- 20 4 files changed, 19 insertions(+), 19 deletions(-) 21 </pre><pre>diff --git a/CONFIG-QUICKLISP.lisp b/CONFIG-QUICKLISP.lisp 22 index 99749b0..d23baf8 100644 23 --- a/CONFIG-QUICKLISP.lisp 24 +++ b/CONFIG-QUICKLISP.lisp 25 <span class="h">@@ -1,7 +1,4 @@</span> 26 (in-package #:sbcl-librarian) 27 (defparameter *quicklisp-packages* 28 <span class="d">- '(</span> 29 <span class="d">- ;; Example:</span> 30 <span class="d">- ;; alexandria uiop cl-ppcre</span> 31 <span class="d">- )</span> 32 <span class="d">- "User configured Packages for Quicklisp. Edit this!")</span> 33 <span class="a">+ '()</span> 34 <span class="a">+ "user configured Packages for Quicklisp. Edit this!")</span> 35 diff --git a/README.md b/README.md 36 index c31b04e..dad35a9 100644 37 --- a/README.md 38 +++ b/README.md 39 <span class="h">@@ -26,6 +26,10 @@ We need to know which packages are needed, and whether they are from quicklisp.</span> 40 2. Load the package: `(asdf:load-system :sbcl-librarian)` 41 3. Install: `(sbcl-librarian:install)`. SBCL will save and die. 42 43 <span class="a">+By default sbcl-librarian will try to overwrite your installed core file. This</span> 44 <span class="a">+may require root access on your system; alternatively, try</span> 45 <span class="a">+`(sbcl-librarian:install :core "path-to-your-core")` for a different core.</span> 46 <span class="a">+</span> 47 ## Updating packages 48 49 `(sbcl-librarian:update)`. SBCL will save and die again. 50 diff --git a/code/install.lisp b/code/install.lisp 51 index 16975d6..42e51a5 100644 52 --- a/code/install.lisp 53 +++ b/code/install.lisp 54 <span class="h">@@ -64,12 +64,11 @@</span> 55 (prin1 '(sbcl-librarian:update) sbclrc) 56 (format sbclrc "~%")))) 57 58 <span class="d">-(defun backup-core (core &optional (backup #P".core.bak"))</span> 59 <span class="d">- (let ((backup (merge-pathnames backup core)))</span> 60 <span class="d">- (copy-file core backup (* 1024 1024))))</span> 61 <span class="a">+(defun backup-core (core backup)</span> 62 <span class="a">+ (copy-file core backup (* 1024 1024)))</span> 63 64 <span class="d">-(defun install (&optional (sbclrc *sbclrc-path*) (core *core-path*))</span> 65 <span class="d">- (if (not (installedp sbclrc))</span> 66 <span class="d">- (write-to-init-file sbclrc core))</span> 67 <span class="d">- (backup-core core)</span> 68 <span class="a">+(defun install (&key (sbclrc *sbclrc-path*) (core *core-path*))</span> 69 <span class="a">+ (when (not (installedp sbclrc))</span> 70 <span class="a">+ (write-to-init-file sbclrc core))</span> 71 <span class="a">+ (backup-core core (merge-pathnames #P".core.bak" sbclrc))</span> 72 (update core)) 73 diff --git a/code/save.lisp b/code/save.lisp 74 index 0d74463..7f405cf 100644 75 --- a/code/save.lisp 76 +++ b/code/save.lisp 77 <span class="h">@@ -1,15 +1,15 @@</span> 78 (in-package #:sbcl-librarian) 79 80 <span class="d">-(defun update (&optional (core-path *core-path*))</span> 81 <span class="a">+(defun update (&optional (core *core-path*))</span> 82 (load-configs) 83 <span class="d">- (save core-path))</span> 84 <span class="a">+ (save core))</span> 85 86 <span class="d">-(defun save (&optional (core-path *core-path*))</span> 87 <span class="a">+(defun save (&optional (core *core-path*))</span> 88 ;; Should ensure that this is friendly. ~ is not allowed, does it actually 89 ;; exist, etc. 90 (sb-ext:save-lisp-and-die 91 (asdf/pathname:ensure-absolute-pathname 92 <span class="d">- core-path)))</span> 93 <span class="a">+ core)))</span> 94 95 (defun load-configs () 96 (mapcar #'(lambda (fn pkg) 97 <span class="h">@@ -18,10 +18,10 @@</span> 98 (require pkg))) 99 (list #'ql:quickload #'asdf:load-system) 100 (list (verify-ql *quicklisp-packages*) 101 <span class="d">- (verify-asdf *asdf-packages*))))</span> 102 <span class="a">+ (verify-asdf *asdf-packages*))))</span> 103 104 <span class="d">-(defun verify-ql (packages) packages)</span> 105 <span class="d">-(defun verify-asdf (packages) packages)</span> 106 <span class="a">+(defun verify-ql (packages) (macpar #'symbol-name packages))</span> 107 <span class="a">+(defun verify-asdf (packages) (mapcar #'symbol-name packages))</span> 108 109 ;;; Would be nice to have an interface here with continuations, friendly output 110 ;;; and warnings, etc.</pre> 111 </div></body></html>