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

findlib files in package metadata should be documented or removed #2948

Closed
whitequark opened this issue May 26, 2017 · 11 comments
Closed

findlib files in package metadata should be documented or removed #2948

whitequark opened this issue May 26, 2017 · 11 comments

Comments

@whitequark
Copy link
Member

Everyone can see these files in the OPAM repository. However, no one knows what function they serve. They are not documented in manual, not mentioned in packaging documentation, do not support optional findlib packages and do not even bother to list these, as in case of lwt. Thus I posit that there is no such function nor they even can meaningfully serve any function.

Multiple times (#2187, #2254) people have asked for clarification on the mechanism behind the findlib files but @AltGr has carefully avoided giving any clarification on that part, going as far as silently closing #2187 as he is wont to do.

Well, I would like to finally have an answer on this, because one of the contributors to opam-cross-android says that the lack of findlib files breaks something yet I don't see any reason why that would be the case, nor is the presence of findlib files even appropriate there because opam-cross-android does not install into %{lib}%.

cc @dbuenzli @Chris00 who were similarly mystified

@dra27
Copy link
Member

dra27 commented May 26, 2017

Looking at the code, I think this may be more one for @samoht?

Virtually everything to do these with these files has been deleted in opam2.

@avsm
Copy link
Member

avsm commented May 26, 2017

It serves no function in OPAM1 for the main package repository, and CI does not test anything to do with them. I have no objection to removing these files from the main repository.

@whitequark
Copy link
Member Author

@lpw25
Copy link
Contributor

lpw25 commented May 26, 2017

For reference: IIRC these files were used by the old opam-doc prototype for determining which findlib libraries corresponded to which packages. In the newer documentation work this role is handled by odig which does not rely on these files. I think they were also intended to allow some opam support for finding which package contained a particular library but that never materialised.

@AltGr
Copy link
Member

AltGr commented May 26, 2017

I confirm that they have no purpose, and are not used in any way, by the opam tool itself.
They may have a use for some external tools, though.

@AltGr AltGr closed this as completed May 26, 2017
@whitequark
Copy link
Member Author

Thanks @AltGr @lpw25 @avsm!

@Chris00
Copy link
Member

Chris00 commented May 28, 2017

oasis2opam uses them to determine which findlib libraries are provided by an opam package—there is no certain way to do that when the package is not installed. Now that OPAM is widely deployed, it would be IMHO good if there would only be two layers: opam packages providing one or several OCaml libraries (.cma, .cmxa, .cmxs,...).

@whitequark
Copy link
Member Author

@Chris00 I'm not especially convinced, for example, the OCaml packages in Debian do not go through opam.

@Chris00
Copy link
Member

Chris00 commented May 28, 2017

But they use ocamlfind — so opam could become a dependency instead of findlib. Of course, that may require opam to have a few additional capabilities (like being able to consider packages coming from the system) but, especially with the trend towards the removal of optional dependencies, opam package dependencies will closely match findlib ones (and .install files give locations and could slowly become mandatory). I think it is a good time to revisit the idea of having less layers in our build systems.

@whitequark
Copy link
Member Author

especially with the trend towards the removal of optional dependencies

Which trend?

@Chris00
Copy link
Member

Chris00 commented May 28, 2017

Chris00 added a commit to ocaml/oasis2opam that referenced this issue Oct 28, 2017
maelvls added a commit to c-cube/ocaml-qbf that referenced this issue Dec 30, 2018
Note that findlib isn't relevant anymore. As an example, oasis2opam
is not generating this file anymore:

ocaml/opam#2948
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

6 participants