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?
Say a few minutes later I download another tarball with a number of projects in it:
$ tar xzvf barprojects.tgz barprojects/awesome/awesome.asd barprojects/awesome/awesome.lisp barprojects/stump/stump.asd barprojects/stump/stump.lisp barprojects/tapper/tapper.asd barprojects/tapper/tapper.lisp
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?
Thanks, Zach
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
- Daniel
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?
Zach
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
On Fri, 8 Oct 2010, Zach Beane wrote:
Daniel Herring dherring@tentpost.com writes:
On Fri, 8 Oct 2010, Zach Beane wrote:
...
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...
...
Is there any way to do it in the running system only, i.e. without writing out files?
The old *central-registry* seemed easier in this regard (it still exists, but obliterates the new mechanism if used). The new initialize-source-registry parameter would seem useful (it might do the right thing if given :inherit-configuration, not sure whether that preserves existing state).
- Daniel
On 9 October 2010 00:02, Daniel Herring dherring@tentpost.com wrote:
On Fri, 8 Oct 2010, Zach Beane wrote:
Daniel Herring dherring@tentpost.com writes:
On Fri, 8 Oct 2010, Zach Beane wrote:
...
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...
...
Is there any way to do it in the running system only, i.e. without writing out files?
The old *central-registry* seemed easier in this regard (it still exists, but obliterates the new mechanism if used). The new initialize-source-registry parameter would seem useful (it might do the right thing if given :inherit-configuration, not sure whether that preserves existing state).
It still exists, and won't be obsoleted unless and until a replacement is found that gives complete satisfaction to all. It doesn't obliterate the new mechanism; what it does it take precedence over the new mechanism, just like the things you used to push on it had precedence over things otherwise configured by the system.
Don't worry, you can use both the central-registry and the new source-registry, no problem.
If you're going to persist the changes, though, I don't see why there's an issue with creating new configuration files, then reloading the configuration. This allows you to test the configuration as if loading a fresh image (thus more compatible with future invocations), and the computational cost is negligible. If file system access is an issue, 1- how did you install software at all, 2- you CAN either use the central-registry and/or use an explicit source-registry parameter that may or may not :ignore-inherited-configuration.
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Your enemy is never a villain in his own eyes. Keep this in mind; it may offer a way to make him your friend. If not, you can kill him without hate — and quickly. — Robert Heinlein, "Time Enough For Love"