[asdf-install-devel] darcs support

Sean Ross sean at guruhut.com
Tue Oct 17 13:05:24 UTC 2006


Attila Lendvai wrote:
> 

>     * create a TARPackage

FWIW it should be possible to extract tarballs, without resorting to gnu tar, using
a combination of gzip-stream and archive. Unfortunately the version of archive
relies on a patched version of with-open-archive (to accept streams as well as pathnames).
I sent a patch to Nathan in July (or somewhere around there) but i'm not too
sure what the current status of archive is.

I've been using the following extras in my .asdf-install

;; add lisp tarball extractor
(asdf:oos 'asdf:load-op :gzip-stream)
(asdf:oos 'asdf:load-op :archive)

(defun asdf-install-extractor (to-dir tarball)
   (let ((name nil))
     (gzip-stream:with-open-gzip-file (ins tarball)
       (archive:with-open-archive (archive ins)
         (let ((*default-pathname-defaults* (pathname to-dir)))
           (archive:do-archive-entries (entry archive name)
             (archive:extract-entry archive entry)
             (unless name (setf name (archive:name entry)))))))
     ;; we use string instead of namestring because
     ;; asdf-install searches for /'s and not \'s
     ;; which will break on windows
     (string name)))

(push 'asdf-install-extractor *tar-extractors*)

Cheers,
  Sean.




More information about the asdf-install-devel mailing list