[bknr-devel] Can't even install bknr

Marcin Tustin mm3 at zepler.net
Sat Feb 17 22:16:48 UTC 2007


I'm trying to install bknr, but I can't get my lisp (sbcl) to find it.

In brief, I've put bknr-svn in $SBCL_HOME, and I have the file
$SBCL_HOME/bknr-svn/bknr/init.lisp looking as below.

The problem is that once I load the file, (asdf:oos 'asdf:load-op :bknr)
just drops me into the debugger with the message "debugger invoked on a
ASDF:MISSING-COMPONENT in thread #<THREAD "initial thread" {A744531}>:
  component "bknr" not found."

------------------
init.lisp:


(in-package :cl-user)
(require :asdf)

;;;;;;;;;;;;;
;; Tweak this
(eval-when (:execute :compile-toplevel :load-toplevel)
  #+allegro
  (setf (logical-pathname-translations "bknr")
    `(("**;*.*.*" "bknr/**/"))
    (logical-pathname-translations "bknr-thirdparty")
    `(("**;*.*.*" "thirdparty/**/"))
    (logical-pathname-translations "eboy")
    `(("**;*.*.*" "eboy/**/")))

  #+cmu
  (setf (logical-pathname-translations "bknr")
    `(("**;*.*.*" "home:bknr-sputnik/bknr/**/"))
    (logical-pathname-translations "bknr-thirdparty")
    `(("**;*.*.*" "home:bknr-sputnik/thirdparty/**/"))
    (logical-pathname-translations "eboy")
    `(("**;*.*.*" "home:bknr-sputnik/eboy/**/")))

  #+sbcl
  (setf (logical-pathname-translations "bknr")
      `(("**;*.*.*"
         ,(merge-pathnames
           (make-pathname :directory '(:relative "bknr-svn" "bknr"
:wild-inferiors)
                          :name    :wild
                          :type    :wild
                          :version :wild)
            (POSIX-GETENV "SBCL_HOME"))))
       (logical-pathname-translations "bknr-thirdparty")
      `(("**;*.*.*"
         ,(merge-pathnames
           (make-pathname :directory '(:relative "bknr-svn" "thirdparty"
:wild-inferiors)
                          :name    :wild
                          :type    :wild
                          :version :wild)
            (POSIX-GETENV "SBCL_HOME"))))
       (logical-pathname-translations "eboy")
      `(("**;*.*.*"
         ,(merge-pathnames
           (make-pathname :directory '(:relative "bknr-svn" "eboy"
:wild-inferiors)
                          :name    :wild
                          :type    :wild
                          :version :wild)
            (POSIX-GETENV "SBCL_HOME"))))))

(eval-when (:execute :compile-toplevel :load-toplevel)
  #-sbcl
  (load #p"bknr-thirdparty:asdf;asdf")
  #+sbcl
  (require :asdf))

(pushnew (translate-logical-pathname #p"bknr:src;") asdf:*central-registry*
:test #'equal)
(pushnew (translate-logical-pathname #p"eboy:src;") asdf:*central-registry*
:test #'equal)

(defparameter *patch-directory* "bknr:patches;")

(defun load-patches (&optional (directory *patch-directory*))
  (dolist (file (directory (merge-pathnames directory #p"patch-*.lisp")))
    (warn "; Loading patch from file ~A~%" file)
    (load file)))

(defun fix-dpd ()
  #+cmu
  ;; Die Sache mit dem aktuellen Verzeichnis hat CMUCL noch immer nicht im
  ;; Griff.  Nachbessern!
  (setf *default-pathname-defaults*
        (pathname
         (concatenate 'string
                      (nth-value 1 (unix:unix-current-directory))
                      "/"))))

(defun make-wild-pathname (type directory)
  (merge-pathnames (make-pathname :type type
                  :name :wild
                  :directory '(:relative :wild-inferiors))
           directory))

(defun setup-registry ()
  (mapc #'(lambda (asd-pathname)
        (pushnew (make-pathname :directory (pathname-directory
asd-pathname))
             asdf:*central-registry*
             :test #'equal))
    (append (directory #p"bknr-thirdparty:**;*.asd")
        (directory #p"bknr:**;*.asd"))))

(defun clean-registry (&optional (dirs asdf:*central-registry*))
  (let ((files (mapcan #'directory
               (mapcan #'(lambda (dir)
                   (when (pathnamep dir)
                     (list (make-wild-pathname "fas" dir)
                       (make-wild-pathname "lib" dir)
                       (make-wild-pathname "x86f" dir)
                       (make-wild-pathname "fasl" dir))))
                   dirs))))
    (dolist (file files)
      (when (probe-file file)
    (format t "Deleting binary file ~S~%" file)
    (delete-file file)))))

#+cmu
(load-patches)

(setup-registry)
(fix-dpd)

(pushnew :cl-gd-gif *features*)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/bknr-devel/attachments/20070217/0769b1c0/attachment.html>


More information about the Bknr-devel mailing list