[asdf-install-devel] ASDF-Install working on Windows XP with CLISP

Chris Done chrisdone at googlemail.com
Sun May 27 04:01:01 UTC 2007


Hi. I've been fudging about with ASDF-Install on Windows+CLISP and
here's what I've been up to.

What works (and did not before)
----------

(1) The system-wide location chooses a more sensible location by default.
(2) When extracting the ASDF packages it now uses the MinGW version of
tar, and works successfully.
(3) Now uses a tiny (12KB) shortcut creating utility I wrote (MIT
license if you want the C++ code*) to create shortcuts to the .asd
files. It uses this transparently in the same way that the tar
extracting code does.
(4) Retrieving dependencies works correctly. E.g. I can successfully
download and install cl-irc and its dependencies.

* I was going to write the shortcut creation with CLISP's FFI, but you
have to use COM in Windows to create shortcuts, and to implement a
wrapper in Lisp for that is a frightening concept to me indeed.

Problems
--------

My actual Cygwin installation is broken. Such was my initial
motivation to "fix" ASDF-Install was because a friend said he was
using Emacs and CLISP under Cygwin (on Windows XP) so that he could
use ASDF-Install. So, I figured I would make modifications that make
it independent of Cygwin and Cygwin's bash.

The actual execution of Cygwin's tar didn't seem correct. I replaced
the execution program and arguments with that of MinGW's tar and it
seemed to hang while reading from the stream, even though tar outputs
something. Perhaps I am in the wrong, but I wrote another function
that does this for the MinGW tar so that it returns the output
successfully.

I'm not sure about defsystem, I've never used it or read about it. I
don't remember modifying anything asdf-specific, but I probably may
have. I'll have to look into it.

What I plan to do
-----------------

I've learned a lot about Common Lisp and portability in going through
ASDF-Install, so I'll probably be making quite a few additions to it.

I need to clean up a few things, to make sure my modifications are
completely transparent i.e ASDF-Install works precisely as before on
non-Windows+CLISP setups.

Once I've cleaned up the code, as I said before, I'll upload it
somewhere if anyone wants to test it on their Windows+CLISP setup.

What I'm considering
--------------------

My heart jumps when the error pops up in SLIME about PGP signatures,
where I commonly select "don't verify". I was thinking it may be a
good idea to make errors and choices interactive. But, I know some
people do like interactive programs, likewise sometimes I do not. So
in that case perhaps asdf-install:install could have a ':interactive'
option which would enable a more newb-friendly, simple interface --
but would not be the default option… or some other method of
controlling the way that ASDF-Install interacts with the user. E.g.:

(asdf-install:install 'cl-irc :interactive t)

I'm probably going to implement something like this. But I would like
to know your opinions on what I have done and what I plan to do, if
you have any. Being primarily on Windows, I think I have the
opportunity to add some cool stuff to ASDF-Install on the Windows side
of things. Ho, ho.

Cheers

--
Chris Done



More information about the asdf-install-devel mailing list