[asdf-install-devel] Relative symlinks to sysfiles

Dan Muller pikdj2002 at sneakemail.com
Tue Dec 25 18:39:11 UTC 2007


Chaitanya Gupta wrote:
> One minor problem I have with asdf-install is that symlinks (usually in
> the systems/ directory) to .asd files are absolute, and not relative.
> This becomes a pain if you want to shift your Lisp libraries to a
> different directory from the one they were installed in - all the
> symlinks have to be created again.
>
> So I have attached a small patch which allows one to create relative
> symlinks to .asd files (usually in the systems/ directory) -- if
> *relative-symlinks* is non-NIL, the symlinks created are relative. The
> code is not all that great, but this is the "best, hopefully portable"
> solution that I could come up with (will be great if anyone can suggest
> improvements). It works on ACL8 and SBCL 1.0.5 on OS X (I cannot test it
> on other environments right now, but it should work fine on Linux for
> these two implementations, I think).
>
> The patch is in unified diff format (created using darcs diff -u). If
> its good enough, I'll create a patch file and send it. Otherwise
> suggestions are always welcome.
>

Hi Chaitanya,

I didn't test your patch, because I'm currently only testing on
Windows. Eventually I need to get myself set up for testing on my
Linux box, too.

My only critique at the moment has to do with the fact that I'd like
to see the set of customizable exports from ASDF-INSTALL kept
small. Symlinking the system files is a problematic area for Windows
users and needs a better solution there. Rather than adding an
exported boolean symbol, I'd much rather see something like a variable
whose value is a function that is responsible for "registering" a
system file. By default, this would symlink as is currently done; you
could replace the value with your function, which then wouldn't have
to be part of ASDF-INSTALL (although it could still be, as an exported
convenience function). This would also provide a means for Windows
users to replace it with a function that coordinates with their ASDF
(or MK-DEFSYSTEM) configuration.

Also, accompanying updates to documentation and unit tests would be
nice for new features, but I realize that raises the bar on
contributions quite a bit.

-- 
Dan Muller



More information about the asdf-install-devel mailing list