[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,
- Re: On a Guile-based Build-Tool complimenting Guix, (continued)
- Re: On a Guile-based Build-Tool complimenting Guix,
Fi <=