From mboxrd@z Thu Jan 1 00:00:00 1970 From: Catonano Subject: Re: Guix-based build tool Date: Wed, 11 Apr 2018 10:02:38 +0200 Message-ID: References: <20180406220728.GA8995@thebird.nl> <87vad0ieie.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="0000000000000a0c8d05698e100b" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50528) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f6AiQ-0000lk-LU for guix-devel@gnu.org; Wed, 11 Apr 2018 04:02:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f6AiM-0000Ms-4D for guix-devel@gnu.org; Wed, 11 Apr 2018 04:02:50 -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: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: guix-devel --0000000000000a0c8d05698e100b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 2018-04-09 17:30 GMT+02:00 Ludovic Court=C3=A8s : > 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=E2=80=99d help a lot. > > Actually, just like we have =E2=80=98emacs-build-system=E2=80=99, we coul= d 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=98gui= ld 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#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=98gu= ix 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 g= ood > first step to providing tooling for people working on Guile code. > > Any takers for =E2=80=98guile-build-system=E2=80=99? > Ahem... that would be me This would be the most advanced thing I' ve ever done in Guile until now Recently rekado observed that (system*... does NOT spawn a shell and execute commands in it That was a surprise for me Also in the Guile manual I found getcwd and a "chdir" (or something) in order to run a Unix command from within a certain folder So I feel less in the dark than I felt until a short time ago And anyway, I' ll pester you, should I get stuck I won' t be fast, but I' ll keep you updated ;-) > > > 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 it's early for this one We' ll see --0000000000000a0c8d05698e100b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


2018-04-09 17:30 GMT+02:00 Ludovic Court=C3=A8s <<= a href=3D"mailto:ludo@gnu.org" target=3D"_blank">ludo@gnu.org>:
Hello!

Pjotr Prins <pjotr.public12= @thebird.nl> skribis:

> Indeed, I love working with Guix and developing with Guix. Guix takes<= br> > 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<= br> > 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=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:

=C2=A0 https://git.savann= ah.gnu.org/cgit/guix.git/tree/gnu/packages/guile.scm#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=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 goo= d
first step to providing tooling for people working on Guile code.

Any takers for =E2=80=98guile-build-system=E2=80=99?
<= br>
Ahem... that would be me

This would be the = most advanced thing I' ve ever done in Guile until now

Recently rekado observed that (system*... does NOT spawn a shell and exec= ute commands in it

That was a surprise for me

Also in the Guile manual I found getcwd and a "chdir= " (or something) in order to run a Unix command from within a certain = folder

So I feel less in the dark than I felt until a sho= rt time ago

And anyway, I' ll pester you, should I ge= t stuck

I won' t be fast, but I' ll keep you upda= ted ;-)

=C2=A0


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:

=C2=A0 https://github.com/ijp/<= wbr>guildhall/blob/master/docs/packaging.texi#L121

it's early for this one

We' ll s= ee

--0000000000000a0c8d05698e100b--