summary refs log tree commit diff
path: root/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp')
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp14
1 files changed, 13 insertions, 1 deletions
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
index 0f7941a0115..e9df02e010e 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
@@ -7,11 +7,20 @@
   (:export #:dump-image))
 (in-package :ql-to-nix-system-info)
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (defparameter *implementation-systems*
+    (append
+      #+sbcl(list :sb-posix :sb-bsd-sockets :sb-rotate-byte :sb-cltl2
+                  :sb-introspect :sb-rt :sb-concurrency)))
+  (mapcar (function require) *implementation-systems*))
+
 (declaim (optimize (debug 3) (speed 0) (space 0) (compilation-speed 0) (safety 3)))
 
 ;; This file cannot have any dependencies beyond quicklisp and asdf.
 ;; Otherwise, we'll miss some dependencies!
 
+;; (Implementation-provided dependencies are special, though)
+
 ;; We can't load quicklisp until runtime (at which point we'll create
 ;; an isolated quicklisp installation).  These wrapper functions are
 ;; nicer than funcalling intern'd symbols every time we want to talk
@@ -235,7 +244,8 @@ dependencies that are detected during the install."
     "named-readtables/doc" ;; Dependency cycle between named-readtabes and mgl-pax
     "symbol-munger-test" ;; Dependency cycle between lisp-unit2 and symbol-munger
     "cl-postgres-simple-date-tests" ;; Dependency cycle between cl-postgres and simple-date
-    "cl-containers/with-variates") ;; Symbol conflict between cl-variates:next-element, metabang.utilities:next-element
+    "cl-containers/with-variates" ;; Symbol conflict between cl-variates:next-element, metabang.utilities:next-element
+    "serapeum/docs") ;; Weird issue with FUN-INFO redefinition
   "A vector of systems that shouldn't be loaded by `quickload-parasitic-systems'.
 
 These systems are known to be troublemakers.  In some sense, all
@@ -441,6 +451,8 @@ Run with --debug and/or --verbose for more info.
       (when cache-dir
         (setf cache-dir (pathname-as-directory (parse-namestring cache-dir))))
 
+      (mapcar (function require) *implementation-systems*)
+
       (with-quicklisp (dir) (:cache-dir (or cache-dir :temp))
         (declare (ignore dir))