From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Guix-based build tool Date: Mon, 09 Apr 2018 17:30:17 +0200 Message-ID: <87vad0ieie.fsf_-_@gnu.org> References: <20180406220728.GA8995@thebird.nl> 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]:56403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f5YkS-0001Lc-VN for guix-devel@gnu.org; Mon, 09 Apr 2018 11:30:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f5YkO-0006vH-QF for guix-devel@gnu.org; Mon, 09 Apr 2018 11:30:24 -0400 Received: from hera.aquilenet.fr ([185.233.100.1]:37578) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f5YkO-0006uS-Jp for guix-devel@gnu.org; Mon, 09 Apr 2018 11:30:20 -0400 In-Reply-To: <20180406220728.GA8995@thebird.nl> (Pjotr Prins's message of "Sat, 7 Apr 2018 00:07:28 +0200") 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: Pjotr Prins Cc: guix-devel 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 could = 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=98guild= 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.scm#n8= 70 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=98guix= 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 level of abstraction: https://github.com/ijp/guildhall/blob/master/docs/packaging.texi#L121 Ludo=E2=80=99.