From patchwork Mon Apr 1 20:25:20 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ludovic_Court=C3=A8s?= X-Patchwork-Id: 62449 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 080BD27BBE9; Mon, 1 Apr 2024 21:27:41 +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=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable 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 D2F6927BBE2 for ; Mon, 1 Apr 2024 21:27:38 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rrOFI-0008US-00; Mon, 01 Apr 2024 16:27:08 -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 1rrOFC-0008T9-4O for guix-patches@gnu.org; Mon, 01 Apr 2024 16:27:02 -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 1rrOFB-0006wf-5T; Mon, 01 Apr 2024 16:27:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rrOFC-0007L9-Az; Mon, 01 Apr 2024 16:27:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#70132] [PATCH 08/11] guix: Delay loading of (gnutls). Resent-From: Ludovic =?utf-8?q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, rekado@elephly.net, zimon.toutoune@gmail.com, me@tobias.gr, guix-patches@gnu.org Resent-Date: Mon, 01 Apr 2024 20:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70132 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 70132@debbugs.gnu.org Cc: Ludovic =?utf-8?q?Court=C3=A8s?= , Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice X-Debbugs-Original-Xcc: Christopher Baines , Josselin Poiret , Ludovic =?utf-8?q?Court=C3=A8s?= , Mathieu Othacehe , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice Received: via spool by 70132-submit@debbugs.gnu.org id=B70132.171200316928126 (code B ref 70132); Mon, 01 Apr 2024 20:27:02 +0000 Received: (at 70132) by debbugs.gnu.org; 1 Apr 2024 20:26:09 +0000 Received: from localhost ([127.0.0.1]:51723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrOEL-0007JU-8P for submit@debbugs.gnu.org; Mon, 01 Apr 2024 16:26:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59822) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rrOEJ-0007Ga-25 for 70132@debbugs.gnu.org; Mon, 01 Apr 2024 16:26:07 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rrOE7-0006nb-Bx; Mon, 01 Apr 2024 16:25:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To: From; bh=E2p+uRh0UO5UxxsqjiH5aDgm7MioOP7Q/Bh3etynzFk=; b=KVNi3TDwQsKV87tnjH5d Z6vCRfOksluRfHkZLF505kMVkYt0j5xyvTrBwvY7iQlvDnwBqtJOOBUc49GfyX3kpVyE8MWxCTuEv hT2vH3bCnU79uCGbYTgtdW55gRFBt2lbJxCzyPNzRzxWq9g6f6nOzTBSs787odiR31i0sTsKT/b85 Kc/42kbB6jXmN2EH9179aILRdq75lFQUBOPjyKM0Me40pyb+fZ8zZ8LpdjrHUfGve7GDo6z611uS1 Q00CmUV02Z3KSdlFwfGZP/n0+C3Gk8ucr3BsvEjEacNxr/eWHXVpCq4dabfrnn3gyUkyi2APmltD6 Fk02wEL7eeSURw==; From: Ludovic =?utf-8?q?Court=C3=A8s?= Date: Mon, 1 Apr 2024 22:25:20 +0200 Message-ID: <2c9f4d6f2b10b0975be8952a1ae0bc0fc0bbe0d6.1712002698.git.ludo@gnu.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: References: MIME-Version: 1.0 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: , 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 (web …) modules pull in (gnutls) indirectly. Arrange to load them lazily, thereby reducing I/O and allocations when GnuTLS is not needed such as when running ‘guix describe’ or ‘guix shell’ on a cache hit. * guix/download.scm: Autoload (web uri). * guix/scripts/describe.scm: Likewise. * guix/store.scm: Likewise. (%default-substitute-urls): Remove ‘resolve-interface’ call and use https URLs unconditionally. Change-Id: Ide470c556a14866e8740966d25821df487a79859 --- guix/download.scm | 2 +- guix/scripts/describe.scm | 4 ++-- guix/store.scm | 13 ++++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/guix/download.scm b/guix/download.scm index 192c47f113..b251e1f6c0 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -32,7 +32,7 @@ (define-module (guix download) #:use-module (guix monads) #:use-module (guix gexp) #:autoload (guix build utils) (call-with-temporary-output-file) - #:use-module (web uri) + #:autoload (web uri) (string->uri uri-scheme uri-path) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:export (%download-methods diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm index 449ab4b252..70ae84e9f6 100644 --- a/guix/scripts/describe.scm +++ b/guix/scripts/describe.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018, 2019, 2020, 2021, 2023 Ludovic Courtès +;;; Copyright © 2018, 2019, 2020, 2021, 2023, 2024 Ludovic Courtès ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2020 Ekaitz Zarraga ;;; Copyright © 2021 Simon Tournier @@ -37,7 +37,7 @@ (define-module (guix scripts describe) #:use-module (ice-9 match) #:use-module (ice-9 format) #:autoload (ice-9 pretty-print) (pretty-print) - #:use-module (web uri) + #:autoload (web uri) (string->uri uri-host) #:export (display-profile-content channel-commit-hyperlink diff --git a/guix/store.scm b/guix/store.scm index 97c4f32a5b..e808b43ba9 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012-2023 Ludovic Courtès +;;; Copyright © 2012-2024 Ludovic Courtès ;;; Copyright © 2018 Jan Nieuwenhuizen ;;; Copyright © 2019, 2020 Mathieu Othacehe ;;; Copyright © 2020 Florian Pelz @@ -49,7 +49,12 @@ (define-module (guix store) #:use-module (ice-9 popen) #:autoload (ice-9 threads) (current-processor-count) #:use-module (ice-9 format) - #:use-module (web uri) + #:autoload (web uri) (uri? + string->uri + uri-scheme + uri-host + uri-port + uri-path) #:export (%daemon-socket-uri %gc-roots-directory %default-substitute-urls @@ -764,9 +769,7 @@ (define %default-substitute-urls ;; Default list of substituters. This is *not* the list baked in ;; 'guix-daemon', but it is used by 'guix-service-type' and and a couple of ;; clients ('guix build --log-file' uses it.) - (map (if (false-if-exception (resolve-interface '(gnutls))) - (cut string-append "https://" <>) - (cut string-append "http://" <>)) + (map (cut string-append "https://" <>) '("ci.guix.gnu.org" "bordeaux.guix.gnu.org")))