Package: common-lisp-controler
Version: 4.15
asdf-install on Gentoo does not work. Gentoo packages asdf-install in
cl-asdf, and installs the package into common-lisp-controller's asdf
repository in /usr/share/common-lisp. SBCL comes with its own
implementation of asdf-install and must not use the portable version
from the common-lisp-repository. In the CLC dumping process, CLC
installs itself as the first ranking asdf repository by pushing the
/usr/share/common-lisp/systems path onto asdf:*central-repository*.
For SBCL, this is clearly wrong as SBCL's own repository should never be
lower in priority to CLC's repository. My fix is to append rather than
prepand the CLC asdf repository to asdf:*central-repository*, lowering
the CLC priority. This might cause other glitches, but imho this is a
better behaviour. Properly test this patch with other CL implementations
before merging MAIN.
--- common-lisp-controller.lisp 2005-10-17 19:27:23.000000000 +0200
+++ /tmp/common-lisp-controller.lisp 2005-10-17 19:27:11.000000000 +0200
@@ -40,6 +40,8 @@
(defvar *implementation-name* nil "The name of the implementation,
used to name the directory in /var/cache/common-lisp-controller")
+(define-modify-macro appendf (&rest lists) append)
+
(defun init-common-lisp-controller (fasl-root
&key
(source-root "/usr/share/common-lisp/")
@@ -109,14 +111,16 @@
(setq cl:*features* (delete :sbcl-hooks-require cl:*features*))
;; register the systems root:
- (push *systems-root*
- (symbol-value (intern (symbol-name :*central-registry*)
- (find-package :asdf))))
+ (appendf
+ (symbol-value (intern (symbol-name :*central-registry*)
+ (find-package :asdf)))
+ (list *systems-root*))
- (push '(merge-pathnames ".clc/systems/"
- (user-homedir-pathname))
+ (appendf
(symbol-value (intern (symbol-name :*central-registry*)
- (find-package :asdf))))))
+ (find-package :asdf)))
+ (list '(merge-pathnames ".clc/systems/"
+ (user-homedir-pathname))))))
(values))
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]