[asdf-install-devel] Dealing with tar on Windows.

Dan Muller pikdj2002 at sneakemail.com
Mon Nov 12 20:42:49 UTC 2007


On 11/12/2007 Andy Cristina wrote:

>My knowledge of win32 tar implementations is a bit out of date, but
>when I last worked on getting asdf-install to work on windows, bsd tar
>for win32 was the most well supported one.  The various gnu tar ports
>all had bugs, such as an inability to use paths with spaces in the
>name (even escaping the spaces with a '\' didn't seem to work).

Hmm, that sounds all-too familiar.

>Would it be worth looking into removing the gnu tar/gzip dependancy
>altogether in favor of a lisp solution, ala Edi Weitz' lispworks
>startup thing?  Or is this too big a change for too little gain?

Hard to say. I guess it depends on how onerous people consider installing
Cygwin to be, since Cygwin's tar works fine.

I assume you're suggesting implementing de-tar and gunzip in Common
Lisp. How big a task is that?

The only implementation of tar that I found in a quick Google search will
currently only work on SBCL, and sounds like it might have other
significant limitations, too.

Decompressing a gzip file doesn't appear to be too bad. Franz has an
open source implementation, although it's encumbered by the LGPL. I
just glanced at it to get an idea of the overall size of the code, and
it's not that big. Maybe it wouldn't be too hard to write it from
scratch from the spec.

http://www.cs.rice.edu/~froydnj/lisp/tar.lisp
http://opensource.franz.com/deflate/index.html

There *is* a hook in ASDF-INSTALL for adding functions to process the tar
file. In retrospect, I could have used that to integrate my changes with
more backwards compatibility. It could also be used to experiment with a
native Lisp implementation. In fact, several predefined functions could
be offered that the user could add to this list, to deal with different
*external* implementations of tar on different platforms. Hmm.



More information about the asdf-install-devel mailing list