guix-devel
[Top][All Lists]
Advanced

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

Re: Idea: a meta language for (language) build systems - npm, Racket, Ru


From: Pjotr Prins
Subject: Re: Idea: a meta language for (language) build systems - npm, Racket, Rust cargo
Date: Mon, 14 Jun 2021 16:29:23 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On Tue, Jun 08, 2021 at 03:11:31PM +0200, Ludovic Courtès wrote:
> (I’m late to the party…)

Never late :)

> > I found a cargo -> ninja converter. It is that kind of idea. Guix
> > would use ninja with rustc instead of cargo. A stripped down cargo
> > could potentially work too - but cargo is a complex beast.
> 
> In a way, aren’t importers addressing this use case?

Importers and build-systems, even guix.scm, don't really create a
rapid and dynamic builder for developers to use when developing
software. At the same time the builders, such as cargo, are heavy,
bloated and misguided. And hard to embed in GNU Guix for multiple
reasons. 

There is a missing link in my opinion. Though it is not a
Guix problem (I agree).

> In the end, they let everyone develop a package manager/build system
> that suits their needs, while still allowing us to have our cake.

If you strip out dependency management and cross-platform compiling
there is not much left to do for cmake, autotools, cargo etc.
Everything Guix is good at. Ninja resolves the build graph, you only
need something to generate the build graph for source files. A
mini-Guix of sorts for source files. Eelco, at the time, wrote Maak -
a builder that would work on NixOS. He wrote it in Haskell, but it is
similar thinking.

  https://en.wikipedia.org/wiki/Maak

Ninja fits the bill - but it is something that needs to be generated.

Minimalism and simplicity is what I want. I hate it when software
starts thinking for me ;). 

  https://github.com/rust-lang/cargo/issues/6584

We need to create another builder that replaces cargo - or maybe just
simplifies cargo. I am not programming in Rust or Racket, right now,
but when I do (again), I'll try to generate ninja files to define a
build as a starting point in a simple way. One thing we can do with
Guix is create a parallel build system. An alt-verse for builders ;)

Pj.




reply via email to

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