Re: maintaining non-Lisp systems with ASDF
That's what :defsystem-depends-on is for. Please let me know if you don't find it adequately documented in the manual... Sent from my iPad > On Sep 24, 2015, at 19:41, Robert Dodier wrote: > >> On Wed, Sep 23, 2015 at 2:39 PM, Faré wrote: >> >> What you really need to do is: > > Thanks, I will take a look at that. It is working well enough for the > moment, but I will circle back later to polish it up. > > I have a question now about how to ensure that the :maxima-file > component type is defined before it is used. Let's say I have foo.asd > which has :maxima-file components. Ideally I would like to simply say > (asdf:load-system :foo) without having to load the maxima-file > definition before. It occurred to me to put (defsystem foo :depends-on > ("maxima-file") ...) and move the :maxima-file stuff into another > system. But that doesn't work, of course, because :maxima-file is not > yet defined before the :foo system is parsed, and I get an error about > :maxima-file being unrecognized. > > I can put (load-system :maxima-file) before (defsystem foo ...) and > then it works OK. I'm happy that it works, but it seems a little messy > to me -- there are now two kinds of dependencies, one kind that has to > be loaded before the defsystem, and the other after ... > > It's not a big deal, but can anyone think of a way to move the > maxima-file dependency back into the :depends-on list? > > Thanks for your help, > > Robert Dodier >
Re: maintaining non-Lisp systems with ASDF
On Wed, Sep 23, 2015 at 2:39 PM, Faré wrote: > What you really need to do is: Thanks, I will take a look at that. It is working well enough for the moment, but I will circle back later to polish it up. I have a question now about how to ensure that the :maxima-file component type is defined before it is used. Let's say I have foo.asd which has :maxima-file components. Ideally I would like to simply say (asdf:load-system :foo) without having to load the maxima-file definition before. It occurred to me to put (defsystem foo :depends-on ("maxima-file") ...) and move the :maxima-file stuff into another system. But that doesn't work, of course, because :maxima-file is not yet defined before the :foo system is parsed, and I get an error about :maxima-file being unrecognized. I can put (load-system :maxima-file) before (defsystem foo ...) and then it works OK. I'm happy that it works, but it seems a little messy to me -- there are now two kinds of dependencies, one kind that has to be loaded before the defsystem, and the other after ... It's not a big deal, but can anyone think of a way to move the maxima-file dependency back into the :depends-on list? Thanks for your help, Robert Dodier
Re: maintaining non-Lisp systems with ASDF
On 9/23/15 Sep 23 -3:55 PM, Robert Dodier wrote: > Hey everybody, > > I've made some more progress with a Maxima extension for ASDF > (attached). At this point it works pretty much as expected, for the > simple examples I've tried. I think you should be able to use in > Maxima like this: load("maxima_asdf.lisp"); asdf_load("foo"); to load > foo.asd, which may contain :maxima-file components. asdf_load > translates :maxima-files and compiles the resulting Lisp, while > asdf_load_source just interprets the :maxima-files. > > At this point the only thing I wish I could change (and this is a > minor item) is that output file paths are something like > $HOME/.cache/common-lisp/. > I'm constructing the /... part of it. I wonder if it's > possible to tell ASDF it doesn't need to put in the > part. > > Thanks for your help, and if you have any comments, I would be > interested to hear about it. Robert, please consider writing up your experience, even as a short bulleted list of items, with information about what was *missing* from the documentation. That will help us make this easier for the next person. thanks! r
Re: Bundle operations
Hello, I'm in favor of making it the default option. Regarding detecting if it's corrected - it was already OK in ECL 16.0.0, so I suppose it should be the default from lexically detected version 16.0.0 onwards. Best regards, Daniel Faré writes: > Dear Daniel, dear Jean-Claude, > > when asdf-ecl was initially written, its load-fasl-op was intended > as the default way to load a system. Because of implementation bugs > revealed as ASDF improved its testing, this feature was disabled at > some point while developing ASDF 3.1. Now that these implementation > bugs seem to have been solved, for both ECL and MKCL, the question is: > do you guys want me to make load-bundle-op (as it is now named) > the default *load-system-operation* on ECL and/or MKCL? > > And if so, what test shall I use or not use in determining whether > the implementation is recent enough to use this feature without bug? > I suppose it's better to check against a recent version of ECL that I can test > against this feature than over an older version that may or may not work. > > This is probably not a change that should happen in 3.1.6, > but probably shortly afterwards. > > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org > The kingly office is entitled to no respect. It was originally procured by the > highwayman's methods; it remains a perpetuated crime, can never be anything > but > the symbol of a crime. It is no more entitled to respect than is the flag of > a pirate. — Mark Twain -- Daniel Kochmański | Poznań, Poland ;; aka jackdaniel "Be the change that you wish to see in the world." - Mahatma Gandhi