Skip to content
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

strange description of "host-system-other" #26162

Open
hannesm opened this issue Jun 29, 2024 · 1 comment
Open

strange description of "host-system-other" #26162

hannesm opened this issue Jun 29, 2024 · 1 comment

Comments

@hannesm
Copy link
Member

hannesm commented Jun 29, 2024

Dear all (esp. @dra27),

I encountered that opam-repository now has some "host-system-other" package that requires me to recompile all the switches. That's fine, but looking into the description thereof:

This package is installed if the underlying OCaml compiler's system is not
recognised by opam-repository's compiler packaging.

So, does this mean I should dig into how "opam-repository's compiler packaging" will recognise my system (in this case, FreeBSD)? Looking into host-system* packages, it more looks like this host-system* is some windows-specific stuff leaking into opam packages, is my understanding correct? If yes, it would be worth to adjust the description to make it easier to understand for future developers.

Thanks a lot for reading.

@dra27
Copy link
Member

dra27 commented Jun 30, 2024

Indeed, the description should be clarified. There's an explanation in the commit message which added it (see 64e0865), but that's obviously not the best place for it:

Add Windows system- + host-system- packages

Add the system-mingw and system-msvc packages to specify either the
mingw-w64 or MSVC ports when compiling OCaml and the host-system-mingw
and host-system-msvc packages to be used for the dependency graph.

The intention is to complete this for non-Windows systems, but as there
will always be a chance of an unknown system, host-system-other is added
to be used for all the other ports. This package is significant, as
compiler packages must always install a host-system- package (or the
user could attempt to install another incorrect one).

At the moment, for the Windows compilers, the configure invocation is explicit, which means we can tell statically in the opam files for the compiler if host-system-mingw or host-system-msvc is required and which host-arch- package to install. For all other platforms, the invocation is not yet explicit, which is why there's the host-arch- package is selected based on the arch global variable and host-system-other is installed for now. So it's not exactly "leaking", it's just not yet accurate.

I'll do a PR to update the description text in host-system-other, though

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants