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



Reply via email to