guix-devel
[Top][All Lists]
Advanced

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

Re: On a Guile-based Build-Tool complimenting Guix


From: Fi
Subject: Re: On a Guile-based Build-Tool complimenting Guix
Date: Fri, 27 Dec 2024 02:41:33 +0200

I was thinking this the other day!, was wondering about how useful a guile 
interface to meson would be.

On 19. 12. 24 22:12, Divya Ranjan wrote:
> Hello Guix,
>
> The other day, after being frustrated of build systems (auto-tools, meson, 
> maven etc.), I wondered why doesn’t Guix which has such powerful tools within 
> it (`guix build`, `guix pack` etc.) also not have a purely Guile-based build 
> tool? After all, our goal is to make deployment, and building both more 
> declarative and away from the all-too-familiar “dependency hell”.
>
> I am not exactly sure how I want to go with this, but I want to extend (if 
> needed) the capabilities of Guix, to allow the developer of a package to use 
> it also to build the package effectively replacing existing build tools. 
> Since we already have build-system, instead of executing make (or whatever 
> other tool) commands from it, we could modify it to itself have all those 
> things that a Makefile would have.
>
> The developer would use Guile to declare their build config, I am again not 
> sure what this might exactly look like, but can’t we have it such that we 
> provide the developer with some tools to _declare_ a custom and 
> package-specific build-system in Guile (just like our familiar 
> gnu-build-system), but this is purely in Guile and executes whatever 
> commands, path declarations and other interactions (such as calling gcc) 
> directly from Guile and not by just calling `make`. I haven’t thought through 
> this clearly, but even if this doesn’t work, the main idea I’d like to 
> propose is to fully replace existing build-tools by making a new Guile build 
> tool to work alongside Guix.
>
> Ideally, once the developer has a build config ready, one can just wrap it up 
> with a package definition in Guile, just like the ones we create to package 
> something upstream. This package definition can then be used in `guix build 
> -f package.scm` to result in a fully transactional building process that 
> focuses not on getting out of dependency hell, but just declaring your config 
> right. And all of this without having to learn yet another build tool that 
> might disappear, and of course, without leaving the comfortable world of Lisp 
> (Scheme).
>
> I was indicated by others that such an idea has previously been conceievd 
> among Guix developers themselves, namely as a GSoC proposal[0]. I couldn’t 
> find if that has progressed towards anything, nor could find anything in the 
> mailing list. I did see Pjotr volunteering to mentor for it, I’ve CC-ed them 
> to see if they’re still interested in such a project. Meanwhile, I’d like 
> input from other Guix core developers on what they think of this, and if they 
> could provide me with some leads on where to go with this.
>
>
> [0]: https://libreplanet.org/wiki/Group:Guix/GSoC-2024
>
> Regards,



reply via email to

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