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