From mboxrd@z Thu Jan 1 00:00:00 1970 From: Catonano Subject: Re: Guix-based build tool Date: Thu, 19 Apr 2018 18:49:20 +0200 Message-ID: References: <20180406220728.GA8995@thebird.nl> <87vad0ieie.fsf_-_@gnu.org> <87604r6q9t.fsf@dustycloud.org> <87efjcte6a.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="00000000000068362d056a365a17" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34500) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9CkP-0005BQ-Qs for guix-devel@gnu.org; Thu, 19 Apr 2018 12:49:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9CkO-0000kq-9W for guix-devel@gnu.org; Thu, 19 Apr 2018 12:49:25 -0400 In-Reply-To: <87efjcte6a.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 --00000000000068362d056a365a17 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 2018-04-18 23:09 GMT+02:00 Ludovic Court=C3=A8s : > Hello, > > Christopher Lemmer Webber skribis: > > > 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). > > Yeah, not depending on Guix would have pros (it=E2=80=99d be more widely > applicable), and cons (limited world view). > > Food for thought! > > Ludo=E2=80=99. > > there' s this file guix/buid/emacs-utils.scm it contains utilities to let Emacs byte-compile elisp files So that' s an Emacs build system and it' s embedded in Guix My initial idea was to do something similar with Guile But then I tought that it could have been a stand alone package Today in the morning I could manage to take a look at this issue I made a script that visits the file system tree of a project and compiles the .scm files Here' s a short demo https://www.youtube.com/watch?v=3DLaypeR8uw3Q It doesn' t check the availability of dependencies (other guile packages) yet I was not sure how to achieve that I saw that Automake generates snippets of bash scripting that try to run guile with an expression loading the required module and if that fails then the module is not available The same functionality could be reproduced in Guile I also saw the guildhall files that Ludo mentioned So the thing is that the interface towards the user should be like those guildhall files and the interface towards the system should be like the Automake one But, like Automake, it should only check if a Guile module is reachable on the guile load path If it' s not it shouldn't try manouvres: no sat solving, no fetching, nothing. A dependency could be there because you installed it with apt-get or with dnf or because you used configure make on a manually downloaded guile package Or because you installed it with Guix or Nix If it' s there, fine. if it' s not, that' s bad, the package can' t be buil= t What I mean is that this should be a build system, not a package management system This should address the concern that has been raised Does it ? I'll publish this soon, reviews and contributions appreciated =E2=98=BA --00000000000068362d056a365a17 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


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

Christopher Lemmer Webber <cwe= bber@dustycloud.org> skribis:

> 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 m= aybe
> also which can export to shell if need be).

Yeah, not depending on Guix would have pros (it=E2=80=99d be more wi= dely
applicable), and cons (limited world view).

Food for thought!

Ludo=E2=80=99.


there' s this f= ile guix/buid/emacs-utils.scm

it co= ntains utilities to let Emacs byte-compile elisp files

So that' s an Emacs build system and it' s embe= dded in Guix

My initial idea was to= do something similar with Guile

Bu= t then I tought that it could have been a stand alone package

=
Today in the morning I could manage to take a lo= ok at this issue

I made a script th= at visits the file system tree of a project and compiles the .scm files
=
Here' s a short demo
https://www.youtube.com/wat= ch?v=3DLaypeR8uw3Q

It doesn' t check the availability of dep= endencies (other guile packages) yet

I was not sure how to achieve that

I saw that Automake generates snippets of bash scripting that try to run = guile with an expression loading the required module and if that fails then= the module is not available

The sa= me functionality could be reproduced in Guile

I also saw the guildhall files that Ludo mentioned

=
So the thing is that the interface towards the u= ser should be like those guildhall files

and the interface towards the system should be like the Automake one<= br>
But, like Automake, it should only = check if a Guile module is reachable on the guile load path

If it' s not it shouldn't try manouvres: n= o sat solving, no fetching, nothing.

A dependency could be there because you installed it with apt-get or with= dnf or because you used configure make on a manually downloaded guile pack= age

Or because you installed it wit= h Guix or Nix

If it' s there, f= ine. if it' s not, that' s bad, the package can' t be built
=

What = I mean is that this should be a build system, not a package management syst= em

This should address the concern = that has been raised

Does it ?
<= br>
I'll publish this soon, reviews and= contributions appreciated =E2=98=BA
--00000000000068362d056a365a17--