unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Pjotr Prins <pjotr.public12@thebird.nl>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Idea: a meta language for (language) build systems - npm, Racket, Rust cargo
Date: Mon, 14 Jun 2021 16:29:23 +0200	[thread overview]
Message-ID: <20210614142923.tp23ba6htoao4vfv@thebird.nl> (raw)
In-Reply-To: <87y2bkfqm4.fsf@gnu.org>

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	other threads:[~2021-06-14 14:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-30  8:38 Idea: a meta language for (language) build systems - npm, Racket, Rust cargo Pjotr Prins
2021-05-30 19:17 ` Konrad Hinsen
2021-05-31 17:47   ` Pjotr Prins
2021-06-01  5:50     ` Adriano Peluso
2021-06-01  6:24     ` Leo Prikler
2021-06-01  7:23       ` Pjotr Prins
2021-06-01  8:12         ` Leo Prikler
2021-06-01  8:59       ` Adriano Peluso
2021-06-01  9:11         ` Leo Prikler
2021-06-01 10:52           ` Adriano Peluso
2021-06-01 11:03             ` Leo Prikler
2021-06-01 11:28               ` Adriano Peluso
2021-06-01 15:22                 ` Leo Prikler
2021-06-01  7:56     ` Konrad Hinsen
2021-06-01 23:35       ` Joshua Branson
2021-06-08 13:11     ` Ludovic Courtès
2021-06-14 14:29       ` Pjotr Prins [this message]
2021-06-14 22:04         ` Leo Prikler
2021-06-15  8:48           ` Pjotr Prins
2021-06-15 10:08           ` Ricardo Wurmus
2021-06-20 15:46         ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210614142923.tp23ba6htoao4vfv@thebird.nl \
    --to=pjotr.public12@thebird.nl \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).