On 8 October 2010 22:56, Zach Beane xach@xach.com wrote:
Daniel Herring dherring@tentpost.com writes:
On Fri, 8 Oct 2010, Zach Beane wrote:
Say I download a tarball that has a number of projects in it:
$ tar xzvf fooprojects.tgz fooprojects/neato/neato.asd fooprojects/neato/neato.lisp fooprojects/stuff/stuff.asd fooprojects/stuff/stuff.lisp fooprojects/xyz/xyz.asd fooprojects/xyz/xyz.lisp
If these are now unpacked in ~/src/fooprojects/, how can I add that tree to my ASDF source registry by calling ASDF functions?
Umm, drop a few :directory definitions or one :tree definition in ~/.config/common-lisp/source-registry.conf.d/NN-fooproject.conf
See http://common-lisp.net/project/asdf/asdf/Configuring-ASDF.html http://common-lisp.net/project/asdf/asdf/Controlling-where-ASDF-searches-for...
Say a few minutes later I download another tarball with a number of projects in it:
...
If these are now unpacked in ~/src/barprojects/, how can I add that tree to my ASDF soruce registry by calling ASDF functions, without losing the previous fooprojects registration?
Same, but in NN-barproject.conf
Is there any way to do it in the running system only, i.e. without writing out files?
Two solutions:
1- push directories to the good old asdf:*central-registry* 2- maintain your own *source-registry* parameter, add stuff to it, then give it as parameter to asdf:initialize-source-registry every time you wish to recompute the thing. Hopefully, filesystem caches will make this operation faster the second time around. 3- come up with a nice API, implement it, send in a patch.
I'm not super interested in developing this API myself, but I can see why it's a good thing and will happily help fix it and merge it.
--#f Pray: To ask that the laws of the universe be annulled in behalf of a single petitioner confessedly unworthy. — Ambrose Bierce