blob: 28b71ee6b7432c4889ab03dc8cc8fa6908a85388 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
From 6b3aed3d71ea9481762de7bd42395704176b6625 Mon Sep 17 00:00:00 2001
From: Suhail <[email protected]>
Date: Mon, 16 Dec 2024 15:07:55 -0500
Subject: [PATCH v2] racket: raco: Ensure launchers of packages include config
directory.
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 (which is missing the -G configuration option
in the call to the racket binary), when invoked, 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/...-racket-vm-cs-8.14/opt/racket-vm/collects/
#+end_src
Adding the -G configuration option in the call to the racket binary fixes the
above error.
The executable scripts (at least on linux) are generated via
make-unix-launcher in ./racket/collects/launcher/launcher.rkt . The patch
below ensures that the -G flag is added to such launcher scripts. The patch
is conservative in that it allows it to be overwritten by callers of
launcher.rkt as desired.
---
racket/collects/launcher/launcher.rkt | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/racket/collects/launcher/launcher.rkt b/racket/collects/launcher/launcher.rkt
index 0faacec4ce..2c77d55caf 100644
--- a/racket/collects/launcher/launcher.rkt
+++ b/racket/collects/launcher/launcher.rkt
@@ -405,7 +405,14 @@
[x-flags? (and (eq? kind 'mred)
(eq? (cross-system-type) 'unix)
(not (script-variant? variant)))]
- [flags (let ([m (assq 'wm-class aux)])
+ [flags (let ([m (assq 'wm-class aux)]
+ [flags (if (or (member "-G" flags)
+ (member "--config" flags))
+ flags
+ (list* "-G"
+ (format "~a"
+ (find-system-path 'config-dir))
+ flags))])
(if m
(list* "-J" (cdr m) flags)
flags))]
--
2.47.1
|