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

Standalone optparse or base64 packages? #53

Closed
timbertson opened this issue Apr 28, 2019 · 1 comment
Closed

Standalone optparse or base64 packages? #53

timbertson opened this issue Apr 28, 2019 · 1 comment
Assignees

Comments

@timbertson
Copy link

I depend on extlib for its OptParse module. I don't actually use the rest, I sort of ended up in this situation by initially using the copy of Optparse in Batteries, but then replacing Batteries with smaller, more focussed dependencies. OptParse was the only thing I couldn't find a good replacement for in opam.

My trouble is, extlib clashes with newish versions of cohttp (and probably other packages) which depend on the base64 package, because both that and extlib define a Base64 module (see my comments in mirage/ocaml-base64#25)

One fix would be to pull out optparse as a separate package. To be honest it seems worthy of its own opam module, but that's presumably a fair bit more maintenance work for you.

It could also possibly be a separate findlib package and still live under the extlib opam package (i.e. extlib.optparse), I think that'd fix the name clash.

A third option is to pull out the problematic optparse.base64 as a sub-package as well / instead, and then nobody would get the clash unless they explicitly use this sub-package. But that would be a breaking change (for build systems, but not ocaml source code).

@ygrek
Copy link
Owner

ygrek commented Apr 24, 2020

yet another option is to exclude base64 from minimal=1 extlib build %)

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