[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix-based build tool

From: Catonano
Subject: Re: Guix-based build tool
Date: Thu, 19 Apr 2018 18:49:20 +0200

2018-04-18 23:09 GMT+02:00 Ludovic Courtès <address@hidden>:

Christopher Lemmer Webber <address@hidden> 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’d be more widely
applicable), and cons (limited world view).

Food for thought!


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

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 built

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 ☺

reply via email to

[Prev in Thread] Current Thread [Next in Thread]