From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id EPFNMwCJc2cX9AAAe85BDQ:P1 (envelope-from ) for ; Tue, 31 Dec 2024 06:02:41 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id EPFNMwCJc2cX9AAAe85BDQ (envelope-from ) for ; Tue, 31 Dec 2024 07:02:40 +0100 X-Envelope-To: larch@yhetil.org 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=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=thebird.nl (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1735624960; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=gv04AhuvfUvsALQFjZV27GZHLb+VAIXdMh4HCzQF5qU=; b=dzxm9uJ7a5QCREfdcwisKXOneVBQMRIMJ4c23vMse/iHhM/xn4Yzvx5MUnNkfk9GbdZdXU P58q2TwBLUb3YXsOmo7tzby8VYrfVFOSpZGv02MVI4o+5Olle4//LJRd395lfwLgv+x1lf kzKeALDCJdLRe9heEJoDmq3brjpTJW1cXTGGTQlyrozJgaYdY+rdNhr+d79CLxRJwvJRjL RxSaWGtPg9RrDef8YXqZ1gJNlCaRdxVE1+MsyCYq6XBYYNJ7tzh3CI0WHI4lO9cEI8thET q9qDYuJl7N/avM8hrOIP2oBTa9sQLZvVo/VmnwEyK5EGciAVbS+DUJEbtzNYfw== 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=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=thebird.nl (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1735624960; a=rsa-sha256; cv=none; b=O0ET6wVkCDQl4930rrguS9r4ifAwzW4B5/ARzsy1OU9kJfZ6jrriJKE0XhA4XuBh1VR0T/ 9jjGTT3Imj79rCEJ7o9RVVr2nk1kWbajbdTRdJxtW3mmkZn1KzgwdQ0yfn1amPpeN5+p6L x0wkRkVMtiYN2zXKl3iq3DXScL9beTzO1MmXszP7lyENar/L+E4PJ6HeeG8Q6WbR/O+r55 3Jc5cKlwrYcI3n4/fOx87WJERlB88eIAGbyGroyV4qQLG9IWXmg4ffGUPwUEHKgdUUDcUx RQi6RfsmmxLlaUlwLt9LWsqCfKsV/GaO5VHLrPBOAG2tP1wWQFGiXhHbVSTQ4A== 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 8F77253FEE for ; Tue, 31 Dec 2024 07:02:40 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tSVKN-0007Wi-HU; Tue, 31 Dec 2024 01:02:03 -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 1tSVKL-0007W8-I7 for guix-devel@gnu.org; Tue, 31 Dec 2024 01:02:01 -0500 Received: from mailx.thebird.nl ([128.140.51.107]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tSVKJ-0008Ss-Kt for guix-devel@gnu.org; Tue, 31 Dec 2024 01:02:01 -0500 Received: from localhost (mailx.thebird.nl [local]) by mailx.thebird.nl (OpenSMTPD) with ESMTPA id 38b63681; Tue, 31 Dec 2024 06:01:55 +0000 (UTC) Date: Tue, 31 Dec 2024 07:01:55 +0100 From: Pjotr Prins To: Divya Ranjan Cc: Pjotr Prins , Olivier Dion , guix-devel@gnu.org Subject: Re: On a Guile-based Build-Tool complimenting Guix Message-ID: <20241231060155.hu5vlsg7ra7wu7p3@mailx.thebird.nl> References: <87wmfvo2je.fsf@subvertising.org> <87h66zicii.fsf@laura> <20241221075300.g4s3ccluwmaumynk@mailx.thebird.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=128.140.51.107; envelope-from=pjotr.public12@thebird.nl; helo=mailx.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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=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 X-Migadu-Queue-Id: 8F77253FEE X-Migadu-Scanner: mx13.migadu.com X-Migadu-Spam-Score: 0.91 X-Spam-Score: 0.91 X-TUID: 36Bh3CzJB8e+ On Sat, Dec 28, 2024 at 01:48:02AM +0000, Divya Ranjan wrote: > Hello Pjotr, glad to see that you'd be still interested in such a > project. > > Where it comes to other targets, such as Debian distros and all, it > is probably going to be too painful to handle to resolve all their > demands. > Can you elaborate on what exactly would be hard to figure out for a > Debian target? Probably an idea to package some things for Debian, or study those? It'll give a clear picture :). From my point of view these packagers are pretty heroic. Even my software gets quite a few Debian patches to make it work. Build systems go some way towards helping distros. I think it gets most hairy when dependencies have to be addressed for software that does not use pkg-config, for example. It is a mad world out there (outside Guix ;). Also think conda etc. A clean build for Debian an conda would be a great lithmus test. > And, I personally think just generating makefiles in Guile isn't really > going to be better. I mean it'll save someone from writing a Makefile > in, well, Make, but it will still have the issues of `make`. I believe > it is an alternate build system that we should try. Sure, it may be worth creating a clean system. But I do note that both meson and cmake chose to handle the build through make or ninja. There must be a reason for that :) Debian packagers tend to prefer meson, make and cmake (I don't know in what order of preference). Wrt supporting other distros outside guix - the reality is that software authors need to distribute software. They will only adopt a build system if it allows targeting those too. My simple needs as a software developer of tools that run everywhere are: 1- Clean and *fast* development build system on Guix 2- Allow generating reasonably clean builds for Debian, Conda etc. 3- Allow multi-language builds (think guile+zig or python+C++) Maybe what you have in mind will cut it, I don't know. Maybe it is good enough to target (1) and (3). But to replace meson and cmake you'd need (2). Anyway, my 2cts. It is just an old train of thought. Start simple. I'll definitely try your work if you come up with something that cuts (1) and (3). Without (2) I'll probably still end up adding cmake for distribution. When I was thinking about these ideas years ago I was thinking that something that generates cmake in addition to compiling directly would be quite a win. I really don't like cmake, but for now we have nothing better. I have not been impressed by meson either. Generating make instead of cmake will be much simpler, maybe easier, and probably cut it too. Pj.