From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id IKZ5Gstiz2AIcQAAgWs5BA (envelope-from ) for ; Sun, 20 Jun 2021 17:46:19 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id wMs6Fstiz2AdcAAA1q6Kng (envelope-from ) for ; Sun, 20 Jun 2021 15:46:19 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0794D1B6F1 for ; Sun, 20 Jun 2021 17:46:19 +0200 (CEST) Received: from localhost ([::1]:57542 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1luzeL-0006hW-Kl for larch@yhetil.org; Sun, 20 Jun 2021 11:46:17 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54236) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1luzeA-0006gp-LM for guix-devel@gnu.org; Sun, 20 Jun 2021 11:46:06 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42332) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1luzeA-00033x-2A; Sun, 20 Jun 2021 11:46:06 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=40860 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1luze9-0000FR-Qu; Sun, 20 Jun 2021 11:46:06 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Pjotr Prins Subject: Re: Idea: a meta language for (language) build systems - npm, Racket, Rust cargo References: <20210530083847.o5ej63obqnzpwnbd@thebird.nl> <20210531174748.mhaelcqwmo7degfc@thebird.nl> <87y2bkfqm4.fsf@gnu.org> <20210614142923.tp23ba6htoao4vfv@thebird.nl> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 2 Messidor an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 20 Jun 2021 17:46:04 +0200 In-Reply-To: <20210614142923.tp23ba6htoao4vfv@thebird.nl> (Pjotr Prins's message of "Mon, 14 Jun 2021 16:29:23 +0200") Message-ID: <87tulsczer.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1624203979; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=rsIHMat/TfdgdCe6hN5LwXT+IpM73MN4nSfm7bf+v/U=; b=dIafFWo6XAngeLlTKBdhAC9MURVGRrv48KJZCvpv8tzTx5LXpGs9wh/Bb4ITIXMDLPZ1Ri rEKSMbk0tnxCZooY069ZbdE85Ss7reFL3Z5/LcYbXjONiZ8mr6lSKUCeL2yJrbDwxVhHyL bdCF5nlNLJM1bdjPFwEYftp2bgCPsVNUlriIfROCYxT5llQAZUlmy8Na9QCLbE5g5i7/tA nXeoZoO85ZqE9opUI4KU651d8sDiPF65UyOkjbBqz1mR9sSpCmt99ufed3cJoPgCGixDaU QfGiitfJ7RGcxVi2Rf+Xk8g86W1VPbsKQNh4XQDFwjYWP1c5Emy+FTWPYJPfXg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1624203979; a=rsa-sha256; cv=none; b=e9eczK2t1UR/NOzSqNsOXkgwZscmo77mw6A7RaCZUpbYh6rXUTcHpeYlDFjTll2qjSsYLY Jz57iwRYt3RfS4AK9ZK+Ko26QrbXsPPvOYWItG2rMVXHnaCmMR0MZnn6nTMJ5OfNeZ+c0W g1ZmO8NQE6+jCC7hgzrbet1MvXY9rGrhAI1u/xgAp3iqmBP6OxQX0iFQsVpd9Hgs4QvapI F8BSzy55VjbbqcABGMzrViD10U10LG0vyhqOVGXXW34NoIgDQ67qaHSAr9yPOqzxyBiF1C Ymq6ds0kl4G+G04Ke8ovI176L0lTutqzIH2JiCFO+BHtfmahMncPEgmXpbSHWQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Spam-Score: -2.93 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: 0794D1B6F1 X-Spam-Score: -2.93 X-Migadu-Scanner: scn0.migadu.com X-TUID: riQePc4w320o Hi! Pjotr Prins skribis: > 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 It is an inspiration for hacks like . This is the kind of thing you=E2=80=99d typically do using Make, but where = using Guix is advantageous. Now, as for Maak, it needs a library of helpers to be readily usable=E2=80=94=E2=80=9Crules=E2=80=9D to build .o from .c, libraries, etc. Is that the kind of thing you have in mind? Then again, once you have that, you=E2=80=99re still very far from replacin= g or integrating with tools like Cargo. I guess it=E2=80=99s all about finding the right spot where things can be usefully glued together! Ludo=E2=80=99.