Re: resolution of symlinks in asdf
"Robert P. Goldman" <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Kevin" == Kevin Layer <[email protected]> writes: Kevin> Christophe Rhodes <[email protected]> wrote: >>> Kevin Layer <[email protected]> writes: >>> [...snip...] >>> Or following up someone else's suggestion of >>> asdf-binary-locations (I don't know what that is myself, but >>> it sounds plausible)? Kevin> I haven't looked at this yet. This was my suggestion. I mostly use ACL, but like to test with SBCL for stuff I release for general use (open source). So my .sbclrc file contains the following: (asdf:oos 'asdf:load-op :asdf-binary-locations) [asdf-binary-locations is asdf-install-able.] Out of the box, this ensures that my sbcl binaries go in subdirectories as follows: sbcl-<version>-linux-x86 These are relative to the source directory, per standard ASDF behavior. Alternatively, one can specify a value for *implementation-specific-directory-name* to override this behavior. If that doesn't work --- and I don't think that would meet your needs, because your needs aren't compatible with the above standard asdf behavior --- one can build mappings using the *system-configuration-paths* variable. I am inclined to think that this wouldn't work, either, since that is aimed at specific mappings for specific systems, rather than being aimed at general policies. To fix this, I believe it would be sufficient to modify asdf-binary-locations so that *system-configuration-paths* would use regular expressions in its mappings, instead of full pathnames. ASDF-BINARY-LOCATIONS is really only O(115 LoC), so worth a peek, and probably easy to fix (I think turning determine-mapping into a gf might be helpful...). FWIW, I am sympathetic to your perspective, but think that pumping up asdf-binary-locations is a better solution than modifying asdf itself. Here's why: I am sympathetic because I grew up with minicomputers with shared filesystems along the lines of Sun's NFS, which did clever things for binaries. It's only recently I've moved away from having an environment like this. However, I think that trying to fight ASDF into this framework is a losing battle. Environments like the ones you refer to and that I grew up with are rare and becoming more rare. ASDF seems to me to have defaults that are tuned to a world of personal computers, and my personal opinion is that it's easier to use the wrapping facilities to tailor ASDF for other environments, than try to fight to get yours in. I really do think that you could relatively easily get asdf-binary-locations to do what you want and then package that up with allegro, instead of fighting the asdf fight... And as an ACL user, I am strongly motivated to see this work out well for you, because if it works for you I will benefit! Best, R