[uk-lispers] Hello Uk Lispers

Sean Ross rosssd at gmail.com
Mon May 19 06:04:00 PDT 2008


On 5/19/08, Nick Levine <ndl at ravenbrook.com> wrote:
>  Sorry this isn't a brilliant answer. Anyone else care to be more
>  useful?

I've had good luck using the following on windows (still seems to work)

(in-package :asdf)

(defun make-sysdef-dir-searcher (&rest search-paths)
  #'(lambda (system)
      (let* ((name (coerce-name system)))
        (loop :for path :in search-paths
                 :for search-path = (merge-pathnames
(translate-logical-pathname path)
                                                  (make-pathname :name name
                                                                 :type "asd"

:version :newest
                                                                 :case :local))
              :thereis (find-if #'probe-file (directory search-path))))))

(pushnew (make-sysdef-dir-searcher "/path/to/systems/**/")
                  *system-definition-search-functions*)
;; where /path/to/systems matches a site directory in asdf-install:*locations*

which helps sort out asdf's dislike of non *nix systems although
recursive directory scanning can get quite expensive.

Asdf-install can similarly be coerced into behaving, although i am no
longer forced into using windows so i cannot guarantee that the
following will still work, details can be found here
http://sean-ross.blogspot.com/2007/05/asdf-install-windows.html

This does require that you use the portable asdf-install[1] and not
the one shipped with sbcl, it also  appears that the *tar-extractors*
variable may have been renamed to *tar-extractor* (latest tarball and
changelog seem to disagree)

cheers,
  sean.

1: http://common-lisp.net/project/asdf-install/


More information about the uk-lispers mailing list