GNU bug report logs -
#49280
[PATCH v2 0/3] gnu: racket: Update to 8.2. Bootstrap from C.
Previous Next
Full log
Message #46 received at 49280 <at> debbugs.gnu.org (full text, mbox):
Hi,
On 7/19/21 3:46 PM, Leo Prikler wrote:
> Am Montag, den 19.07.2021, 02:31 -0400 schrieb Philip McGrath:
>> * gnu/packages/racket.scm (racket-minimal, racket): Update to 8.2.
>> * gnu/packages/racket.scm (racket-minimal)[#:arguments]: Fix
>> patch-config.rktd-lib-search-dirs phase. When a config.rktd file
>> doesn't contain an entry for `lib-search-dirs`, the default is
>> equivalent to `'(#f)`, not `'()`.
> What is the point of this value? Can we use a (sequence of) string(s)
> in its stead?
As you'd probably guess, `lib-search-dirs` and other `-search-dirs`
"config.rktd" entries specify search paths. The `#f` value is used to
specify the point at which the default search path should be spliced
into the list: a configuration file can ignore the default altogether or
exercise fine-grained control over the search order. Using `#f` also
helps to maintain something closer to a single point of control, rather
than hard-code the same string constants in several places.
Most importantly, the default value is not always a constant: for
example, command-line flags and Racket parameters control whether
user-specific paths are included.
(For `lib-search-dirs` in particular, it's also worth noting that these
are Racket-specific search directories: it does not control the use of
OS-level defaults for e.g. `dlopen`.)
The problems with omitting `#f` from `lib-search-dirs` were not very
noticeable until the patch to start using layered and tethered
installations. For a more obvious example, if `catalogs` is `'()`, `raco
pkg` won't consult any package catalogs, whereas `'(#f)` will cause it
to use the default catalogs.
The documentation for these configuration options is here:
https://docs.racket-lang.org/raco/config-file.html#(idx._(gentag._70._(lib._scribblings%2Fraco%2Fraco..scrbl)))
(As of this writing, the docs on the website are still at 8.1---the
whole package catalog is rebuilt after a new Racket release, which takes
a little while to finish. You could alternatively apply this patch and
run `lynx "file://"$(./pre-inst-env guix build
racket)"/share/doc/racket/raco/config-file.html#(idx._(gentag._70._(lib._scribblings%2Fraco%2Fraco..scrbl)))"`.)
-Philip
This bug report was last modified 3 years and 355 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.