Hi Pierre,

On Mon, 27 Aug 2018 09:42:27 +0200
Pierre Neidhardt <m...@ambrevar.xyz> wrote:

[...]

> One thing I'd like to understand about Common Lisp packages in Guix,
> if you can shed some light on this: the build system uses ASDF to
> "bundle compile" the entire package into a
> single /gnu/store/…-PACKAGE/lib/PACKAGE--system.fasl file.  This file
> is then referenced in /gnu/store…-PACKAGE/lib/PACKAGE.asd. So when a
> Common Lisp package looks for its dependencies, it searches for a
> PACKAGE.asd file in the LIBRARY_PATH environment variable. Is this
> correct?

It's actually using XDG_DATA_DIRS.  In Guix, we set up our lisp
implementations to check for share/{lisp}-bundle-systems for system
definitions. The links there are followed to the lib directory which is
a bit arbitrary, but was already being used for built-in libraries by
sbcl.

> 
> If so, what would be the steps to package a Common Lisp library
> without ASDF? 

I guess you'd have to basically do what asdf does - call the compiler
on the source files with all the right ceremony.

> Is it possible to create a bundle without ASDF?

I'm guessing it is but it's probably implementation specific.

> How
> are multiple .fasl files loaded when put in a folder pointed by
> LIBRARY_PATH?  Do we absolutely need a .asd file?
>

It could be done with output translations but it's super brittle in my
experience.  I think some asd file is required regardless.

> I have skimmed over the ASDF documentation but I am not sure I can
> find answers there.
> 
> > The log listed in the report when using that PR doesn't show the
> > full details - but I've just found out that some warnings are being
> > treated as errors by sbcl.  
> 
> Which log?  If it's one of mine, I can post the full backtrace.  As
> I'm not too familiar (yet) with Common Lisp and SBCL, I might have
> missed important parts of the backtrace.  Let me know.

I was referring to the log you posted at [1]. I'm guessing that there's
a warning somewhere just up above.

> 
> Regarding your additions: Have a look at my wip-next-browser branch,
> in case it's overlapping with your work.  I've borrowed one or two of
> the packages you had sent earlier on this list.  I've also "fixed"
> one thing in the build system (more of a quick & dirty workaround).

Sure thing.

> 
> Cheers!
> 

--
Andy

[1]<https://github.com/slime/slime/issues/457#details-issuecomment-415824038>

Reply via email to