-
Notifications
You must be signed in to change notification settings - Fork 412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[install] Tweaks to library handling in dune install
#1901
Comments
I'm not sure One other issue is that this doesn't fit well with existing opam |
I am not sure I fully follow what you mean @diml , I think the current setup works fine for OCaml libs, it is for other kind of data that should go in I guess my description was a bit confusing, indeed the install files for OCaml should not change, we assume the compiler was correctly configured for whatevev |
@ejgallego I think I might also be misinterpreting. So if you could clarify from the beginning that would be useful. I'm not understand the issue with nix for example (probably because I don't use nix) The way I understand it is that you don't necessarily want coq libraries to be installed along with OCaml libraries. That seems to make sense, but it also seems to be conflicting with @diml why isn't |
Well, we should indeed allow to override these settings for special purposes or package managers. However, it doesn't feel right that the users would be required to pass these parameters everytime they manually install a package. If the decision as to where packages should go has already been made when installing the master package, that's the location that should be used by default. |
Indeed, that's what I need; sorry if my description was confusing. OCaml libraries are installed properly, however Coq libraries are bound to the OCaml library path and IMHO it would make sense for them to live in a different "path space".
I guess you are right and
The thing is that the install format seems too OPAM-specific to me; as of today installing dune-built Coq with OPAM works perfectly well as in this case OCaml's lib == general lib. But in most distros general lib will be p.s: Note that the .install format forbids using |
It seems to me that packages should be allowed to define "sites" where other packages are allowed to install files. For instance, Coq could define a "Coq library site". Then this site would become a valid installation section.
Are you sure about that? We generate a lot of them when cross-compiling. |
Yup, that would work fine. Note that if the package files are architecture independent then there is no problem as Handling libroot separately would also work tho provided the install rules add the package-specific suffix.
That's what's written in the manual https://opam.ocaml.org/doc/Manual.html#lt-pkgname-gt-install [and IMHO makes sense] |
Ah, well this is definitely not enforced then. I agree that it makes sense though |
How should we proceed then? Does it make sense for |
It is indeed not clear to me how to proceed. Extending
Actually Coq works well with OPAM already, as OPAM makes the assumption "OCaml lib == system lib", the problem is with other setups such as Nix or Debian. |
And indeed this makes the case for extending OPAM |
Perhaps it makes sense to do what we did with |
That seems reasonable to me |
Indeed that seems reasonable, I could have a stab at it once I get back to the Coq PR and it would be a good use case. Indeed if we have a qualified |
Related to #3104 |
@bobot do you have any input on this? |
When creating the install rules of Coq packages, we'd like to separate
lib_root
fromlib
, as for example to support having custom library dirs:Nix builds uses
--libdir
to map the lib directory to the right path in the first case however this also remapslibroot
so that doesn't work so well for the intended Coq layout.How should we handle this? Is that a desired thing to do? Should we add an extra parameter to
dune install
for setting the OCaml lib?c.f. coq/coq#9689
The text was updated successfully, but these errors were encountered: