help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ocaml-stdlib-shims: setting paths for a Coq package


From: Julien Lepiller
Subject: Re: ocaml-stdlib-shims: setting paths for a Coq package
Date: Sun, 03 Sep 2023 18:02:29 +0200
User-agent: K-9 Mail for Android

Le 2 septembre 2023 20:52:21 GMT+02:00, Garek Dyszel <garekdyszel@disroot.org> 
a écrit :
>Hi Guix,
>
>While trying to package coq-elpi, one finds that Findlib is unable to
>find ocaml-stdlib-shims. The problem persists even if ocaml-stdlib-shims
>is located in the inputs and propagated-inputs fields.
>
>Trying to set OCAMLLIB using the following doesn't seem to work.
>(string-append "OCAMLLIB=$OCAMLLIB:" 
>               #$(this-package-input "ocaml-stdlib-shims"))
>
>Which environment variable should we be setting so that
>ocaml-stdlib-shims can be picked up by Coq?
>
>I can include the whole package file from which this question is
>originating if it would help, but there are about 20 packages in there;
>I don't want to force anybody to read it unless we really have to :)
>
>Garek
>
>
>Make flags for coq-elpi
>--8<---------------cut here---------------start------------->8---
>;; Most of the package definition omitted...
>(arguments ;;...
>`(#:make-flags ,#~(list (string-append "COQBIN="
>                                            #$(this-package-input "coq-core")
>                                            "/bin/")
>                             (string-append "ELPIDIR="
>                                            #$(this-package-input "ocaml-elpi")
>                                            "/lib/ocaml/site-lib/elpi")
>                             (string-append "COQLIBINSTALL="
>                                            #$output
>                                            "/lib/coq/user-contrib")
>                             (string-append "COQMF_COQLIB="
>                                            #$output
>                             "/lib/ocaml/site-lib/coq")
>                             (string-append "OCAMLLIB=$OCAMLLIB:" 
>                                            #$(this-package-input
>                                            "ocaml-stdlib-shims"))
>                             (string-append "COQPLUGININSTALL="
>                                            #$output
>                                            "/lib/ocaml/site-lib")
>                             "OCAMLWARN=")
>                             ;;...
>                             ))
>--8<---------------cut here---------------end--------------->8---
>
>Adjusted arguments for ocaml-stdlib-shims (adding the phase install-meta
>doesn't seem to fix the problem)
>--8<---------------cut here---------------start------------->8---
>(define-public ocaml-stdlib-shims
>  (package
>    (name "ocaml-stdlib-shims")
>    (version "0.3.0")
>    (source (origin
>              (method git-fetch)
>              (uri (git-reference
>                     (url "https://github.com/ocaml/stdlib-shims";)
>                     (commit version)))
>              (file-name (git-file-name name version))
>              (sha256
>               (base32
>                "0gmg8w67j3ww17llk7hl4dx0vq7p50rn5s4ib9sy984k543rz59h"))))
>    (build-system dune-build-system)
>    (arguments
>    `(#:phases
>                 (modify-phases %standard-phases
>                   (delete 'configure)
>                   (add-after 'install 'install-meta
>                     (lambda* (#:key outputs #:allow-other-keys)
>                       (let ((out (assoc-ref outputs "out")))
>                         (with-output-to-file
>                             (string-append out 
> "/lib/ocaml/site-lib/stdlib-shims/META")
>                           (lambda _
>                             (display
>                              "package \"stdlib-shims\" (
>                              description = \"Stdlib shims\"
>                              requires = \"\"
>                              archive(byte) = \"stdlib_shims.cma\"
>                              archive(native) = \"stdlib_shims.cmxa\"
>                              plugin(byte) = \"stdlib_shims.cma\"
>                              plugin(native) = \"stdlib_shims.cmxs\"
>                              )")))))))))
>    (home-page "https://github.com/ocaml/stdlib-shims";)
>    (synopsis "OCaml stdlib features backport to older OCaml compilers")
>    (description "This package backports some of the new stdlib features to
>older compilers, such as the Stdlib module.  This allows projects that require
>compatibility with older compiler to use these new features in their code.")
>    ;; with ocaml-linking exception
>    (license license:lgpl2.1+)))
>--8<---------------cut here---------------end--------------->8---
>

Hi Garek,

It should work with OCAMLPATH, not OCAMLLIB. If you use the ocaml-build-system 
or the dune-build-system, it should already be set. Otherwise, adding ocaml to 
your native-inputs should help.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]