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:
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? Thanks. -- Andy