I haven't heard any objection to my plan of merging asdf-bundle into asdf, but I have not any actively supporting mention either — just the fact that it will moderately enhance the lives of Quicklisp, ECL and MKCL maintainers. I'm leaving you a few more days to send me feedback before I actually do it.
In the meantime, I added a precompiled-system feature to asdf-bundle.
You can distribute a library as fasl-only, by first (1) compiling it with fasl-op on your build image: (asdf:operate 'asdf::fasl-op :my-library) Then copying the output file (first (asdf:output-files (make-instance 'asdf::fasl-op) (asdf:find-system :my-library)) to some destination of your choice.
(2) in your user's image, have a .asd that looks like that, or better, evaluate the form as part of your initialization, without the need for a .asd: (defsystem :my-library :class :precompiled-system :fasl #p"/path/to/my-library.system.fasl") The fasl argument can be a logical pathname or an expression that will be evaluated later.
This way, user libraries can use defsystem :depends-on and find the library whether its source is present or whether a .fasl was made available.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org We are always in anarchy. But we pay a hefty price maintaining the illusion that we aren't, and another one being misled by the illusion.
On Thu, Nov 29, 2012 at 9:50 PM, Faré fahree@gmail.com wrote:
On Thu, Nov 29, 2012 at 11:18 AM, Juan Jose Garcia-Ripoll juanjose.garciaripoll@gmail.com wrote:
On Thu, Nov 29, 2012 at 2:41 PM, Faré fahree@gmail.com wrote:
Now, do we want to distribute asdf-bundle.lisp as a separate system asdf-bundle.asd? Do we want to distribute it as part of asdf.asd the way we used to do asdf-ecl.lisp? Do we want to just add its contents to asdf.lisp, a growth of a bit over 10% in size, for additional functionality on many platforms and much less headaches on ECL?
ECL will pledge to whatever means of distribution you choose. Just keep me informed.
After carefully considering the headache for users of Quicklisp and ECL, and the fact that asdf-bundle now supports load-fasl-op for all actively maintained implementations, except ABCL which has its own thing, I've decided that it's probably best to fold asdf-bundle into ASDF. (Note that I haven't tested the SCL, LispWorks or MKCL ports, and that the LispWorks port I just threw together probably needs some love).
The only objection I can imagine is file size, but somehow, I fear we're past the point of being able to complain. I fully assume the creeping featuritis since ASDF 1. wc stats are as follows: 4534 19011 200127 asdf.lisp 597 2138 21861 asdf-bundle.lisp 5131 21149 221988 total So the increase is a bit under 11% increase in character file size.
I'll give a few days for people to issue objections, and if none is raised, I'll go ahead with the merge some time next week, after hopefully testing on more implementations. Hopefully, I will add some tests to the ASDF test suite.