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 ms1.migadu.com with LMTPS id MB3GGfPwGmZ0KgEAe85BDQ:P1 (envelope-from ) for ; Sat, 13 Apr 2024 22:54:11 +0200 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 MB3GGfPwGmZ0KgEAe85BDQ (envelope-from ) for ; Sat, 13 Apr 2024 22:54:11 +0200 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1713041651; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post; bh=NvXOg0E9HBf1KZdb8jEQWKcexteWlyl9JzCQ22BGMaM=; b=SDtroNAaGMmn7WQoa149nJEnCwhCkSCGOpIIIu+CBxlrqzCUWfPExkp1QxS1g6TLXV1zge X32H2RIDy7GiLa2XaaAOvQuqYYC3C/IRjbEPVG6uphBN2XXpX1jmh1Vep92Il/4CBeOfZt PaG2fgI3WCaMgO5W6sNpxqAIX3kWcxxG57XrnIN2ae7Kqql9XH89EGzydn8j/qimYARfmG Zb1kNb1bUXsPYu4RmkVoojeaia/SaKqAIr54YSjkYGTDxF8C+j8AWD4NmZey9zfsIRZ2Br p9WywUNy7m4Xz0er+454aljqpI33p6joXCxxxdcRhbdhVsD2YYuftUXFvM+Psg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1713041651; a=rsa-sha256; cv=none; b=N2jE10B5i7n/qQAkAz2bWdXK4sQc4Wt3njl+iBlMaV3P1s7UH5T7qvAbfLEVO1j3ld4Kvy fuuo0cfVgvfcDZTY2QYhxtmEbom5/mZ9EiHDBtVUQFsc8+gGkwMAP1FI2iMHRNPVWSsz4H MmvBzGHrJJSJl9vHlXWbnUsa/UizR3Uvs5XUKNWo9jS8kIn6LS53R+U4uWvJoLVLvRjMcs AyWUhb0QoorMIE0xtGyPgfd+EKOWuE62oXDOFbY1/PvOZC82nBY5++D9twSjrpOqzzQ6XW Hp0OD+zLug5+4R/+tVCQdgEx08hD69kqA/v+NLJkiyAIKnihP7I4rhrjWClxSA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gnu.org 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 E4DC654DFF for ; Sat, 13 Apr 2024 22:54:10 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rvkNn-0001lB-DN; Sat, 13 Apr 2024 16:53:55 -0400 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 1rvkNk-0001ky-4J for guix-patches@gnu.org; Sat, 13 Apr 2024 16:53:52 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rvkNj-0005Le-SC for guix-patches@gnu.org; Sat, 13 Apr 2024 16:53:51 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rvkNt-0002ve-W7 for guix-patches@gnu.org; Sat, 13 Apr 2024 16:54:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#68315] [Nicolas Graves] Re: [PATCH 00/48] Extend bag-build to gexps. In-Reply-To: <20240108080048.25026-1-ngraves@ngraves.fr> Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 13 Apr 2024 20:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68315 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68315@debbugs.gnu.org Received: via spool by 68315-submit@debbugs.gnu.org id=B68315.171304161811003 (code B ref 68315); Sat, 13 Apr 2024 20:54:01 +0000 Received: (at 68315) by debbugs.gnu.org; 13 Apr 2024 20:53:38 +0000 Received: from localhost ([127.0.0.1]:33846 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rvkNU-0002rB-Jd for submit@debbugs.gnu.org; Sat, 13 Apr 2024 16:53:38 -0400 Received: from 3.mo581.mail-out.ovh.net ([46.105.34.113]:51199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rvkNO-0002pp-BJ for 68315@debbugs.gnu.org; Sat, 13 Apr 2024 16:53:34 -0400 Received: from director11.ghost.mail-out.ovh.net (unknown [10.108.2.21]) by mo581.mail-out.ovh.net (Postfix) with ESMTP id 4VH5Hf0934z1GqH for <68315@debbugs.gnu.org>; Sat, 13 Apr 2024 20:53:17 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-nwmvb (unknown [10.110.96.108]) by director11.ghost.mail-out.ovh.net (Postfix) with ESMTPS id C52DC1FE75 for <68315@debbugs.gnu.org>; Sat, 13 Apr 2024 20:53:17 +0000 (UTC) Received: from ngraves.fr ([37.59.142.109]) by ghost-submission-6684bf9d7b-nwmvb with ESMTPSA id hPgELL3wGmY40AAAzD/ulg (envelope-from ) for <68315@debbugs.gnu.org>; Sat, 13 Apr 2024 20:53:17 +0000 X-OVh-ClientIp: 81.67.146.208 References: <87wmsgc0z6.fsf@ngraves.fr> Date: Sat, 13 Apr 2024 22:53:16 +0200 Message-ID: <87a5lxnfwj.fsf@ngraves.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Ovh-Tracer-Id: 17347021342292238950 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvledrudeiiedgudehjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvufhffffkgggtsehmtderredttddtnecuhfhrohhmpefpihgtohhlrghsucfirhgrvhgvshcuoehnghhrrghvvghssehnghhrrghvvghsrdhfrheqnecuggftrfgrthhtvghrnhepvdduvedtgefgleffkedtgeelleffjeekfeeggeektdduleeiffelhfdugefhgeetnecukfhppeduvdejrddtrddtrddupdekuddrieejrddugeeirddvtdekpdefjedrheelrddugedvrddutdelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpnhgspghrtghpthhtohepuddprhgtphhtthhopeeikeefudehseguvggssghughhsrdhgnhhurdhorhhgpdfovfetjfhoshhtpehmohehkedupdhmohguvgepshhmthhpohhuth X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Nicolas Graves X-ACL-Warn: , Nicolas Graves via Guix-patches From: Nicolas Graves via Guix-patches via Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -6.88 X-Spam-Score: -6.88 X-Migadu-Queue-Id: E4DC654DFF X-Migadu-Scanner: mx13.migadu.com X-TUID: sT6/YQdNa/LE --=-=-= Content-Type: text/plain -------------------- Start of forwarded message -------------------- From: Nicolas Graves To: guix-devel@gnu.org Cc: Andrew Tropin Subject: Re: [PATCH 00/48] Extend bag-build to gexps. Date: Wed, 10 Jan 2024 22:50:05 +0100 --=-=-= Content-Type: multipart/mixed; boundary="==-=-=" --==-=-= Content-Type: text/plain Content-Disposition: inline Here's a more complete proof of concept: The attached file guix.scm, when run a checkout of emacs branch emacs-29 with guix build -f guix.scm will : - compile everything as if run locally but with the patches provided by guix sources. - a local edit and the rerun of guix build -f guix.scm will only compile new / changed code. Now I can try developping emacs without worring about huge compilation times and without the developping issues that would happen if I ran the build-system by hand without the patches. We could even imagine adding an option to guix shell -D that could drop such a file for any package, since most of the code is reproducible (although applying a derivation this way is still quite hacky). --==-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=guix.scm Content-Transfer-Encoding: base64 KHVzZS1tb2R1bGVzIChndWl4IGdpdCkKICAgICAgICAgICAgIChndWl4IGdpdC1kb3dubG9hZCkK ICAgICAgICAgICAgIChndWl4IGdleHApCiAgICAgICAgICAgICAoZ3VpeCBzY3JpcHRzKQogICAg ICAgICAgICAgKGd1aXggcGFja2FnZXMpCiAgICAgICAgICAgICAoZ3VpeCBkZXJpdmF0aW9ucykK ICAgICAgICAgICAgIChndWl4IHN0b3JlKQogICAgICAgICAgICAgKGd1aXggdXRpbHMpCiAgICAg ICAgICAgICAoZ3VpeCBtb25hZHMpCiAgICAgICAgICAgICAoZ3VpeCBzZWFyY2gtcGF0aHMpCiAg ICAgICAgICAgICAoZ3VpeCBidWlsZCB1dGlscykKICAgICAgICAgICAgIChzcmZpIHNyZmktMSkK ICAgICAgICAgICAgIChzcmZpIHNyZmktMjYpCiAgICAgICAgICAgICAoaWNlLTkgbWF0Y2gpCiAg ICAgICAgICAgICAoaWNlLTkgb3B0YXJncykKICAgICAgICAgICAgIChnbnUgcGFja2FnZXMpCiAg ICAgICAgICAgICAoZ251IHBhY2thZ2VzIGVtYWNzKQogICAgICAgICAgICAgKGdudSBwYWNrYWdl cyBiYXNlKQogICAgICAgICAgICAgKGdudSBwYWNrYWdlcyBnbGliKQogICAgICAgICAgICAgKGdu dSBwYWNrYWdlcyB2ZXJzaW9uLWNvbnRyb2wpCiAgICAgICAgICAgICAoZ3VpeCBidWlsZC1zeXN0 ZW0pCiAgICAgICAgICAgICAoZ3VpeCBidWlsZC1zeXN0ZW0gY29weSkKICAgICAgICAgICAgIChn dWl4IGJ1aWxkLXN5c3RlbSBnbGliLW9yLWd0aykKICAgICAgICAgICAgIChndWl4IGJ1aWxkLXN5 c3RlbSBnbnUpKQoKKGRlZmluZSAlc3JjZGlyIChkaXJuYW1lIChjdXJyZW50LWZpbGVuYW1lKSkp Cgo7OyBHTlUgR3VpeCBpcyBwaGVub21lbmFsIGluIHRlcm1zIG9mIGV4dGVuc2liaWxpdHkgYW5k IHNvZnR3YXJlCjs7IHJlcHJvZHVjaWJpbGl0eS4gU29tZSByZWNlbnQgYmxvZyBhcnRpY2xlcyBz dW1tZWQgdXAgaG93IHRvIHVzZQo7OyBHdWl4IGZvciBsb2NhbCBwYWNrYWdlIGRldmVsb3BtZW50 LCBzZWU6Cjs7IGh0dHBzOi8vZ3VpeC5nbnUub3JnL2Jsb2cvMjAyMy9mcm9tLWRldmVsb3BtZW50 LWVudmlyb25tZW50cy10b1wKOzsgLWNvbnRpbnVvdXMtaW50ZWdyYXRpb250aGUtdWx0aW1hdGUt Z3VpZGUtdG8tc29mdHdhcmUtZGV2ZWxvcG1lbnQtd2l0aC1ndWl4Cjs7IE9uZSBkcmF3YmFjayBv ZiBsb2NhbCBkZXZlbG9wbWVudCB3aXRoIEd1aXggaXMgdGhlIGluYWJpbGl0eSB0bwo7OyByZXVz ZSBjb21waWxlZCBiaW5hcnkgZmlsZXMgZm9yIHJhcGlkIHNvZnR3YXJlIGRldmVsb3BtZW50OiBH dWl4Cjs7IHN5c3RlbWF0aWNhbGx5IHJlYnVpbGRzIHRoZSB3aG9sZSBwYWNrYWdlIHVzaW5nIGFs bCBidWlsZCBwaGFzZXMuCjs7IFRoaXMgbWFrZXMgZGV2ZWxvcHBpbmcgLyBoYWNraW5nIG9uIGhl YXZ5IHBhY2thZ2VzIHF1aXRlIHRlZGlvdXMuCjs7IEluIHRoZSBhYnNlbmNlIG9mIGEgYmV0dGVy IGFsdGVybmF0aXZlLCB0aGlzIGhhY2svc2NyaXB0IGFsbG93cyB0bwo7OyBkZXZlbG9wIGxvY2Fs bHkgYnkgY3JlYXRpbmcgYW4gZXF1aXZhbGVudCBzdG9yZSBvdXRwdXQgZnJvbSBhIGxvY2FsCjs7 IHJlcG9zaXRvcnkgdXNpbmcgYnVpbGQgcGhhc2VzIGZyb20gR3VpeCBzb3VyY2UuCgo7OyBJbXBv cnRhbnQgOiBXZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHN0b3JlIGFuZCBkZXJpdmF0aW9ucywg c2luY2UKOzsgd2Ugd2FudCB0byBnZXQgdGhlIHBoYXNlcyBmcm9tIEd1aXggc291cmNlLiBIb3dl dmVyLCB0aGUgZGVyaXZhdGlvbgo7OyBidWlsZGVyIGNhbiBvbmx5IGFmZmVjdCB0aGUgc3RvcmUu IFRodXMgdGhlIGNvZGUgbmVlZHMgdG8gYmUKOzsgZXhlY3V0ZWQgYnkgdGhlIHVzZXIuIChJJ3Zl IGFsc28gdHJpZWQgd2lkZSBkaXJlY3RvcnkgcGVybWlzc2lvbnMsCjs7IHdoaWNoIGFyZW4ndCBl bm91Z2guIE1heWJlIHRoZXJlJ3MgYSB3YXkgdG8gYnVpbGQgdGhpcyB1c2luZyB0aGUKOzsgYnVp bGQgZGFlbW9uIHdpdGggdGhlIC0tZGlzYWJsZS1jaHJvb3Qgb3B0aW9uLiBCdXQgd2UgYWxyZWFk eSBoYXZlCjs7IGEgYnVpbGQgZGFlbW9uIHdoaWNoIG1hbmFnZXMgdGhlIHN0b3JlLiBTdGFydGlu ZyBhIG5ldyBkYWVtb24gZm9yCjs7IHRoaXMgc2VlbXMgYSBiaXQgb3ZlcmtpbGwsIGJ1dCBtYXkg YmUgd29ydGggaXQgd2l0aCBzZXZlcmFsCjs7IGRldmVsb3BtZW50IGVudmlyb25tZW50cy4pCgo7 OyBXZSBzZXBhcmF0ZSBwaGFzZXMgdGhhdCBhcmUgb25seSBuZWVkZWQgdG8gYmUgYXBwbGllZCBv bmNlIGFuZCBwaGFzZXMKOzsgdGhhdCBuZWVkIHRvIGJlIHJlcGVhdGVkIGVhY2ggdGltZSB0aGUg c291cmNlIGlzIG1vZGlmaWVkLgoKOzsgWFhYOiBhZGFwdGVkIGZyb20gZ3VpeC9wcm9maWxlcy5z Y20KKGRlZmluZS1zeW50YXgtcnVsZSAod2l0aC1lbnZpcm9ubWVudC1leGN1cnNpb24gZXhwIC4u LikKICAgICAgKGxldCAoKGVudiAoZW52aXJvbikpKQogICAgICAgIChkeW5hbWljLXdpbmQKICAg ICAgICAgIChsYW1iZGEgKCkgKGVudmlyb24gJygpKSkKICAgICAgICAgIChsYW1iZGEgKCkgZXhw IC4uLikKICAgICAgICAgIChsYW1iZGEgKCkgKGVudmlyb24gZW52KSkpKSkKCjs7IFhYWDogY29w aWVkIGZyb20gZ3VpeC9wYWNrYWdlcy5zY20KKGRlZmluZSBpbnN0YW50aWF0ZS1wYXRjaAogICht YXRjaC1sYW1iZGEKICAgICgoPyBzdHJpbmc/IHBhdGNoKSAgICAgICAgICAgICAgICAgICAgICAg ICAgO2RlcHJlY2F0ZWQKICAgICAobG9jYWwtZmlsZSBwYXRjaCAjOnJlY3Vyc2l2ZT8gI3QpKQog ICAgKCg/IHN0cnVjdD8gcGF0Y2gpICAgICAgICAgICAgICAgICAgICAgICAgICA7b3JpZ2luLCBs b2NhbC1maWxlLCBldGMuCiAgICAgcGF0Y2gpKSkKCih3aXRoLXN0b3JlIHN0b3JlCiAgKGxldCog KChmbGFncyAjfigiLXAxIikpCiAgICAgICAgIChwYXRjaGVzIChtYXAgaW5zdGFudGlhdGUtcGF0 Y2gKICAgICAgICAgICAgICAgICAgICAgICAob3JpZ2luLXBhdGNoZXMgKHBhY2thZ2Utc291cmNl IGVtYWNzLXBndGspKSkpCiAgICAgICAgIChwaGFzZXMtaWdub3JlZC13aGVuLWNhY2hlZAogICAg ICAgICAgJyg7OyBzZXQtU09VUkNFLURBVEUtRVBPQ0gKICAgICAgICAgICAgOzsgc2V0LXBhdGhz CiAgICAgICAgICAgIDs7IHNldC1saWJnY2NqaXQtcGF0aAogICAgICAgICAgICA7OyBpbnN0YWxs LWxvY2FsZQogICAgICAgICAgICA7OyB1bnBhY2sgIDsgSWdub3JlZCBpbiBib3RoIGNhc2VzLgog ICAgICAgICAgICBwYXRjaC1jb21waWxhdGlvbi1kcml2ZXIKICAgICAgICAgICAgcGF0Y2gtcHJv Z3JhbS1maWxlLW5hbWVzCiAgICAgICAgICAgIGVuYWJsZS1lbG9naW5kCiAgICAgICAgICAgIDs7 IGdlbmVyYXRlLWdkay1waXhidWYtbG9hZGVycy1jYWNoZS1maWxlCiAgICAgICAgICAgIGJvb3Rz dHJhcAogICAgICAgICAgICBwYXRjaC11c3ItYmluLWZpbGUKICAgICAgICAgICAgcGF0Y2gtc291 cmNlLXNoZWJhbmdzCiAgICAgICAgICAgIGZpeC0vYmluL3B3ZAogICAgICAgICAgICBjb25maWd1 cmUKICAgICAgICAgICAgcGF0Y2gtZ2VuZXJhdGVkLWZpbGUtc2hlYmFuZ3MKICAgICAgICAgICAg OzsgYnVpbGQKICAgICAgICAgICAgOzsgY2hlY2sKICAgICAgICAgICAgOzsgaW5zdGFsbAogICAg ICAgICAgICA7OyB3cmFwLWVtYWNzLXBhdGhzCiAgICAgICAgICAgIDs7IHVuZG8tZG91YmxlLXdy YXAKICAgICAgICAgICAgOzsgaW5zdGFsbC1zaXRlLXN0YXJ0CiAgICAgICAgICAgIDs7IGdsaWIt b3ItZ3RrLXdyYXAKICAgICAgICAgICAgOzsgcmVzdG9yZS1lbWFjcy1wZG1wCiAgICAgICAgICAg IDs7IGdsaWItb3ItZ3RrLWNvbXBpbGUtc2NoZW1hcwogICAgICAgICAgICA7OyBwYXRjaC1zaGVi YW5ncwogICAgICAgICAgICA7OyBzdHJpcAogICAgICAgICAgICA7OyB2YWxpZGF0ZS1ydW5wYXRo CiAgICAgICAgICAgIDs7IHZhbGlkYXRlLWRvY3VtZW50YXRpb24tbG9jYXRpb24KICAgICAgICAg ICAgOzsgZGVsZXRlLWluZm8tZGlyLWZpbGUKICAgICAgICAgICAgOzsgcGF0Y2gtZG90LWRlc2t0 b3AtZmlsZXMKICAgICAgICAgICAgOzsgbWFrZS1keW5hbWljLWxpbmtlci1jYWNoZQogICAgICAg ICAgICA7OyBpbnN0YWxsLWxpY2Vuc2UtZmlsZXMgIDsgRklYTUUgc3RyaXAtc3RvcmUtZmlsZS1u YW1lIGJyZWFrcyBpdC4KICAgICAgICAgICAgOzsgcmVzZXQtZ3ppcC10aW1lc3RhbXBzCiAgICAg ICAgICAgIDs7IGNvbXByZXNzLWRvY3VtZW50YXRpb24KICAgICAgICAgICAgKSkKICAgICAgICAg KGxvY2FsLWJ1aWxkLXN5c3RlbQogICAgICAgICAgKGJ1aWxkLXN5c3RlbQogICAgICAgICAgICAo bmFtZSAnbG9jYWwpCiAgICAgICAgICAgIChkZXNjcmlwdGlvbiAiSW5oZXJpdGVkIEJ1aWxkIFN5 c3RlbSBhcHBsaWVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSIpCiAgICAgICAgICAgIChsb3dl cgogICAgICAgICAgICAgKGxhbWJkYSogYXJncwogICAgICAgICAgICAgICAobGV0ICgob2xkLWJh ZyAoYXBwbHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1zeXN0ZW0tbG93 ZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZS1idWlsZC1zeXN0ZW0g ZW1hY3MtcGd0aykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzKSkpCiAgICAg ICAgICAgICAgICAgKGJhZwogICAgICAgICAgICAgICAgICAgKGluaGVyaXQgb2xkLWJhZykKICAg ICAgICAgICAgICAgICAgIChidWlsZAogICAgICAgICAgICAgICAgICAgIChsYW1iZGEqIChuYW1l IGlucHV0cyAjOmtleSAob3V0cHV0cyAnKCJvdXQiKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjOmFsbG93LW90aGVyLWtleXMgIzpyZXN0IHJlc3QpCiAgICAgICAgICAgICAg ICAgICAgICAobWxldCAlc3RvcmUtbW9uYWQKICAgICAgICAgICAgICAgICAgICAgICAgICAoKGJ1 aWxkZXIgKGFwcGx5IChiYWctYnVpbGQgb2xkLWJhZykKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG5hbWUgaW5wdXRzICM6b3V0cHV0cyBvdXRwdXRzIHJlc3QpKSkK ICAgICAgICAgICAgICAgICAgICAgICAgKHJldHVybgogICAgICAgICAgICAgICAgICAgICAgICAg KHdpdGgtaW1wb3J0ZWQtbW9kdWxlcyAnKChndWl4IGJ1aWxkIHV0aWxzKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgI34oYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1 c2UtbW9kdWxlcyAoZ3VpeCBidWlsZCB1dGlscykpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAod2l0aC1kaXJlY3RvcnktZXhjdXJzaW9uICMkKGdldGN3ZCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZvci1lYWNoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGFtYmRhIChvdXQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz ZXRlbnYgb3V0IChzdHJpbmctYXBwZW5kICMkKGdldGN3ZCkgIi8iIG91dCkpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJyMkb3V0cHV0cykKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyRidWlsZGVyKSkpKSkpKSkpKSkpKQogICAgICAgICAoZW1hY3Mtc291cmNl IChwYWNrYWdlLXNvdXJjZSBlbWFjcy1wZ3RrKSkKICAgICAgICAgKHBrZwogICAgICAgICAgKHBh Y2thZ2UvaW5oZXJpdCBlbWFjcy1wZ3RrCiAgICAgICAgICAgIChzb3VyY2UgI2YpCiAgICAgICAg ICAgIChidWlsZC1zeXN0ZW0gbG9jYWwtYnVpbGQtc3lzdGVtKQogICAgICAgICAgICAobmF0aXZl LWlucHV0cwogICAgICAgICAgICAgKG1vZGlmeS1pbnB1dHMgKHBhY2thZ2UtbmF0aXZlLWlucHV0 cyBlbWFjcy1wZ3RrKQogICAgICAgICAgICAgICAoYXBwZW5kIHBhdGNoIGdpdC1taW5pbWFsKSkp CiAgICAgICAgICAgIChhcmd1bWVudHMKICAgICAgICAgICAgIChzdWJzdGl0dXRlLWtleXdvcmQt YXJndW1lbnRzIChwYWNrYWdlLWFyZ3VtZW50cyBlbWFjcy1wZ3RrKQogICAgICAgICAgICAgICAo KCM6c3Vic3RpdHV0YWJsZT8gXykgI2YpCiAgICAgICAgICAgICAgICgoIzpwaGFzZXMgcGhhc2Vz KQogICAgICAgICAgICAgICAgKGxldCAoKGZpbHRlcmVkLXBoYXNlcwogICAgICAgICAgICAgICAg ICAgICAgIChpZiAoZmlsZS1leGlzdHM/ICJndWl4LmNhY2hlZCIpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICh3aXRoLWltcG9ydGVkLW1vZHVsZXMgJygoc3JmaSBzcmZpLTEpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDs7IFRoaXMgZm9sZCBpcyBhIHNpbXBsZSBvcHBvc2l0ZSBm aWx0ZXItYWxpc3QgYmFzZWQgb24ga2V5LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICN+ KGZvbGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChrZXkgcmVzdWx0 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChtZW1iZXIgKGNhciBrZXkp ICcjJHBoYXNlcy1pZ25vcmVkLXdoZW4tY2FjaGVkKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlc3VsdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChjb25zIGtleSByZXN1bHQpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJldmVyc2UgIyRwaGFzZXMpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgcGhhc2VzKSkpCiAgICAgICAgICAgICAgICAgICN+KG1v ZGlmeS1waGFzZXMgIyRmaWx0ZXJlZC1waGFzZXMKICAgICAgICAgICAgICAgICAgICAgIDs7IFRo ZSBzb3VyY2UgaXMgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCiAgICAgICAgICAgICAg ICAgICAgICAoZGVsZXRlICd1bnBhY2spCiAgICAgICAgICAgICAgICAgICAgICA7OyBGSVhNRSBz dHJpcC1zdG9yZS1maWxlLW5hbWUgYnJlYWtzIGl0LgogICAgICAgICAgICAgICAgICAgICAgKGRl bGV0ZSAnaW5zdGFsbC1saWNlbnNlLWZpbGVzKQogICAgICAgICAgICAgICAgICAgICAgOzsgVGhl IG5leHQgcGhhc2VzIGFyZSBhbHNvIGFwcGxpZWQgd2l0aCB0aGUgY29weS1idWlsZC1zeXN0ZW0u CiAgICAgICAgICAgICAgICAgICAgICA7OyBObyBuZWVkIHRvIHJlcGVhdCB0aGVtIHNldmVyYWwg dGltZXMuCiAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlICdzdHJpcCkKICAgICAgICAgICAg ICAgICAgICAgIChkZWxldGUgJ3ZhbGlkYXRlLXJ1bnBhdGgpCiAgICAgICAgICAgICAgICAgICAg ICAoZGVsZXRlICd2YWxpZGF0ZS1kb2N1bWVudGF0aW9uLWxvY2F0aW9uKQogICAgICAgICAgICAg ICAgICAgICAgKGRlbGV0ZSAnZGVsZXRlLWluZm8tZGlyLWZpbGUpCiAgICAgICAgICAgICAgICAg ICAgICA7OyBXZSBuZWVkIHRvIGFwcGx5IHBhdGNoZXMgYW5kIHNuaXBwZXRzIGluIHRoZSBzb3Vy Y2UuCiAgICAgICAgICAgICAgICAgICAgICAoYWRkLWFmdGVyICdpbnN0YWxsLWxvY2FsZSAncGF0 Y2gtc291cmNlCiAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAg ICAgICAgICAgICAgIDs7IFhYWDogY29waWVkIGZyb20gZ3VpeC9wYWNrYWdlcy5zY20KICAgICAg ICAgICAgICAgICAgICAgICAgICAoZGVmaW5lIChhcHBseS1wYXRjaCBwYXRjaCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChmb3JtYXQgKGN1cnJlbnQtZXJyb3ItcG9ydCkgImFwcGx5aW5n ICd+YScuLi5+JSIgcGF0Y2gpCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgVXNlICct LWZvcmNlJyBzbyB0aGF0IHBhdGNoZXMgdGhhdCBkbyBub3QgYXBwbHkgcGVyZmVjdGx5IGFyZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgcmVqZWN0ZWQuICBVc2UgJy0tbm8tYmFja3Vw LWlmLW1pc21hdGNoJyB0byBwcmV2ZW50IG1ha2luZwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgOzsgIioub3JpZyIgZmlsZSBpZiBhIHBhdGNoIGlzIGFwcGxpZWQgd2l0aCBvZmZzZXQuCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaW52b2tlIChzdHJpbmctYXBwZW5kICMkKHRoaXMt cGFja2FnZS1uYXRpdmUtaW5wdXQgInBhdGNoIikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIi9iaW4vcGF0Y2giKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiLS1mb3JjZSIgIi0tbm8tYmFja3VwLWlmLW1pc21hdGNoIgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjK0BmbGFncyAiLS1pbnB1dCIgcGF0Y2gp KQoKICAgICAgICAgICAgICAgICAgICAgICAgICAod2hlbiAobm90IChmaWxlLWV4aXN0cz8gImd1 aXguY2FjaGVkIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9yLWVhY2ggYXBwbHkt cGF0Y2ggJyMkcGF0Y2hlcykKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyBYWFg6IGNv cGllZCBmcm9tIGd1aXgvcGFja2FnZXMuc2NtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA7 OyBXb3JrcyBidXQgdGhlcmUncyBubyBsb2cgeWV0LgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIysobGV0ICgoc25pcHBldCAob3JpZ2luLXNuaXBwZXQgZW1hY3Mtc291cmNlKSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIHNuaXBwZXQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI34obGV0ICgobW9kdWxlIChtYWtlLWZyZXNoLXVzZXItbW9kdWxl KSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kdWxlLXVzZS1p bnRlcmZhY2VzIQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVs ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXAgcmVzb2x2ZS1p bnRlcmZhY2UgJyMrKG9yaWdpbi1tb2R1bGVzIGVtYWNzLXNvdXJjZSkpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKChAIChzeXN0ZW0gYmFzZSBjb21waWxlKSBjb21w aWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcjKyhpZiAocGFp cj8gc25pcHBldCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHNleHAtPmdleHAgc25pcHBldCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc25pcHBldCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjOnRvICd2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICM6b3B0cyAlYXV0by1jb21waWxhdGlvbi1vcHRpb25zCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIzplbnYgbW9kdWxlKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI34jdCkpKSkpCiAgICAgICAgICAgICAgICAgICAgICAoYWRkLWJlZm9y ZSAnaW5zdGFsbC1sb2NhbGUgJ2RlbGV0ZS1mb3JtZXItb3V0cHV0CiAgICAgICAgICAgICAgICAg ICAgICAgIChsYW1iZGEgXwogICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChmaWxlLWV4 aXN0cz8gIm91dCIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlLWZpbGUtcmVj dXJzaXZlbHkgIm91dCIpKSkpCiAgICAgICAgICAgICAgICAgICAgICAoYWRkLWJlZm9yZSAnYnVp bGQgJ2ZsYWctYXMtY2FjaGVkCiAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgXwogICAg ICAgICAgICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUgImd1aXguY2FjaGVk IiAoY29uc3QgI3QpKSkpKSkpKSkpKQogICAgICAgICA7OyBXZSBjYW4ndCB1c2UgcGFja2FnZS0+ ZGVyaXZhdGlvbiBkaXJlY3RseSBiZWNhdXNlIHdlIHdhbnQgdGhlCiAgICAgICAgIDs7IHVzZXIg cmF0aGVyIHRoYW4gdGhlIGRhZW1vbiB0byBidWlsZCB0aGUgZGVyaXZhdGlvbi4KICAgICAgICAg KGJhZyAocGFja2FnZS0+YmFnIHBrZykpCiAgICAgICAgIChkcnYgKChAQCAoZ3VpeCBwYWNrYWdl cykgYmFnLT5kZXJpdmF0aW9uKikgc3RvcmUgYmFnIHBrZykpKQogICAgKGJ1aWxkLWRlcml2YXRp b25zIHN0b3JlIChkZXJpdmF0aW9uLWlucHV0cyBkcnYpKQogICAgKHdpdGgtZW52aXJvbm1lbnQt ZXhjdXJzaW9uCiAgICAgKGFwcGx5IGludm9rZSAoZGVyaXZhdGlvbi1idWlsZGVyIGRydikKICAg ICAgICAgICAgKGRlcml2YXRpb24tYnVpbGRlci1hcmd1bWVudHMgZHJ2KSkpKSkKCihwYWNrYWdl L2luaGVyaXQgZW1hY3MtcGd0awogIChzb3VyY2UKICAgKGxvY2FsLWZpbGUgIm91dCIgKHN0cmlu Zy1hcHBlbmQgImxvY2FsLSIgKHBhY2thZ2UtbmFtZSBlbWFjcy1wZ3RrKSkKICAgICAgICAgICAg ICAgIzpyZWN1cnNpdmU/ICN0CiAgICAgICAgICAgICAgICM6c2VsZWN0PyAoY29uc3QgI3QpKSkK ICAoYnVpbGQtc3lzdGVtIGNvcHktYnVpbGQtc3lzdGVtKQogIChhcmd1bWVudHMgJygpKSkK --==-=-= Content-Type: text/plain Content-Disposition: inline Cheers! Nicolas On 2024-01-08 08:51, Nicolas Graves wrote: > Rationale: > Almost all build-systems are defined with gexpressions in functions > that return derivations. Derivations are not easily extensible while > gexps are. An example usage is given below. > > This is a pretty big rewrite that should recompile almost all packages, > but a lot of grafting happens such as I could rebuild my system quickly. > > I was trying to get the build-phases of an existing package to apply to > a local repository, because guix as a development tool for heavy packages > (emacs, ungoogled-chromium) is tedious, and there are precious info in > build-phases that can be applied in a local repository. I'm not aware of > prior work on this particular issue. > > These patches allow to do extensions such as: > > (build-system > (name 'local-gnu) > (description "GNU Build System applied in the current directory") > (lower > (lambda* args > (let ((old-bag (apply > (build-system-lower > (package-build-system emacs-pgtk)) > args))) > (bag > (inherit old-bag) > (build > (lambda* build-args > (mlet %store-monad > ((builder (apply (bag-build old-bag) build-args))) > (return (with-imported-modules '((guix build utils)) > #~(begin > (use-modules (guix build utils)) > (with-directory-excursion #$(getcwd) > #$builder)))))))))))) > > Of course this type of build-system isn't directly applicable because of > the chroot of the builder, but this other trick makes it happen : > > ;; We can't use package->derivation directly because we want the user rather > ;; than the daemon to build the derivation. > (with-store store > (run-with-store store > (mlet* %store-monad ((bag -> (package->bag pkg)) > (drv (bag->derivation bag pkg))) > ;; ensure inputs are in the store. > (built-derivations (derivation-inputs drv)) > (with-environment-excursion > (apply invoke (derivation-builder (pk 'd drv)) > (derivation-builder-arguments drv)))))) > > This isn't polished yet, but could serve as an handy way to develop > heavy packages locally while taking advantage of the code that's > already in guix build phases. > > > Nicolas Graves (48): > guix: packages: Extend bag-build to support gexp. > build-system: gnu: Improve gnu-cross-build style. > build-system: gnu: Redefine gnu-build and gnu-cross-build. > build-system: agda: Redefine agda-build. > build-system: android-ndk: Redefine gnu-build. > build-system: ant: Redefine ant-build. > build-system: asdf: Redefine asdf-build. > build-system: cargo: Redefine cargo-build and cargo-cross-build. > build-system: chicken: Redefine chicken-build. > build-system: clojure: Redefine clojure-build. > build-system: cmake: Redefine cmake-build and cmake-cross-build. > build-system: composer: Redefine composer-build. > build-system: copy: Redefine copy-build. > build-system: dub: Redefine dub-build. > build-system: dune: Redefine dune-build. > build-system: elm: Redefine elm-build. > build-system: emacs: Redefine emacs-build. > build-system: font: Redefine font-build. > build-system: glib-or-gtk: Improve glib-or-gtk-cross-build style. > build-system: glib-or-gtk: Redefine glib-or-gtk-build functions. > build-system: go: Redefine go-build and go-cross-build. > build-system: guile: Redefine guile-build and guile-cross-build. > build-system: haskell: Redefine haskell-build. > build-system: julia: Redefine julia-build. > build-system: linux-module: Redefine linux-module-build functions. > build-system: maven: Redefine maven-build. > build-system: meson: Redefine meson-build and meson-cross-build. > build-system: minify: Redefine minify-build. > build-system: mix: Redefine mix-build. > build-system: node: Redefine node-build. > build-system: ocaml: Redefine ocaml-build. > build-system: perl: Redefine perl-build and perl-cross-build. > build-system: pyproject: Redefine pyproject-build. > build-system: python: Redefine python-build. > build-system: qt: Redefine qt-build and qt-cross-build. > build-system: r: Redefine r-build. > build-system: rakudo: Redefine rakudo-build. > build-system: rebar: Redefine rebar-build. > build-system: renpy: Redefine renpy-build. > build-system: ruby: Improve ruby-cross-build style. > build-system: ruby: Redefine ruby-build. > build-system: scons: Redefine scons-build. > build-system: texlive: Redefine texlive-build. > build-system: tree-sitter: Redefine tree-sitter-build functions. > build-system: vim: Redefine vim-build. > build-system: waf: Improve waf-build style. > build-system: zig: Redefine zig-build. > build-system: trivial: Redefine trivial-build functions. > > guix/build-system.scm | 2 +- > guix/build-system/agda.scm | 8 +- > guix/build-system/android-ndk.scm | 8 +- > guix/build-system/ant.scm | 8 +- > guix/build-system/asdf.scm | 8 +- > guix/build-system/cargo.scm | 19 ++--- > guix/build-system/chicken.scm | 8 +- > guix/build-system/clojure.scm | 8 +- > guix/build-system/cmake.scm | 24 ++---- > guix/build-system/composer.scm | 9 +-- > guix/build-system/copy.scm | 11 +-- > guix/build-system/dub.scm | 8 +- > guix/build-system/dune.scm | 9 +-- > guix/build-system/elm.scm | 8 +- > guix/build-system/emacs.scm | 8 +- > guix/build-system/font.scm | 10 +-- > guix/build-system/glib-or-gtk.scm | 115 ++++++++++++---------------- > guix/build-system/gnu.scm | 119 +++++++++++++---------------- > guix/build-system/go.scm | 20 ++--- > guix/build-system/guile.scm | 21 ++--- > guix/build-system/haskell.scm | 8 +- > guix/build-system/julia.scm | 8 +- > guix/build-system/linux-module.scm | 17 ++--- > guix/build-system/maven.scm | 8 +- > guix/build-system/meson.scm | 25 ++---- > guix/build-system/minify.scm | 8 +- > guix/build-system/mix.scm | 12 +-- > guix/build-system/node.scm | 8 +- > guix/build-system/ocaml.scm | 9 +-- > guix/build-system/perl.scm | 22 ++---- > guix/build-system/pyproject.scm | 13 +--- > guix/build-system/python.scm | 12 +-- > guix/build-system/qt.scm | 17 ++--- > guix/build-system/r.scm | 9 +-- > guix/build-system/rakudo.scm | 8 +- > guix/build-system/rebar.scm | 12 +-- > guix/build-system/renpy.scm | 8 +- > guix/build-system/ruby.scm | 48 ++++++------ > guix/build-system/scons.scm | 9 +-- > guix/build-system/texlive.scm | 11 +-- > guix/build-system/tree-sitter.scm | 16 ++-- > guix/build-system/trivial.scm | 41 ++++------ > guix/build-system/vim.scm | 15 +--- > guix/build-system/waf.scm | 32 ++++---- > guix/build-system/zig.scm | 8 +- > guix/packages.scm | 53 ++++++++++--- > 46 files changed, 348 insertions(+), 520 deletions(-) -- Best regards, Nicolas Graves --==-=-=-- --=-=-= Content-Type: text/plain -------------------- End of forwarded message -------------------- -- Best regards, Nicolas Graves --=-=-=--