From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id kETdJWuaY2A6BAEAgWs5BA (envelope-from ) for ; Tue, 30 Mar 2021 23:38:51 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id uPqqH2uaY2DxcQAA1q6Kng (envelope-from ) for ; Tue, 30 Mar 2021 21:38:51 +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 20AD026681 for ; Tue, 30 Mar 2021 23:38:51 +0200 (CEST) Received: from localhost ([::1]:57232 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lRM4Y-0005jB-9M for larch@yhetil.org; Tue, 30 Mar 2021 17:38:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lRM4P-0005j5-Jt for guix-devel@gnu.org; Tue, 30 Mar 2021 17:38:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47828) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lRM4P-0002vz-Cc; Tue, 30 Mar 2021 17:38:41 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=58670 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lRM4P-000119-10; Tue, 30 Mar 2021 17:38:41 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: Will 2021 be the year of build systems on gexps? References: <87im6ojbbx.fsf@gnu.org> <87eegn4658.fsf@gnu.org> <87wntyhtwc.fsf@gnu.org> <87v9999yi6.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 Germinal 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: Tue, 30 Mar 2021 23:38:38 +0200 In-Reply-To: <87v9999yi6.fsf@gmail.com> (Maxim Cournoyer's message of "Mon, 29 Mar 2021 22:16:49 -0400") Message-ID: <87wnto9va9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (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=1617140331; 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=cS7tCW+w4LukerozB4HFq2SI+778yIPzsiZZGw99jEY=; b=Ont26Eq2JKKIkr5r9n4kOJBZZc9DJBN53akqW2yQ1Y9Z/7wgvtDONrAfLTBy2JsZsM2o6a Jgep6j9XxwUv+efNOpJ/jGS/0/pL2S07tihnNWByq31vIWXQYvBLkLhLoCjnWihoUEfFri lEwt5Fl2wYbuExMyPyTlUHmEDDtaQwCfvNnYP9FgfR8HFi+koJHr3Na4UAhCCG+WL7f0/o MDVSKaOlWYO+o5G8gU9oxTHUju+PRsN8htSNt8h9UGKng/3naNPogcWBht8i60r3jZCfAf lQ/5AxBKvEt9R2ztwm36+IxppRVlPpWvI5U47dBGocyCELiOzRnQfSW4sjRaQQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1617140331; a=rsa-sha256; cv=none; b=s+WxPrR3vMT3OokPi9ECKVUKGbsSCjydnnX6c4SA47de9dSdWyin3WqAGzQWRNmZjmmLsK x/hdiP+PVmvhpgXyAdFzIxe/EMK39kZYHENNJd0L5FjQUhp73UIvadhHHZeG+vjS7R+TXi t5+4YEBFxYOms8MIESS42Xfpk7Zb4jpYPSlFbF6QlpvvbQPA6cvrv3BjSqDd00awH8rQAI Y8Vvep2EqQJFheWAsFYFRaC7RIRNZYp5gx6XMlxmlgSR+lFjLX+JBDppiqXhUiL3axHX5V rz5mxfNkoa0zlMnj3fMzxOpD+zMQdJFZ4ZqTwzX1Mnb2fGWsmoXWQqc7lWuH2A== 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: -1.92 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: 20AD026681 X-Spam-Score: -1.92 X-Migadu-Scanner: scn0.migadu.com X-TUID: vU2LBNomTVdJ Hi Maxim and all, So this is it, 2021 *is* the year of build systems on gexps! I=E2=80=99ve rebased it and pushed on =E2=80=98core-updates=E2=80=99 with 2eafeb2f3d661061bc412c3f27c90202e4532532 as the tip. The build farm has a bit of work to do now it seems. Hmm actually the evaluation at just failed with a yellow cross, not sure what that means. Anyway, I=E2=80=99ll be monitoring in the coming days, but do ping me when = you encounter problems! It=E2=80=99s crazy that it took 6 years (six!) to get past the finish line.= The initial reason for not merging it was that I was worried about performance regressions; there=E2=80=99s still work to do in this area, as I wrote earlier, but it=E2=80=99s looking good. Another reason is that I was afraid of unlocking features that would break assumptions we make about packages=E2=80=94for instance, that all the inputs are specified in the var= ious inputs fields, and that these fields are all we need to care about when doing graph rewriting. (I now think this fear was unwarranted.) And then, rebasing the branch became harder every time, there were more and more build systems that needed to be converted=E2=80=A6 and there were always more pressing issues to work on. What=E2=80=99s the lesson here? I don=E2=80=99t know! Had it been done si= x years ago, it would have had to go through a number of iterations: =E2=80=98with-imported-modules=E2=80=99 and =E2=80=98with-extensions=E2=80= =99 didn=E2=80=99t exist, the template mechanism in (guix monads) didn=E2=80=99t exist, self-referential records (=E2=80=98this-package=E2=80=99, etc.) weren=E2=80=99t there. It would hav= e worked though, and perhaps we=E2=80=99d have explored other parts of the design space, who kno= ws. Ludo=E2=80=99.