Hi Stephen,

Thanks for this report. I've filed a ticket at https://metabang.fogbugz.com/default.asp?219_9l0u1auj and will incorporate your patch as soon as I can.

On Sep 10, 2008, at 12:45 PM, Stephen Compall wrote:

I have my SBCL_HOME pointing to a symlink.  As a result, because ASDF
chases symlinks, the SBCL-specific rule doesn't work with contribs in my
environment.

I work around this by chasing symlinks for all sources in
*source-to-target-mappings*.  This has worked well for me for a while; I
include it now as a Darcs patch.

Wed Sep 10 10:01:13 CDT 2008  Stephen Compall <scompall@nocandysw.com>
 * follow symlinks in source path prefixes of *source-to-target-mappings*

New patches:

[follow symlinks in source path prefixes of *source-to-target-mappings*
Stephen Compall <scompall@nocandysw.com>**20080910150113] {
hunk ./dev/main.lisp 146
+(defun source-to-target-resolved-mappings ()
+  "Answer `*source-to-target-mappings*' with additional entries made
+by resolving sources that are symlinks.
+
+As ASDF sometimes resolves symlinks to compute source paths, we must
+follow that.  For example, if SBCL is installed under a symlink, and
+SBCL_HOME is set through that symlink, the default rule above
+preventing SBCL contribs from being mapped elsewhere will not be
+applied by the plain `*source-to-target-mappings*'."
+  (loop for mapping in asdf:*source-to-target-mappings*
+ for (source target) = mapping
+ for true-source = (and source (resolve-symlinks source))
+ if (equal source true-source)
+  collect mapping
+ else append (list mapping (list true-source target))))
+
hunk ./dev/main.lisp 166
-   source possible-paths *source-to-target-mappings*))
+   source possible-paths (source-to-target-resolved-mappings)))
}

Context:

[website stuff
Gary King <gwking@metabang.com>**20080811234605]
[TAG version-0.3.5
Gary King <gwking@metabang.com>**20080811234441]
[bump version
Gary King <gwking@metabang.com>**20080811234425]
[Three patches from Marko Kocic
Gary King <gwking@metabang.com>**20080811234342]
[docstrings and web pages
Gary King <gwking@metabang.com>**20080621022634]
[TAG version-0.3.4
Gary King <gwking@metabang.com>**20080608024028]
[bump version
Gary King <gwking@metabang.com>**20080608024016]
[Update copyright
Gary King <gwking@metabang.com>**20080608023738]
[Remove TextMate website project file
Gary King <gwking@metabang.com>**20080608023726]
[LOAD-ONLY-FILE-MIXIN fix for ECL
Luis Oliveira <loliveira@common-lisp.net>**20080604040541

ECL's flavour of ASDF defines an :after method on PERFORM LOAD-OP
that expects previous compilation so we use an :around method to
avoid that.
]
[Hey, it's 2008 plus some minor website twitches
Gary King <gwking@metabang.com>**20080505154612]
[TAG version-0.3.3
Gary King <gwking@metabang.com>**20080505152258]
[bumped version
Gary King <gwking@metabang.com>**20080505152246]
[Reorder *architecture-features* from most specific to least specific.
Stelian Ionescu <sionescu@common-lisp.net>**20080505135024]
[Fix lisp-version-string for CMUCL.
Stelian Ionescu <sionescu@common-lisp.net>**20080505134531]
[Add support for BSD features, reorder *os-features* from most specific to least specific.
Stelian Ionescu <sionescu@common-lisp.net>**20080505121844]
[updated test configuration
Gary King <gwking@metabang.com>**20080416001346]
[TAG version-0.3.2
Gary King <gwking@metabang.com>**20080416000831]
[bumped version
Gary King <gwking@metabang.com>**20080416000810]
[misc
Gary King <gwking@metabang.com>**20080416000619]
[Add :x86_64 to *architecture-features* (used by ECL)
Luis Oliveira <loliveira@common-lisp.net>**20080329001356]
[ABL is standing on its own two (?!) feet
Gary King <gwking@metabang.com>**20080316163908]
[TAG version-0.3.1
Gary King <gwking@metabang.com>**20080222161826]
[Added more tests
Gary King <gwking@metabang.com>**20080222161456]
[Added dummy system diff for testing
Gary King <gwking@metabang.com>**20080222161438]
[Updated documentation
Gary King <gwking@metabang.com>**20080222161310]
[Updated preference file loading with a Patch from Peter Seibel. Thanks.
Gary King <gwking@metabang.com>**20080222161206]
[Updated implementation-specific-directory-name with code from swank
Gary King <gwking@metabang.com>**20080222161104]
[Bumped version and switched from index.lml to index.md
Gary King <gwking@metabang.com>**20080222161032]
[website
Gary King <gwking@metabang.com>**20080203034305]
[added lift-standard.config
Gary King <gwking@metabang.com>**20080203034234]
[*map-all-source-files* (hat tip to Cyrus Harmon)
Gary King <gwking@metabang.com>**20080203034126]
[added .boring file
Gary King <gwking@metabang.com>**20080203034007]
[Added test system
Gary King <gwking@metabang.com>**20080203033204]
[Clean up docstrings
Gary King <gwking@metabang.com>**20071214000942]
[still more website updates
Gary King <gwking@metabang.com>**20071214000913]
[more website updates
Gary King <gwking@metabang.com>**20071214000832]
[lots of website update things
Gary King <gwking@metabang.com>**20071213222347]
[TAG version-0.2.5
Gary King <gwking@metabang.com>**20071204150045]
[Exported implementation-specific-directory-name because it's handy to have around; bumped version to 0.2.5
Gary King <gwking@metabang.com>**20071204150033]
[bumped version
Gary King <gwking@metabang.com>**20071031125924]
[On CMUCL (user-homedir-pathname) evaluates to #Phome: which can confuse other asdf extensions which pass pathnames to external commands. This patch from Anmol Khirbat fixes the problem by wrapping the call with truename in the definition of *centralize-lisp-binaries*.
Gary King <gwking@metabang.com>**20071031125728]
[TAG version-0.2.3
Gary King <gwking@metabang.com>**20070129195356]
[Added default mapping to correctly handle SBCL innards; bumped version.
Gary King <gwking@metabang.com>**20070129195348]
[TAG version-0.2.2
Gary King <gwking@metabang.com>**20070107195925]
[Bumped version and copyright
Gary King <gwking@metabang.com>**20070107195916]
[TAG version-0.2.1
Gary King <gwking@metabang.com>**20070102151329]
[Bumped version to 0.2.1
Gary King <gwking@metabang.com>**20070102151317]
[Thanks to Robert Goldman and Charley Cox for an improvement on my hack for detecting case-mode in Allegro. Now it does it right.
Gary King <gwking@metabang.com>**20070102151246]
[TAG version-0.2.0
Gary King <gwking@metabang.com>**20061108151403]
[bump version
Gary King <gwking@metabang.com>**20061108151345]
[keep in sync with slime and 64 bit lisps
Gary King <gwking@metabang.com>**20061108151258]
[Added *include-per-user-information* based and implemented from a patch by Erik Enge. This allows customization of the output directory based on the identity of the current user.
Gary King <gwking@metabang.com>**20060801025926]
[Support for 64 bit Allegro
Gary King <gwking@metabang.com>**20060713020415]
[Updated for 64-bit OpenMCL (thanks to Joshua Moody) and SCL (code grabbed from SLIME)
Gary King <gwking@metabang.com>**20060616013237]
[Now reads preferences from ~/.asdf/asdf-binary-locations.lisp
Gary King <gwking@metabang.com>**20060615124855]
[Added automatic 'preferences' loading -- stored in ~/.asdf/asdf-binary-locations.lisp.
Gary King <gwking@metabang.com>**20060611191208]
[website glitch and copyright to 2006 -- about time <smile>
Gary King <gwking@metabang.com>**20060606125800]
[Added architecture-feature for ECL on x86.
Greg Pfeil <greg@technomadic.org>**20060606070632]
[Updated website
Gary King <gwking@metabang.com>**20060605163951]
[Fixed two spelng misteaks
Gary King <gwking@metabang.com>**20060605155920]
[Fixed a warning about *system-configuration-paths* not being bound
Gary King <gwking@metabang.com>**20060605141518]
[Started to add automated tests based loosely on the ones for ASDF itself
Gary King <gwking@metabang.com>**20060605141458]
[Merge patches and suggestions from Peter Seibel and Robert Goldman to make the behavior more flexible and featureful. Can now create a single FASL directory and/or use generic functions to specialize things.
Gary King <gwking@metabang.com>**20060604145725]
[change determine-mapping into a generic-function (as per Robert Goldman's suggestion) and added more parameters.
Gary King <gwking@metabang.com>**20060530023043]
[Fixing in-packages
Gary King <gwking@metabang.com>**20060511185533]
[Handle Allegro mlisp
Gary King <gwking@metabang.com>**20060320233203]
[Fixed website type
Gary King <gwking@metabang.com>**20060205025006]
[Updated formatting of news section
Gary King <gwking@metabang.com>**20060202184555]
[Moved to almost tableless design; I now have achieved nirvana: I can look a bit odd in every browser! <smile>
Gary King <gwking@metabang.com>**20060128235046]
[Being in own package a bad idea... can't easily set the configuration variable
Gary King <gwking@metabang.com>**20060121155551]
[Separated into its own package
Gary King <gwking@metabang.com>**20060120201644]
[Improved documentation; added note about SBCL to webpage too
Gary King <gwking@metabang.com>**20060119152113]
[removed css file
Gary King <gwking@metabang.com>**20060109201402]
[Re-worked webpage
Gary King <gwking@metabang.com>**20060109201336]
[Swapped output-files  and determine-mapping to make CMUCL happier
Gary King <gwking@metabang.com>**20060109201311]
[Added website module
Gary King <gwking@metabang.com>**20060109201244]
[added notes.text
Gary King <gwking@metabang.com>**20060104224507]
[Added COPYING file
Gary King <gwking@metabang.com>**20060101142409]
[Made code load-only (so that it doesn't need to bootstrap itself <smile>. Separated main function into two pieces; allowed nil mappings to indicate that compiled version should live in same place as source version (i.e., no translation).
Gary King <gwking@metabang.com>**20051226010101]
[Converted the nfs/home pair to an example (thanks Greg Pfeil)
Gary King <gwking@metabang.com>**20051222200457]
[added website
Gary King <gwking@metabang.com>**20051221022519]
[first record
Gary King <gwking@metabang.com>**20051220121839]
Patch bundle hash:
caa35509038007e8231f8ea3f5ef827884a307a6

--
I write stuff at http://failex.blogspot.com/ now.  But the post
formatter and themes are terrible for sharing code, the primary
content, so it might go away sooner or later.
_______________________________________________
asdf-binary-locations-devel mailing list
asdf-binary-locations-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-binary-locations-devel

--
Gary Warren King, metabang.com 
Cell: (413) 559 8738
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM