From mboxrd@z Thu Jan 1 00:00:00 1970 From: julien lepiller Subject: Re: Guix-based build tool Date: Mon, 09 Apr 2018 17:53:03 +0200 Message-ID: <7d2f78af89b8dc380a881176a2011550@lepiller.eu> References: <20180406220728.GA8995@thebird.nl> <87vad0ieie.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42390) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f5Z6Z-0004on-3b for guix-devel@gnu.org; Mon, 09 Apr 2018 11:53:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f5Z6U-0007zZ-OB for guix-devel@gnu.org; Mon, 09 Apr 2018 11:53:15 -0400 Received: from lepiller.eu ([89.234.186.109]:44250) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1f5Z6U-0007xv-CZ for guix-devel@gnu.org; Mon, 09 Apr 2018 11:53:10 -0400 Received: from webmail.lepiller.eu (static-176-182-42-79.ncc.abo.bbox.fr [176.182.42.79]) by lepiller.eu (OpenSMTPD) with ESMTPSA id 450e848f (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO) for ; Mon, 9 Apr 2018 15:55:56 +0000 (UTC) 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: guix-devel@gnu.org Le 2018-04-09 17:30, ludo@gnu.org a écrit : > 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 :) > > +1! > > If we could provide tooling with an abstraction level close to that of > a > makefile, that’d help a lot. I don't really agree mixing a package manager and a build tool is a good idea. Sure, it helps a lot because they both solve the same kind of problem and I certainly see what advantage it would have, but so do maven devs. They mixed a package manager and a build system together. It became the official way to build many packages, including its own dependencies. As a result, it became a total mess to build maven from scratch. So if someone wants to build a package whose only build system is guix but can't use guix for some reason (maybe it wasn't ported to their platform?) will just cry and hate us. > > Actually, just like we have ‘emacs-build-system’, we could very much > add > ‘guile-build-system’ for simple Guile packages that don’t need/use > Autoconf & co. That's more reasonable though :) > > ‘guile-build-system’ would automatically run ‘guild compile’, > ‘makeinfo’, etc. pretty much like we do here: > > > https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.scm#n870 > > Once we have that, developers of Guile packages can simply drop a > ‘.guix’ file in their project and use it with ‘guix environment’, ‘guix > build’, and ‘guix package’. > > That’s 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 ‘guile-build-system’? > > > 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’.