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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.