Andy Patterson writes: > Hello, > > As promised, here's my work toward adding a build system for Common Lisp > software. I still have some issues with it as follows: > Thank you!
> Getting things to work "out of the box": I'd like to set up an environment > variable to allow implementations to find installed libraries, but it's a bit > tricky: > > Essentially I'd like to have, in each profile, a setup something like > > export CL_SOURCE_FRAGMENT=#+sbcl \ > (:directory \"${GUIX_PROFILE}/share/common-lisp/sbcl-bundle-systems/\") \ > #+ecl ... \ > ${CL_SOURCE_FRAGMENT} > > followed by > > export CL_SOURCE_REGISTRY=\ > (:source-registry ${CL_SOURCE_FRAGMENT} \ > (:directory \"${GUIX_PROFILE}/share/common-lisp/systems/\") \ > :inherit-configuration) > > This would allow each implementation to pick up their own compiled libraries, > as well as systems installed as source as a fallback. I don't know how to > achieve that kind of a setup, so I'd like some help. I'm also worried about > either blowing away user configuration, or having it shadow the desired > configuration, since this isn't a simple search path which could be appended > to. Should we try to patch the asdf implementations to handle a separate > variable just for guix? > > I'd also like to hear your thoughts on how packages are laid out using the > system, so I've included some examples. I was thinking that something like > package-with-python2 could also be helpful here; is that the right way > forward? > I don't really know enough to offer valid suggestions yet. There are mostly the same questions/issues I hit when trying to package a lisp program with dependencies. The Debian project came up with a thing called common-lisp-controller (http://ci-debian.alioth.debian.org/clid/clid.html/ch-clc.html) which address some of the issues. It seems to build an abstraction layer over asdf. I'm not advocating this as it does seem to presume a Debian-ish infrastructure, just mentioning as a source of potential ideas. > Thanks. -- James Richardson