Subject: [bug#53878] [PATCH v7 15/24] gnu: chez-scheme: Use "lib/chez-scheme" for search path.

From: Philip McGrath <[email-masked]>
Date: Sun, 27 Feb 2022 16:29:11 -0500

There does not seem to be any widely accepted standard path to use for
"CHEZSCHEMELIBDIRS". Using a path without a version number in it avoids
having to compute the actual path everywhere, which would be especially
unpleasant when support is added for the Racket variant of Chez Scheme,
which always has a different version number than upstream.

* gnu/packages/chez.scm (chez-scheme)[native-search-paths]: Change to
use "lib/chez-scheme" instead of "lib/csvX.Y.Z-site" for
"CHEZSCHEMELIBDIRS".
(chez-make-flags): Update accordingly.
(chez-sockets)[arguments]<#:phases>: Likewise.
---
 gnu/packages/chez.scm | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index 4ee9711bb4..f4c87fbcf7 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -233,7 +233,7 @@ (define-public chez-scheme
     (native-search-paths
      (list (search-path-specification
             (variable "CHEZSCHEMELIBDIRS")
-            (files (list (string-append "lib/csv" version "-site"))))))
+            (files '("lib/chez-scheme")))))
     (outputs '("out" "doc"))
     (arguments
      `(#:modules
@@ -458,9 +458,9 @@ (define chez-configure
 (define (chez-make-flags name version)
   #~(let ((out #$output))
       (list
-       ;; Set 'chezversion' so that libraries are installed in
-       ;; 'lib/csvX.Y.Z-site' like Chez's 'native-search-paths' expects.
-       (string-append "chezversion=" #$(package-version chez-scheme))
+       ;; Set 'schemedir' so that libraries are installed in
+       ;; 'lib/chez-scheme' like Chez's 'native-search-paths' expects.
+       (string-append "schemedir=" out "/lib/chez-scheme")
        (string-append "PREFIX=" out)
        (string-append "DOCDIR=" out "/share/doc/" #$name "-" #$version))))
 
@@ -608,9 +608,7 @@ (define-public chez-sockets
             (replace 'build
               (lambda args
                 (let ((chez-site (string-append #$output
-                                                "/lib/csv"
-                                                (package-version chez-scheme)
-                                                "-site/arcfide")))
+                                                "/lib/chez-scheme/arcfide")))
                   ;; make sure Chez Scheme can find the shared libraries.
                   (substitute* "sockets.ss"
                     (("(object \")(socket-ffi-values\\.[sd][oy][^\"]*)(\")"
@@ -634,9 +632,7 @@ (define-public chez-sockets
               (lambda args
                 (install-file "sockets.so"
                               (string-append #$output
-                                             "/lib/csv"
-                                             #$(package-version chez-scheme)
-                                             "-site/arcfide"))
+                                             "/lib/chez-scheme/arcfide"))
                 (install-file "sockets.pdf"
                               (string-append #$output
                                              "/share/doc/"
-- 
2.32.0