[armedbear-devel] Using ASDF/BUNDLE for ABCL
Faré
fahree at gmail.com
Sun Mar 31 22:04:43 UTC 2013
I admit I had never looked at how ACBL-JAR works before. I see it's there:
http://trac.common-lisp.net/armedbear/browser/trunk/abcl/contrib/asdf-jar/asdf-jar.lisp
IIUC, the gist is that you somehow traverse the system to gather what files
to zip,
and the tricky issue is that since the output-translations function will be
different
in the build environment and the deployment environment, you have to build
a map
of build-time pathnames in the filesystem to deploy-time pathnames in the
jar file.
Because ASDF 1 or 2 didn't have a good way to do that, ABCL currently does
it
in a clunky way that doesn't account for ASDF extensions.
Doing it correctly is possible using exported functionality of ASDF3,
but requires intercepting (with-asdf-cache (:override t) ...) and
*output-translation-functions* to build a reverse translation table
around a call to (traverse 'load-op system).
Your second email suggests you're looking into combining fasls as an
alternative to building a jar. Sounds great. Regarding how to build a
system that loads the concatenated fasl,
see in asdf/bundle.lisp the (largely untested, stolen from asdf-ecl.lisp)
defmethod perform ((o binary-op) (s system))
Or search the same file for "Example use:"
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics•
http://fare.tunes.org
Justice is not concerned with the results of the various transactions
but only with whether the transactions themselves are fair.
— F.A. Hayek, "Law, Legislation and Liberty", I.6.j
On Sun, Mar 31, 2013 at 3:39 PM, Erik Huelsmann <ehuels at gmail.com> wrote:
> Hi,
>
>
> Some time ago Mark Evenson created ASDF-JAR on ABCL. It has some issues
> packaging ASD files which uses #. syntax to read e.g. version files
> (version.lisp-sexp) such as bordeaux-threads does.
>
> We know ECL started hooking into the ASDF/BUNDLE machinery for ASDF to
> overcome problems like these. Could you help me/us out and explain how we
> can plug ABCL into the same machinery? From what I've seen, it's most
> efficient if the resulting code be committed to ASDF. That's fine by me. At
> this point, I'd just be happy with an explanation on how to do the hooking
> up: the new ASDF/BUNDLE functionality doesn't seem to be documented in the
> manual yet.
>
>
> Thanks for any help you may be able to provide!
>
>
> Bye,
>
>
> Erik.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20130331/dedbf43c/attachment.html>
More information about the armedbear-devel
mailing list