Subject: bug#61574: closed (Re: bug#61574: [PATCH v2] scripts: repl: Extend REPL %load-path with all channels.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 27 Feb 2023 14:02:02 +0000

Your bug report

#61343: [PATCH v2] scripts: repl: Extend REPL %load-path with all channels.

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
61343: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61343
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#61574: [PATCH v2] scripts: repl: Extend REPL %load-path with all channels.
From: Ludovic Courtès <[email-masked]>
To: Simon Tournier <[email-masked]>
Cc: Josselin Poiret <[email-masked]>, [email-masked], [email-masked], [email-masked]
Date: Mon, 27 Feb 2023 15:01:11 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Simon,

Simon Tournier <[email-masked]> skribis:

> Fixes <https://bugs.gnu.org/61343>.
> Reported by 宋文武 <[email-masked]>.
>
> * guix/scripts/repl.scm (define-command): Before starting the REPL,
> run (current-profile) which makes available all channels.

[...]

> +++ b/guix/scripts/repl.scm
> @@ -211,6 +211,7 @@ (define script
>                ((guile)
>                 (save-module-excursion
>                  (lambda ()
> +                  (current-profile) ;Run (%package-module-path) as explained above.

I tweaked the comment :-) and applied.

Thanks!

Ludo’.

Subject: [PATCH v2] scripts: repl: Extend REPL %load-path with all channels.
From: Simon Tournier <[email-masked]>
To: Josselin Poiret via Bug reports for GNU Guix <[email-masked]>, Simon Tournier <[email-masked]>,宋文武 <[email-masked]>, [email-masked]
Cc: Josselin Poiret <[email-masked]>
Date: Fri, 17 Feb 2023 15:56:27 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Fixes <https://bugs.gnu.org/61343>.
Reported by 宋文武 <[email-masked]>.

* guix/scripts/repl.scm (define-command): Before starting the REPL,
run (current-profile) which makes available all channels.
---

Hi,

Instead I am proposing this, it avoids to load all the module.

For testing, once applied to some Guix checkout, just run:

$ ./pre-inst-env guix pull --disable-authentication -C /tmp/channels.scm -p /tmp/new
$ echo '(use-modules (rde features))' | /tmp/new/bin/guix repl /dev/stdin

where /tmp/channels.scm reads,

(list
 (channel
  (name 'rde)
  (url "https://git.sr.ht/~abcdw/rde")
  (introduction
   (make-channel-introduction
    "257cebd587b66e4d865b3537a9a88cccd7107c95"
    (openpgp-fingerprint
     "2841 9AC6 5038 7440 C7E9  2FFA 2208 D209 58C1 DEB0"))))
 (channel
  (name 'guix)
  (url "/home/simon/src/guix/guix")))

tweaking the path to your Guix checkout.

Cheers,
simon

 guix/scripts/repl.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/guix/scripts/repl.scm b/guix/scripts/repl.scm
index 787c63d48e..fc55d79c41 100644
--- a/guix/scripts/repl.scm
+++ b/guix/scripts/repl.scm
@@ -211,6 +211,7 @@ (define script
               ((guile)
                (save-module-excursion
                 (lambda ()
+                  (current-profile) ;Run (%package-module-path) as explained above.
                   (set-user-module)
                   ;; Do not exit repl on SIGINT.
                   ((@@ (ice-9 top-repl) call-with-sigint)

base-commit: cb45e9d0dc6cbe6f69a858f71252411610b4ce82
-- 
2.38.1