From patchwork Fri Apr 25 09:26:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nicolas Graves X-Patchwork-Id: 42000 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6386D27BC4A; Fri, 25 Apr 2025 10:29:34 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id F38BD27BC4C for ; Fri, 25 Apr 2025 10:29:31 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u8FMu-00059C-I5; Fri, 25 Apr 2025 05:29:15 -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 1u8FMl-00056f-Bc for guix-patches@gnu.org; Fri, 25 Apr 2025 05:29:04 -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 1u8FMk-0007pD-Tq for guix-patches@gnu.org; Fri, 25 Apr 2025 05:29:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=7SZDFN585hnsC5yHLdKAqhWrvuWcWw9NsXkLfx7Ry+w=; b=nF6qs3KIlV63TnmGm9CLk14OcohzJC2/Vj5qt3ys+Y72y78guhp+mLz/zeUE+M/hAbXjWBVmI03BK61Ipj53kd3I6g5LynRz4bFQzkBoCToAgOUe9ZC6p0Ac2pEnx8Ob2oMD2lB64wC9ocZ/cvU4+ZMemmZ1ofj5HDSmWDvoWh3YS4xTZak+XX1vw4dU3crsmC43GMP6U5P2B2oHvyiQJkz+ey+VfJbAqGSZFShkkg0HKa2DlFYqg4R3IMtu/av7Pi3knlThfLd2CqEkgim6f43BMGgNzNur2+wPuTMvjEBwso1IhI9ja3uXg1YpWXuS2MnP+Rpg/J7PnDrh3006tg==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1u8FMj-0000S9-OD for guix-patches@gnu.org; Fri, 25 Apr 2025 05:29:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#78050] [PATCH v2 1/5] build-system: gnu: Improve gnu-cross-build style. Resent-From: Nicolas Graves Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 25 Apr 2025 09:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 78050 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78050@debbugs.gnu.org Cc: Nicolas Graves Received: via spool by 78050-submit@debbugs.gnu.org id=B78050.17455732951618 (code B ref 78050); Fri, 25 Apr 2025 09:29:01 +0000 Received: (at 78050) by debbugs.gnu.org; 25 Apr 2025 09:28:15 +0000 Received: from localhost ([127.0.0.1]:47366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1u8FLz-0000Py-3F for submit@debbugs.gnu.org; Fri, 25 Apr 2025 05:28:15 -0400 Received: from 3.mo563.mail-out.ovh.net ([46.105.40.8]:49379) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1u8FLt-0000P2-Sf for 78050@debbugs.gnu.org; Fri, 25 Apr 2025 05:28:11 -0400 Received: from director1.derp.mail-out.ovh.net (director1.derp.mail-out.ovh.net [51.68.80.175]) by mo563.mail-out.ovh.net (Postfix) with ESMTPS id 4ZkSF417JXz1dVp; Fri, 25 Apr 2025 09:28:07 +0000 (UTC) Received: from director1.derp.mail-out.ovh.net (director1.derp.mail-out.ovh.net. [127.0.0.1]) by director1.derp.mail-out.ovh.net (inspect_sender_mail_agent) with SMTP for <78050@debbugs.gnu.org>; Fri, 25 Apr 2025 09:28:07 +0000 (UTC) Received: from mta6.priv.ovhmail-u1.ea.mail.ovh.net (unknown [10.110.164.80]) by director1.derp.mail-out.ovh.net (Postfix) with ESMTPS id 4ZkSF34N2JzHcF5; Fri, 25 Apr 2025 09:28:07 +0000 (UTC) Received: from ngraves.fr (unknown [10.1.6.7]) by mta6.priv.ovhmail-u1.ea.mail.ovh.net (Postfix) with ESMTPSA id 0838CD43E3D; Fri, 25 Apr 2025 09:28:06 +0000 (UTC) Authentication-Results: garm.ovh; auth=pass (GARM-98R002af2affa0-3c28-4a38-a268-83ec6990e422, 0A0AE3EC9A8D3E829919296CBA8C7C69D15B3FB7) smtp.auth=ngraves@ngraves.fr X-OVh-ClientIp: 90.92.117.144 Date: Fri, 25 Apr 2025 11:26:30 +0200 Message-ID: <20250425092759.30369-2-ngraves@ngraves.fr> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250425092759.30369-1-ngraves@ngraves.fr> References: <20250425092759.30369-1-ngraves@ngraves.fr> MIME-Version: 1.0 X-Ovh-Tracer-Id: 6171901817855271650 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvheduleejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomheppfhitgholhgrshcuifhrrghvvghsuceonhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrqeenucggtffrrghtthgvrhhnpedvleelgeeffeetleekueegvdfhtedvueffiefhkedtleejkeduveelgfdufeduleenucfkphepuddvjedrtddrtddruddpledtrdelvddruddujedrudeggeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepnhhgrhgrvhgvshesnhhgrhgrvhgvshdrfhhrpdhnsggprhgtphhtthhopedvpdhrtghpthhtohepjeektdehtdesuggvsggsuhhgshdrghhnuhdrohhrghdprhgtphhtthhopehnghhrrghvvghssehnghhrrghvvghsrdhfrhdpoffvtefjohhsthepmhhoheeifegmpdhmohguvgepshhmthhpohhuth DKIM-Signature: a=rsa-sha256; bh=7SZDFN585hnsC5yHLdKAqhWrvuWcWw9NsXkLfx7Ry+w=; c=relaxed/relaxed; d=ngraves.fr; h=From; s=ovhmo4487190-selector1; t=1745573288; v=1; b=to4Hq8Y4dRYKUKDiKE694TgVQbDfeJcLcBpMhAtxLLRB+Ok43ND9JxoV+DmdKYruknBQeuWh uhEY40ACaBTcuadfF0M1XQ+SlOZvvKvkHqVXll3hH5D58lv5MtaaFhyS3LO8mMrU1RUhiH854gn gvAVCzXTX6u1ciBBfs/RLDSTIHPAn/5Rb4SJju9fOdDfWF/0HkSBGjt71H9m7WYbj4VbgnMasvI SzwsMlPmuD7EYll06mTqJZpineiX5hHU4T8Abr32LisLr9ZUIob412T8Cuz4upW6Jm5VLJORZFV USosjcmZpinFUM9GZBGbZmmW399ZDk/CJ7sLiz0K4X8ow== 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 X-Patchwork-Original-From: Nicolas Graves via Guix-patches via From: Nicolas Graves Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * guix/build-system/gnu.scm (gnu-cross-build): Use with-imported-modules around the gnu-cross-build builder gexp. Change-Id: I47246571b1d84a82a67a8c289fd5ad4b5a3b5aeb --- guix/build-system/gnu.scm | 97 ++++++++++++++++++++------------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 3a314d34b72..8f0883956e3 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2024 Ludovic Courtès +;;; Copyright © 2024 Nicolas Graves ;;; ;;; This file is part of GNU Guix. ;;; @@ -520,65 +521,65 @@ (define* (gnu-cross-build name cross-built inputs, and NATIVE-INPUTS are inputs that run on the build platform." (define builder - #~(begin - (use-modules #$@(sexp->gexp modules)) + (with-imported-modules imported-modules + #~(begin + (use-modules #$@(sexp->gexp modules)) - (define %build-host-inputs - #+(input-tuples->gexp build-inputs)) + (define %build-host-inputs + #+(input-tuples->gexp build-inputs)) - (define %build-target-inputs - (append #$(input-tuples->gexp host-inputs) - #+(input-tuples->gexp target-inputs))) + (define %build-target-inputs + (append #$(input-tuples->gexp host-inputs) + #+(input-tuples->gexp target-inputs))) - (define %build-inputs - (append %build-host-inputs %build-target-inputs)) + (define %build-inputs + (append %build-host-inputs %build-target-inputs)) - (define %outputs - #$(outputs->gexp outputs)) + (define %outputs + #$(outputs->gexp outputs)) - (gnu-build #:source #+source - #:system #$system - #:build #$build - #:target #$target - #:outputs %outputs - #:inputs %build-target-inputs - #:native-inputs %build-host-inputs - #:search-paths '#$(sexp->gexp - (map search-path-specification->sexp - search-paths)) - #:native-search-paths '#$(sexp->gexp - (map - search-path-specification->sexp - native-search-paths)) - #:phases #$(if (pair? phases) - (sexp->gexp phases) - phases) - #:locale #$locale - #:separate-from-pid1? #$separate-from-pid1? - #:bootstrap-scripts #$bootstrap-scripts - #:configure-flags #$configure-flags - #:make-flags #$make-flags - #:out-of-source? #$out-of-source? - #:tests? #$tests? - #:test-target #$test-target - #:parallel-build? #$parallel-build? - #:parallel-tests? #$parallel-tests? - #:patch-shebangs? #$patch-shebangs? - #:license-file-regexp #$license-file-regexp - #:strip-binaries? #$strip-binaries? - #:validate-runpath? #$validate-runpath? - #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? - #:license-file-regexp #$license-file-regexp - #:strip-flags #$strip-flags - #:strip-directories #$strip-directories))) + (gnu-build #:source #+source + #:system #$system + #:build #$build + #:target #$target + #:outputs %outputs + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths '#$(sexp->gexp + (map search-path-specification->sexp + search-paths)) + #:native-search-paths '#$(sexp->gexp + (map + search-path-specification->sexp + native-search-paths)) + #:phases #$(if (pair? phases) + (sexp->gexp phases) + phases) + #:locale #$locale + #:separate-from-pid1? #$separate-from-pid1? + #:bootstrap-scripts #$bootstrap-scripts + #:configure-flags #$configure-flags + #:make-flags #$make-flags + #:out-of-source? #$out-of-source? + #:tests? #$tests? + #:test-target #$test-target + #:parallel-build? #$parallel-build? + #:parallel-tests? #$parallel-tests? + #:patch-shebangs? #$patch-shebangs? + #:license-file-regexp #$license-file-regexp + #:strip-binaries? #$strip-binaries? + #:validate-runpath? #$validate-runpath? + #:make-dynamic-linker-cache? #$make-dynamic-linker-cache? + #:license-file-regexp #$license-file-regexp + #:strip-flags #$strip-flags + #:strip-directories #$strip-directories)))) - (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) + (mlet %store-monad ((guile (package->derivation (or guile (default-guile)) system #:graft? #f))) (gexp->derivation name builder #:system system #:target target #:graft? #f - #:modules imported-modules #:substitutable? substitutable? #:allowed-references allowed-references #:disallowed-references disallowed-references