[asdf-devel] configuration question
Hi all, I've been kicking the old LibCL tires lately (tyres for those of you in the UK). ;) With ASDF1, LibCL's configuration required the following steps to be added to the user's lisp rc files. - make sure ASDF is loaded (and trying to guess whether to use the implementation's copy or LibCL's copy) - push LibCL's link directory into *central-registry* - load asdf-binary-locations I think ASDF2 makes these steps easier. - make sure LibCL's ASDF is loaded (ASDF's upgrading handles old implementations, and blocks a downgrade?) - drop a new file in ASDF's config.d - put some translations in that config file So the only potential change to the user's lisp rc file is an added line to load LibCL's ASDF file. The other steps can be done once for all implementations. However, I'm having some difficulty with the config.d file. So far, the syntax is fine; its the naming that I can't get right. When a new version of LibCL is installed, I don't want to auto-uninstall the old version... So my thought was to create files like the following. 50-libcl-2009-10-27.conf # old config 50-libcl-2010-10-27.conf # new, preferred config Unfortunately, string< will load the old file first; thus the old libraries will be found first... Can you think of a natural naming scheme such that the new libraries will be found? Thanks, Daniel
On 2 September 2010 02:11, Daniel Herring <dherring@tentpost.com> wrote:
I think ASDF2 makes these steps easier. - make sure LibCL's ASDF is loaded (ASDF's upgrading handles old implementations, and blocks a downgrade?) ASDF doesn't block downgrades. If you are confident that your implementation comes with ASDF2, you can just (require :asdf) then (asdf:load-system :asdf).
However, I'm having some difficulty with the config.d file. So far, the syntax is fine; its the naming that I can't get right. When a new version of LibCL is installed, I don't want to auto-uninstall the old version... So my thought was to create files like the following.
50-libcl-2009-10-27.conf # old config 50-libcl-2010-10-27.conf # new, preferred config
Unfortunately, string< will load the old file first; thus the old libraries will be found first... Can you think of a natural naming scheme such that the new libraries will be found?
That's an interesting problem. We could have an extension to asdf that handles sorting in reverse order, but here's a proposal that doesn't require such: (let ((time (get-universal-time))) (format nil "50-libcl-~36,4,'0R-~{~5*~4,'0D-~2:*~2,'0D-~2:*~2,'0D~5*~}.conf" (- #36RZZZZ (floor time #.(* 24 60 60))) (multiple-value-list (decode-universal-time time)))) Of course, now you have the Y6498 bug. [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] The rule is, jam to-morrow and jam yesterday, but never jam today. — Lewis Carroll
participants (2)
-
Daniel Herring
-
Faré