From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Richardson Subject: Re: [PATCH 0/12]: Add asdf-build-system. Date: Tue, 27 Sep 2016 08:51:02 -0400 Message-ID: <8737klbj61.fsf@thor.jamestechnotes.com> References: <20160927041532.27097-1-ajpatter@uwaterloo.ca> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47346) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1borr6-0003SI-4m for guix-devel@gnu.org; Tue, 27 Sep 2016 08:51:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1borr1-0003Z0-RC for guix-devel@gnu.org; Tue, 27 Sep 2016 08:51:27 -0400 Received: from gandalf.jamestechnotes.com ([2600:3c02::f03c:91ff:fe61:3885]:59728) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1borr1-0003Vm-MA for guix-devel@gnu.org; Tue, 27 Sep 2016 08:51:23 -0400 In-reply-to: <20160927041532.27097-1-ajpatter@uwaterloo.ca> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Andy Patterson Cc: guix-devel@gnu.org 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