[asdf-devel] Merging asdf-bundle into asdf

Faré fahree at gmail.com
Mon Dec 3 03:41:16 UTC 2012


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 at gmail.com> wrote:
> On Thu, Nov 29, 2012 at 11:18 AM, Juan Jose Garcia-Ripoll
> <juanjose.garciaripoll at gmail.com> wrote:
>> On Thu, Nov 29, 2012 at 2:41 PM, Faré <fahree at 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.




More information about the asdf-devel mailing list