From unknown Tue Jun 17 22:30:04 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71495: Add command line flag to add to load path without evaluation Resent-From: Richard Sent Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 11 Jun 2024 21:20:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71495 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71495@debbugs.gnu.org X-Debbugs-Original-To: bug-guix@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.171814078528365 (code B ref -1); Tue, 11 Jun 2024 21:20:01 +0000 Received: (at submit) by debbugs.gnu.org; 11 Jun 2024 21:19:45 +0000 Received: from localhost ([127.0.0.1]:36908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sH8u9-0007NR-3a for submit@debbugs.gnu.org; Tue, 11 Jun 2024 17:19:45 -0400 Received: from lists.gnu.org ([209.51.188.17]:52072) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sH8u6-0007NJ-Ve for submit@debbugs.gnu.org; Tue, 11 Jun 2024 17:19:43 -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 1sH8u8-000369-8n for bug-guix@gnu.org; Tue, 11 Jun 2024 17:19:44 -0400 Received: from mail-108-mta76.mxroute.com ([136.175.108.76]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sH8u6-0000OM-HE for bug-guix@gnu.org; Tue, 11 Jun 2024 17:19:43 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta76.mxroute.com (ZoneMTA) with ESMTPSA id 190092bacfa00017a3.001 for (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Tue, 11 Jun 2024 21:19:35 +0000 X-Zone-Loop: 102a395145b7272e59fdd9c610eb908538ae6d8f65ca X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Type:MIME-Version:Message-ID:Date: Subject:To:From:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=TWY0Ob9/7RFyhtp7yxTAl9oDz8DjQto6zko51AEB7To=; b=Gj5mgx5nWW3rBsQYQCmsXpbixx p8/kubsQRb7zt82azOiU0577XZlFb9qH5HSGJkC271Ky+M+PqVor9GVD3LaCsPcEC4A3T1GLeEB47 H4Wsj/+2IzUSQStt6YfIkNQXPd7BJYZkZkBma5rtlShbkjB6mGhN+TMiw9xI/YSid7QIccN2zAKzR kcbE8nuXQRDX4EEypO8XJjETAF7q/ohEJK0SN1Tlfb1NU/1dLdJXWpVfgdkcu1xAG2AxFafaGRnol vfyo56KJ75ghGhR3easKePe6+mg6fJrpjCv5A0amtXOEUB/9HBr4N3GfmudSfTlEwiI3AjrgRtA0w rRinSjLg==; From: Richard Sent Date: Tue, 11 Jun 2024 17:19:22 -0400 Message-ID: <87a5jrxjmt.fsf@freakingpenguin.com> MIME-Version: 1.0 Content-Type: text/plain X-Authenticated-Id: richard@freakingpenguin.com Received-SPF: pass client-ip=136.175.108.76; envelope-from=richard@freakingpenguin.com; helo=mail-108-mta76.mxroute.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) Hi Guix! In Guile, -L is a equivalent shorthand for adding to the %load-path variable. No actual files are evaluated. In Guix, -L actually evaluates files (at least in some capacity) to look for package definitions, allowing for uses like $ guix -L . . This has a performance impact as channels grow, so it would be nice if there was an alternative command line flag that matched Guile's behavior. To showcase the issue, here's three examples of "building" an already-built home environment. I would use $ guix repl instead, but -L in guix repl seems to match Guile's behavior, not Guix's. --8<---------------cut here---------------start------------->8--- # Baseline, no load path additions gibraltar :) rsent$ bash -c 'time guix home build rsent/home/minimal.scm' /gnu/store/5m062lg4f32j9hlirfkcp5141px6sgkv-home real 0m9.776s user 0m22.981s sys 0m0.233s # GUILE_LOAD_PATH, within margin of error of baseline gibraltar :) rsent$ GUILE_LOAD_PATH=. bash -c 'time guix home build rsent/home/minimal.scm' /gnu/store/5m062lg4f32j9hlirfkcp5141px6sgkv-home real 0m10.016s user 0m23.064s sys 0m0.186s # -L ., consistently ~25% longer to complete gibraltar :) rsent$ bash -c 'time guix home build -L . rsent/home/minimal.scm' /gnu/store/5m062lg4f32j9hlirfkcp5141px6sgkv-home real 0m12.791s user 0m29.569s sys 0m0.247s --8<---------------cut here---------------end--------------->8--- At present one can set GUILE_LOAD_PATH manually to work around this issue. In my opinion this isn't very discoverable. Furthermore, it can't _cleanly_ handle cases when GUILE_LOAD_PATH is already set or needs multiple entries. It also makes certain commands with bash builtins (like time...) awkward since you have to enter a subshell. -- Take it easy, Richard Sent Making my computer weirder one commit at a time. From unknown Tue Jun 17 22:30:04 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71495: Add command line flag to add to load path without evaluation Resent-From: Richard Sent Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 04 Jul 2024 03:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71495 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71495@debbugs.gnu.org Received: via spool by 71495-submit@debbugs.gnu.org id=B71495.172006324725842 (code B ref 71495); Thu, 04 Jul 2024 03:21:02 +0000 Received: (at 71495) by debbugs.gnu.org; 4 Jul 2024 03:20:47 +0000 Received: from localhost ([127.0.0.1]:41136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sPD1b-0006ik-JZ for submit@debbugs.gnu.org; Wed, 03 Jul 2024 23:20:47 -0400 Received: from mail-108-mta130.mxroute.com ([136.175.108.130]:36629) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sPD1Y-0006ib-Qv for 71495@debbugs.gnu.org; Wed, 03 Jul 2024 23:20:45 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta130.mxroute.com (ZoneMTA) with ESMTPSA id 1907bc22aec00017a3.001 for <71495@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Thu, 04 Jul 2024 03:20:40 +0000 X-Zone-Loop: 68a98d27a0cf165862dc83544c03a7b9938ec6e74b47 X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:To:From:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=DxUTSIY4QC8GIvQWQVA2gHgHqqn0imBfawH2aXqJ8VM=; b=GFx0qE1dIahptZEtVghlZ3yCnM xegylol46L6kXm+Idd9iNeJc+8wwYypxUrV0E8iFqlGRZxzJn15p7b8vVjqepG8+Uc0xwKkhtR0Kj sWwqXSVgVrH+1hAqvoRCUz8haEHITvdPgUkOBzjLXC7KUbtOW9InohOzdKJXIuNHl3tjQrCkC8gFL oWdVDMUbVCfXY+Em4oMAZNBYz4TKl6uQEl8gh9vOjkGKN5UMM1eP9McAHRWJ0pxij9oNNM9TTzy0u x7+lx/qv9Xb5ha9yX4vhsuMN9HqQyDofb1iujOyuhDxHzdfqjTP9xWkD5WogKInXcBxUPiUJ0b6gM Le5VJeOQ==; From: Richard Sent In-Reply-To: <87a5jrxjmt.fsf@freakingpenguin.com> (Richard Sent's message of "Tue, 11 Jun 2024 17:19:22 -0400") References: <87a5jrxjmt.fsf@freakingpenguin.com> Date: Wed, 03 Jul 2024 23:20:30 -0400 Message-ID: <87tth5hmgx.fsf@freakingpenguin.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Authenticated-Id: richard@freakingpenguin.com X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Richard Sent writes: > At present one can set GUILE_LOAD_PATH manually to work around this > issue. In my opinion this isn't very discoverable. Furthermore, it can't > _cleanly_ handle cases when GUILE_LOAD_PATH is already set or needs > multiple entries. It also makes certain commands with bash builtins > (like time...) awkward since you have to enter a subshell. I noticed that when using ./pre-inst-env, augmenting GUILE_LOAD_PATH manually isn't trivial. I'm not quite sure how to describe the failures, but they seem manifold. -- Take it easy, Richard Sent Making my computer weirder one commit at a time.