Subject: bug#74845: closed (Re: bug#74845: [PATCH v2] gnu: racket: Ensure package launchers reference config directory.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 16 Feb 2025 04:01:02 +0000

Your bug report

#74845: Guix racket: binaries installed via "raco pkg install" missing --config directory

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].

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

Subject: Re: bug#74845: [PATCH v2] gnu: racket: Ensure package launchers reference config directory.
From: Leo Famulari <[email-masked]>
To: Suhail Singh <[email-masked]>
Cc: Philip McGrath <[email-masked]>, [email-masked]
Date: Sat, 15 Feb 2025 23:00:30 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

On Mon, Dec 16, 2024 at 03:25:48PM -0500, Suhail Singh wrote:
> * gnu/packages/patches/racket-launcher-config-dir.patch: New file.  With this
> patch, packages installed at runtime via raco have configuration directory
> correctly set.
> * gnu/local.mk (dist_patch_DATA): Register it.
> * gnu/packages/racket.scm (%racket-origin): Use it.

Thanks! Pushed as 696f2acbc7ba0ab7874d7ee4766135b623f88424

Subject: Guix racket: binaries installed via "raco pkg install" missing --config directory
From: Suhail Singh <[email-masked]>
To: Guix-bugs mailing list <[email-masked]>
Cc: Philip McGrath <[email-masked]>
Date: Thu, 12 Dec 2024 22:07:01 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix,

Currently, binaries installed via "raco" (included in Guix's "racket"
package) don't include the -G / --config configuration option specifying
the "Main configuration directory".  This is problematic.

Specifically, when installing "rash" via raco using the below:

#+begin_src sh
  raco pkg install rash
#+end_src

The resulting rash-repl binary is missing the -G configuration option in
the call to the racket binary.  Invoking the installed rash-repl binary
results in the following error:

#+begin_src sh
  standard-module-name-resolver: collection not found
    for module path: (lib "rash/repl.rkt")
    collection: "rash"
    in collection directories:
     ${HOME}/.local/share/racket/8.14/collects
     /gnu/store/vn20i9xk22czljr9drwzwpgw209l49s8-racket-vm-cs-8.14/opt/racket-vm/collects/
#+end_src

Adding the -G configuration option similar to what's included in the
"raco" script itself, fixes the above error.

The executable scripts (at least on linux) seem to be generated via
make-unix-launcher in ./racket/collects/launcher/launcher.rkt .  What's
unclear is the best way in which to address this issue.  For one thing,
the -G configuration option in the "raco" script (which addressed the
issue in the rash-repl script above) references the store location of
the racket guix package.  However, the launcher.rkt (which contains the
definition of make-unix-launcher) file is compiled as part of
racket-vm-cs (which is an input of racket).

-- 
Suhail