Subject: Re: bug#42947: Chez Scheme libraries are broken

From: Ludovic Courtès <[email-masked]>
Date: Fri, 28 Aug 2020 15:22:42 +0200

Hi Martin,

Martin Becze <[email-masked]> skribis:

> Chez Scheme libraries are broken. For example `guix environment --ad-hoc
> chez-scheme chez-fmt`. chez-fmt will not install (for me) because it is
> dependent on chez-srfi and chez-scheme seem unable to locate it.
>
> I think it is because CHEZSCHEMELIBDIRS is not being set. But I'm not
> sure why that is happening. The chez-scheme package includes the following
>
>
> ```
> (native-search-paths
>       (list (search-path-specification
>             (variable "CHEZSCHEMELIBDIRS")
>             (files (list (string-append "lib/csv" version "-site"))))))
> ```
> Which I think should set it.
>
> -Martin

Martin Becze <[email-masked]> skribis:

> By default chez-scheme seems to be using lib/csv<version> for libaries. 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 | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
> index b80421d3f7..bb584696ae 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"))

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

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---

Thanks,
Ludo’.