-
Notifications
You must be signed in to change notification settings - Fork 455
Open
Labels
acknowledgedoxcamlRelated to the support to OxCaml functionnalitiesRelated to the support to OxCaml functionnalitiespackage management
Description
This issue will serve as a meta issue to describe the changes required to build OxCaml with Dune package management.
Currently, I have trying to build it using @gridbugs small repository, hello-oxcaml. The locking happens correctly, but the build encounters various errors:
- Building the
init-compilerrequires it to be added totoolchainssupported list. Otherwise, as it is not relocatable, it will suffer the same problem as the compiler. - The
init-*.pkguse the%{prefix}variable, which is causing a problem with Dune Package Management because it points to the_build/.sanbox/...path. We extend the path with the dependencies instead of having a global state asopamwould do. The semantic of%{prefix}is not really clear for me in this context. I'm not confident it has one. - If we change the path using
%{pkg:init-compiler:share}in theinit-*.pkglock files, we are able to build it to a findable path. However, when doing the variable expansion in other*.pkgfiles (which updates thePATHaccordingly), it is not using the path within toolchains but the one within the_builddirectory. I'm writing a test to reproduce this error. - In the final stage, when building the
ocaml-variantspackage (after buildinginit-*packages), it fails because of the problem discovered in dune-pkg: Local commands (ie./configure) should be picked up from the sandbox rather than the source #11514. Indeed,(run autoconf)generates aconfigurebut it can't be executed.
I have been discussing with @rgrinberg on how to make Dune Package Management worked with OxCaml and more broadly on how to generalize it to support non-relocatable packages.
I'll update the issue to point to the various resources and changes.
Metadata
Metadata
Labels
acknowledgedoxcamlRelated to the support to OxCaml functionnalitiesRelated to the support to OxCaml functionnalitiespackage management