From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Lemmer Webber Subject: Re: Guix-based build tool Date: Mon, 16 Apr 2018 11:59:42 -0500 Message-ID: <87604r6q9t.fsf@dustycloud.org> References: <20180406220728.GA8995@thebird.nl> <87vad0ieie.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:32880) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f87Tm-000887-Ja for guix-devel@gnu.org; Mon, 16 Apr 2018 12:59:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f87Tl-0003k8-9t for guix-devel@gnu.org; Mon, 16 Apr 2018 12:59:46 -0400 In-reply-to: <87vad0ieie.fsf_-_@gnu.org> 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: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel Ludovic Court=C3=A8s writes: > Hello! > > Pjotr Prins skribis: > >> Indeed, I love working with Guix and developing with Guix. Guix takes >> care of my deployment and configuration requirements. >> >> I have written some time in the past that with Guix you don't need >> autotools. The main thing autotools solve is configuring the build for >> an environment. At the same time, with Guix you get a predictable >> environment, so a make file (or similar) suffices. It is what I do in >> all my development projects - I don't use autotools to develop and >> deploy them. It greatly simplifies my existence :). Indeed, I have >> never liked autotools (essentially a nasty hack) and only used them >> before Nix/Guix. So, my approach is the same as yours :)=20 > > +1! > > If we could provide tooling with an abstraction level close to that of = a > makefile, that=E2=80=99d help a lot. > > Actually, just like we have =E2=80=98emacs-build-system=E2=80=99, we co= uld very much add > =E2=80=98guile-build-system=E2=80=99 for simple Guile packages that don= =E2=80=99t need/use > Autoconf & co. > > =E2=80=98guile-build-system=E2=80=99 would automatically run =E2=80=98g= uild compile=E2=80=99, > =E2=80=98makeinfo=E2=80=99, etc. pretty much like we do here: > > https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.sc= m#n870 > > Once we have that, developers of Guile packages can simply drop a > =E2=80=98.guix=E2=80=99 file in their project and use it with =E2=80=98= guix environment=E2=80=99, =E2=80=98guix > build=E2=80=99, and =E2=80=98guix package=E2=80=99. > > That=E2=80=99s coarser-grain than a makefile, of course, but would be a= good > first step to providing tooling for people working on Guile code. > > Any takers for =E2=80=98guile-build-system=E2=80=99? > > > A next step could be to add a tool that understands a syntax like that > of the guildhall, which gets us closer to the makefile/Makefile.am leve= l > of abstraction: > > https://github.com/ijp/guildhall/blob/master/docs/packaging.texi#L121 > > Ludo=E2=80=99. While this is a fun idea, I'd still much rather have a guile-based DSL replacement for autotools type things that's standalone (but maybe also which can export to shell if need be). David Thompson has made many comments before on the mistake of mixing build systems and package managers... I'm a bit worried that we might be encouraging going down that same path?