From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id eLnwN7tC2mMfIAEAbAwnHQ (envelope-from ) for ; Wed, 01 Feb 2023 11:45:15 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id KNrKN7tC2mNL9AAAauVa8A (envelope-from ) for ; Wed, 01 Feb 2023 11:45:15 +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 B69F92AA6F for ; Wed, 1 Feb 2023 11:45:15 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pNA5X-0002Dm-PV; Wed, 01 Feb 2023 05:11:35 -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 1pNA5W-0002DY-DN for guix-devel@gnu.org; Wed, 01 Feb 2023 05:11:34 -0500 Received: from mail.thebird.nl ([94.142.245.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pNA5U-000817-Di for guix-devel@gnu.org; Wed, 01 Feb 2023 05:11:34 -0500 Received: by mail.thebird.nl (Postfix, from userid 1000) id 2361C4D7A; Wed, 1 Feb 2023 11:11:28 +0100 (CET) Date: Wed, 1 Feb 2023 11:11:28 +0100 From: Pjotr Prins To: jgart Cc: guix-devel@gnu.org Subject: Re: Can zig-build-system be an alternative to the gnu-build-system? Message-ID: <20230201101127.eiq7unzgdbzidnky@thebird.nl> References: <03c0507ad711a82887a10c70bc7a2745@dismail.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <03c0507ad711a82887a10c70bc7a2745@dismail.de> User-Agent: NeoMutt/20170113 (1.7.2) Received-SPF: pass client-ip=94.142.245.5; envelope-from=pjotr2023@thebird.nl; helo=mail.thebird.nl X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, 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-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1675248315; a=rsa-sha256; cv=none; b=T4OucamEO1/JtKiE7c9MlV15XzfEPtt74eeepDQFMmc8zaan7ZWKw1q20kioufERPsjYo8 nB902PnhYzUyfyCOMJL6OIQQ8QWJyJyI89A+mmaxoZAHTgc8TzQu7qDbcv8wexrR6GqaP+ twyzV1DJEcf+3EmLTG298OHyGCVzXHqvwNTQ9HADbIrm2c5b1XFgEmRd/MOczYM/jG6t6S jXZQSV7RAqXkjsVuHJBoMEdeJbHc1XK7kwRd09i1TEYQ+EePWNoQdvZm5ysUwVkxqqsy2Z PUixuScSR/WXJyv7I8S9jc8SPwZI/tOct5tm5WQ8dimr6poP5Y+kob9exqOgxw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1675248315; 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=yDTi0qyrSD856LeuX/AjcD4s6X8fqzIqxFEQSblcK6E=; b=EwIJqHqdXmM++9Pqs93/Gy0KoT1Rfvni3iZ7suVT8xxzRel/58o1jXKx5CIRDztDNHDdJk bVwOfGqtxnZetDQL9TGZwkoysf0v7APG9YYFTn0slH3+cI1C+ZWyyCX3idyThzJZOvG52j /WNMvneZd/hWTuEIUua30p7zLMfQ0w/rbxSEglcPgbeKaD/Doa7Sz1fci8HO7kPYKu+1vk 3PPbL8bMKcV82npnKUP2vO78lLCEEUURVdQ8xz8KMInPSuPBVj7WA0m69xLWvr6vnn0i83 kOj+xiKa4D8wV3iDuK8p3gjmaMu3NqFObcSxQm7BlLVSmxK/wmM0f7uL9qN0bg== Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=none X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -0.38 X-Spam-Score: -0.38 X-Migadu-Queue-Id: B69F92AA6F X-TUID: vqYoXBhh3L0Z Hi jgart, zig as a build system is nice, but it is llvm bound and only targets zig and C/C++. It does not handle packages, and that is a feature in my book ;). Mind they are planning to go down the packaging route, from what I can tell. 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. Pj. On Fri, Jan 27, 2023 at 02:03:06AM +0000, jgart wrote: > Can `zig-build-system` be an alternative to the `gnu-build-system`? > > https://ziglang.org/learn/why\_zig\_rust\_d\_cpp/#a-package-manager-and-build-system-for-existing-projects > > > Not only can you write Zig code instead of C or C++ code, but you can use Zig as a replacement for autotools, cmake, make, scons, ninja, etc. And on top of this, it (will) provide a package manager for native dependencies. This build system is intended to be appropriate even if the entirety of a project’s codebase is in C or C++. > > WDYT >