[asdf-devel] :logical-hostname

Robert Goldman rpgoldman at sift.info
Tue Mar 30 14:06:42 UTC 2010


On 3/29/10 Mar 29 -4:00 PM, Juan Jose Garcia-Ripoll wrote:
> One of the common problems that ASDF users faced when introducing the
> new binary location system is finding out where things reside.
> 
> Another problem we will eventually find is locating the resources
> associated to an ASDF system which has been replaced by a precompiled
> version.
> 
> In general it would be desirable for a system to be able to locate its
> resources (additional files, icons, bitmaps, etc) using logical pathnames.
> 
> For that purpose I have coded a small patch that adds a new keyword,
> :logical-host, to DEFSYSTEM. The keyword defines a logical pathname
> translation from "**;*.*.*" to "path/to/asdf/or/pathname/argument/**/*.*"
> 
> This way we may have
> 
> (defsystem :cl-unicode
>   :logical-host "cl-unicode"
>   ...)
> 
> and in the sources load the databases such as
> "cl-unicode:uppercase-table.dat"
> 
> https://bugs.launchpad.net/asdf/+bug/551222

FWIW, Faré provided a couple of new API functions to give ASDF users
this function, notably

SYSTEM-RELATIVE-PATHNAME

and

SYSTEM-SOURCE-DIRECTORY

For what it's worth, I try to avoid logical-pathnames in portable code,
having been hoist too many times on the petard of ACL/SBCL
incompatibility in handling logical pathnames (SBCL sticks to the spec,
in the name of portability and standardization; ACL accepts sensible,
spec-defying logical pathnames in the name of utility).

Best,
r




More information about the asdf-devel mailing list