From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id AOt7ICVMm18tZwAA0tVLHw (envelope-from ) for ; Thu, 29 Oct 2020 23:11:33 +0000 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 4FuJHCVMm19yMwAA1q6Kng (envelope-from ) for ; Thu, 29 Oct 2020 23:11:33 +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 4A1299400D3 for ; Thu, 29 Oct 2020 23:11:33 +0000 (UTC) Received: from localhost ([::1]:45336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kYH4u-0007if-8c for larch@yhetil.org; Thu, 29 Oct 2020 19:11:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kYH4Q-0007QX-9s for guix-patches@gnu.org; Thu, 29 Oct 2020 19:11:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:43751) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kYH4Q-0006R6-0r for guix-patches@gnu.org; Thu, 29 Oct 2020 19:11:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kYH4P-0000Ou-SX for guix-patches@gnu.org; Thu, 29 Oct 2020 19:11:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#44321] [PATCH 1/6] guix build: 'package-with-source' no longer takes a 'store' parameter. References: <20201029230831.14456-1-ludo@gnu.org> In-Reply-To: <20201029230831.14456-1-ludo@gnu.org> Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 29 Oct 2020 23:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44321 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 44321@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 44321-submit@debbugs.gnu.org id=B44321.16040130131422 (code B ref 44321); Thu, 29 Oct 2020 23:11:01 +0000 Received: (at 44321) by debbugs.gnu.org; 29 Oct 2020 23:10:13 +0000 Received: from localhost ([127.0.0.1]:55283 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYH3d-0000Ms-9V for submit@debbugs.gnu.org; Thu, 29 Oct 2020 19:10:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kYH3c-0000MU-5y for 44321@debbugs.gnu.org; Thu, 29 Oct 2020 19:10:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49472) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kYH3W-0006A2-V0; Thu, 29 Oct 2020 19:10:06 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=50412 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kYH3W-0007CN-8p; Thu, 29 Oct 2020 19:10:06 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Date: Fri, 30 Oct 2020 00:09:55 +0100 Message-Id: <20201029231000.14568-1-ludo@gnu.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -3.3 (---) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: 3.49 X-TUID: pSU+eD7J4n+h * guix/scripts/build.scm (): New record type. (download-to-store*): New variable. (compile-downloaded-file): New procedure. (package-with-source): Remove 'store' parameter. Use 'downloaded-file' instead of 'download-to-store'. (transform-package-source): Adjust accordingly. --- guix/scripts/build.scm | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index f4a8af035b..831ac8f798 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -45,6 +45,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) @@ -172,7 +173,25 @@ extensions." (else file-name))) -(define* (package-with-source store p uri #:optional version) + +;; Files to be downloaded. +(define-record-type + (downloaded-file uri recursive?) + downloaded-file? + (uri downloaded-file-uri) + (recursive? downloaded-file-recursive?)) + +(define download-to-store* + (store-lift download-to-store)) + +(define-gexp-compiler (compile-downloaded-file (file ) + system target) + "Download FILE and return the result as a store item." + (match file + (($ uri recursive?) + (download-to-store* uri #:recursive? recursive?)))) + +(define* (package-with-source p uri #:optional version) "Return a package based on P but with its source taken from URI. Extract the new package's version number from URI." (let ((base (tarball-base-name (basename uri)))) @@ -183,8 +202,7 @@ the new package's version number from URI." (package-version p))) ;; Use #:recursive? #t to allow for directories. - (source (download-to-store store uri - #:recursive? #t)) + (source (downloaded-file uri #t)) ;; Override the replacement, otherwise '--with-source' would ;; have no effect. @@ -226,7 +244,7 @@ matching URIs given in SOURCES." ((? package? p) (match (assoc-ref sources (package-name p)) ((version source) - (package-with-source store p source version)) + (package-with-source p source version)) (#f p))) (_ -- 2.28.0