From unknown Sat Jun 21 03:27:30 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#71495 <71495@debbugs.gnu.org> To: bug#71495 <71495@debbugs.gnu.org> Subject: Status: Add command line flag to add to load path without evaluation Reply-To: bug#71495 <71495@debbugs.gnu.org> Date: Sat, 21 Jun 2025 10:27:30 +0000 retitle 71495 Add command line flag to add to load path without evaluation reassign 71495 guix submitter 71495 Richard Sent severity 71495 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Jun 11 17:19:45 2024 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 To: bug-guix@gnu.org Subject: Add command line flag to add to load path without evaluation 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-Debbugs-Envelope-To: submit 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 debbugs-submit-bounces@debbugs.gnu.org Wed Jul 03 23:20:47 2024 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 To: 71495@debbugs.gnu.org Subject: Re: bug#71495: Add command line flag to add to load path without evaluation 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-Debbugs-Envelope-To: 71495 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.