> I see, but now we’re creating a directory that remains empty, and as I
> wrote, chez-fmt is actually installed in another directory anyway:

Oh yikes! Yeah so I see half of the scheme libraries are installed in lib/csv-site and other are installed in lib/csv<version>-site. It appears that there was a missing make flag for scheme-fmt and several others. Attached is an updated patch that fixes that.

On 8/31/20 3:56 PM, Ludovic Courtès wrote:
Hi,

Martin Becze <[email protected]> skribis:

This is creating an empty directory, right?  Are you sure this helps?

Yes, I think it solves the problem. On line 92 of the package
definition we have

```
(native-search-paths
      (list (search-path-specification
             (variable "CHEZSCHEMELIBDIRS")
             (files (list (string-append "lib/csv" version "-site"))))))
```
search-path-specification won't set the environmental variable unless
the folder already exists. Note lib/csv<version> does exist at this
point but most libraries seem to want to live lib/csv<version>-site.

I see, but now we’re creating a directory that remains empty, and as I
wrote, chez-fmt is actually installed in another directory anyway:

Isn’t the problem that packages like chez-fmt install libraries in
‘csv-site’ instead of ‘csv1.2.3-site’?

--8<---------------cut here---------------start------------->8---
$ find $(./pre-inst-env  guix build chez-fmt)
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-js.so
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-c.so
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt.so
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.css
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/README
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.html
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/VERSION
--8<---------------cut here---------------end--------------->8---

So perhaps the search path should be just lib/csv-site?  Is that
consistent across Chez packages?

Thanks,
Ludo’.

>From 328ab304b47671dcdc03768f07484aae298ca646 Mon Sep 17 00:00:00 2001
From: Martin Becze <[email protected]>
Date: Thu, 20 Aug 2020 12:39:50 -0500
Subject: [PATCH v2 1/2] gnu: chez-scheme: Fix libary directory issue.

This creates the directory lib/csv<version>-site which the scheme libary packages
expect.

* gnu/packages/chez.scm (chez-scheme): Create libary directory.
* gnu/packages/chez.scm (chez-make-flags): Add chezversion to make flags.
---
 gnu/packages/chez.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index da0b17e799..ac8fce5a1a 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -194,6 +194,8 @@
                     (bin (string-append out "/bin"))
                     (lib (string-append out "/lib"))
                     (name "chez-scheme"))
+               ;; create the folder for libary installation
+               (mkdir (string-append lib "/csv" ,version "-site"))
                (symlink (string-append bin "/scheme")
                         (string-append bin "/" name))
                (map (lambda (file)
@@ -416,9 +418,11 @@ Chez Scheme.")
 ;; files.
 (define (chez-make-flags name version)
   `(let ((out (assoc-ref %outputs "out")))
-     (list (string-append "PREFIX=" out)
-           (string-append "DOCDIR=" out "/share/doc/"
-                          ,name "-" ,version))))
+     (list
+      (string-append "chezversion=" ,(package-version chez-scheme))
+      (string-append "PREFIX=" out)
+      (string-append "DOCDIR=" out "/share/doc/"
+                     ,name "-" ,version))))
 
 (define-public chez-matchable
   (package
-- 
2.28.0

Reply via email to