From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id 6FpNEJv422NOLAEAbAwnHQ (envelope-from ) for ; Thu, 02 Feb 2023 18:53:31 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id CLVLEJv422MD6gAAauVa8A (envelope-from ) for ; Thu, 02 Feb 2023 18:53:31 +0100 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 294D835E90 for ; Thu, 2 Feb 2023 18:53:31 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pNdlb-0001zS-20; Thu, 02 Feb 2023 12:52:59 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNdlZ-0001yP-DV for guix-devel@gnu.org; Thu, 02 Feb 2023 12:52:57 -0500 Received: from out5-smtp.messagingengine.com ([66.111.4.29]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNdlX-0000cX-09 for guix-devel@gnu.org; Thu, 02 Feb 2023 12:52:57 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id E847D5C00CE; Thu, 2 Feb 2023 12:52:49 -0500 (EST) Received: from imap52 ([10.202.2.102]) by compute1.internal (MEProxy); Thu, 02 Feb 2023 12:52:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= philipmcgrath.com; h=cc:cc:content-transfer-encoding :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1675360369; x=1675446769; bh=uzeaHvyBIf 5Acki+BvbIHUzGoU4P+YDtMJDGhhT1+/U=; b=ksJTbHhUCySR8Futmy5aYQy888 i9Sfl1SM6F02lYi9oU3oXlbEY4j9j9Djmo0lfpf9gGqTWDCNLD2Bd54EWK4X8WBp eaGiBIC7W/UnUcNICI+UogkC9+J8Aev/xisWVmk2Ta159qLuEcG5PwPxre2XrpRP VIqgoTM9uNIEyOn0neRlVPw+MlKW4OuElvjnHFVyD2/I/2yWMEnoZjc37dqYx53D qQWGvzpqSyoeT/SO32j0s3DJduF+Rlzzeh36zpoAjFPlHVwtT3g1ztjDjziEvUE8 lv4gk8UvRgJofC/ET2FS2viYzfziyaRqD2Z56joKpYkMpo1emGY4c1GRJP9A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1675360369; x= 1675446769; bh=uzeaHvyBIf5Acki+BvbIHUzGoU4P+YDtMJDGhhT1+/U=; b=f i59tc4yTQPhOAQdpNC39Cm6114iaZ6VwYCO49jG+DXygNQz9Gnsh2hoOB85ovn+p 5s3hd0Oldu+K6ZF1x5+gj5W70GZMx/9SU2Ee24Q1pvbZHTl7grx5E+Po3lCvhdnd McPU/91AlVIkAyDQRxqN6WI34PTZlH0V0b+EiMQzTmH7e0BLf8I5Di8YmXnjFfGt QKCJ7IPmp2j2cWq14TAjkqzBcDAsJwhJ2bnyRJ8JJmsGbb4e0hTs0JVf29gPmopv V95t8wU6h0gGPutr546/TZ/wNrOWGSdqMa4zIC0AR7AcTKtoQpDQTNi4tDn0LilH ZXXOtRYOUtRA10u1M90eg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudefkedguddtvdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvfevufgtgf esthhqredtreerjeenucfhrhhomhepfdfrhhhilhhiphcuofgtifhrrghthhdfuceophhh ihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhmqeenucggtffrrghtthgvrhhnpe efvdeivdefleejveevhfegudegtedugfejledttdfhuddugfehudelteffhfejgfenucff ohhmrghinhepghhnuhdrohhrghdprhgrtghkvghtqdhlrghnghdrohhrghdprggtmhdroh hrghdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm pehmrghilhhfrhhomhepphhhihhlihhpsehphhhilhhiphhmtghgrhgrthhhrdgtohhm X-ME-Proxy: Feedback-ID: i2b1146f3:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 6A5D4C60091; Thu, 2 Feb 2023 12:52:49 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-107-g82c3c54364-fm-20230131.002-g82c3c543 Mime-Version: 1.0 Message-Id: <87b04cb1-6b0a-4fcf-836c-6b5763768fba@app.fastmail.com> In-Reply-To: <20230201101127.eiq7unzgdbzidnky@thebird.nl> References: <03c0507ad711a82887a10c70bc7a2745@dismail.de> <20230201101127.eiq7unzgdbzidnky@thebird.nl> Date: Thu, 02 Feb 2023 12:52:28 -0500 From: "Philip McGrath" To: "Pjotr Prins" , jgart Cc: "Brian Cully" Subject: Re: Can zig-build-system be an alternative to the gnu-build-system? Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=66.111.4.29; envelope-from=philip@philipmcgrath.com; helo=out5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-TUID: QGBm3G8akBjU Hi Pjotr, On Wed, Feb 1, 2023, at 5:11 AM, Pjotr Prins wrote: > > There have been some older discussions about creating our own > replacement for autotools, cmake and others. I often fight these make > make systems - and meson and/or language specific build systems. It is > a time waster for programmers and none of these systems leverages the > power of Guix itself. I kinda settled for cmake because, even though > it is an effing dragon, at least I can make it work (pun intended). > > We need someone with deep experience in build systems to write a guile > replacement - generating ninja is one idea. That is my opinion :). I > would love a simple way to describe a project in guile. It should not > be too hard actually (famously that is how these projects start and > turn out to be a real time sink). Maybe someone wants to try with > guidance from us, or maybe we can do it when we get bored some day. > You might be interested in Zuo, which was created to replace the work of= `make` in the build system for Racket and Racket's branch of Chez Schem= e. (The name comes from a Chinese word for "make".) It's packaged for Gu= ix: https://packages.guix.gnu.org/packages/zuo/ The documentation is at: https://docs.racket-lang.org/zuo/ One important aspect is that the primary implementation is *not* in Rack= et or Guile: a single C source file implements the tiny Scheme-like lang= uage, and most of the functionality is implemented in the Zuo language. = This simplifies bootstrapping, and it also means that, if your project a= lready needs a C compiler, you can add Zuo without adding a build depend= ency on another scripting language. (On unfriendly systems like Windows,= even requiring Python can be a significant complication.) By design, Zuo does not try to replace the `configure` part of your buil= d system: Racket uses Autoconf, and Chez has its own custom `configure` = script. Similarly, it works well to have a stub Makefile that just runs = Zuo, and Zuo even cooperates with the GNU Make jobserver. When Racket ad= opted Zuo, almost all make-based workflows continued to work unchanged. The build system part of Zuo is modeled on Shake (used by GHC). The pape= r "Build Systems =C3=A0 la Carte" is a nice overview of the design space= : https://dl.acm.org/doi/pdf/10.1145/3236774 The thread about replacing Racket's build scripts is here: https://githu= b.com/racket/racket/pull/4179 -Philip