-
Notifications
You must be signed in to change notification settings - Fork 57
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
Add opam file for uri-sexp #134
Conversation
Sorry, I don't understand the bnug report. What problem are you trying to solve exactly?
I deliberately didn't make it two opam packages in the first instance for simplicity, so this PR would mean another big round of compat changes (e.g. in cohttp). I'm not keen to do that work without either some benefit or some usecase being fixed. |
Yes, sorry, you are right. |
There are two dependencies: the build time dependencies for the ocamlfind package and the package install time ones. The PR removed the build-time deps so that a unikernel could be linked without sexp when using just It would be helpful to understand what problem you're trying to solve with this PR. Are you trying to minimise the number of opam packages required to build a unikernel? |
In my use case I'm using |
/cc @avsm
|
Ok we need to clarify a situation about cyclic dependencies over this PR: The idea is to split
However, due to compatibility, we want to expose an At the end, the goal is to remove the In details, META file describes a new sub-package To fix Travis, we should had in However, this is not what we want and currently, this PR provide a strange (IMHO) pattern where it wants to provide a sub-package which requires another OPAM package ( So, for me we can merge this PR where the fix about Travis should not be what we want but we let, as I said, a strange situation where we will need explicitly update packages to put I know the point to provide for a limited time |
It might be simpler to give plenty of notice to people, post on discuss.ocaml.org, and not have the uri.sexp compatability package in the major release |
my experience with subpackages that require other opam packages is really bad - while it avoids to put constraints right now, it bites you back in the future (see some cstruct revdeps, I lost track of issues and fixes). I personally would avoid them, and make a breaking release - either you use uri < 3.0.0 and have a uri.sexp, or you use uri > 3.0.0 and uri-sexp (which should then conflict with uri < 3.0.0). since I'm not familiar with the usage of uri at all, are there many uri-sexp users? |
Ok, so I force-pushed a commit which splits |
I'll resolve this one after doing a minor release for the Re deprecation in #137, so that we have a release with just this change in it |
thx @dinosaure, I added two suggestions. CI failures are due to revdeps (as expected). |
to me it seems, |
This is what I think at the end ... |
Done! |
PR cleaned, if @mirage/core is happy with it, merge and release. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, minor suggestion above to depend on the exact same version of uri in uri-sexp (see https://opam.ocaml.org/doc/Manual.html#pkgvar-version)
- no modules clause in lib_test - move sexp to a different directory for precise merlin info - test 4.08 - improve wrapped transition warning to include version info
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pushed a few fixes in ae706d8
CHANGES: * Complete the migration of making sexp an optional dependency that was started in 2.0.0. We now remove the `uri.sexp` ocamlfind package and have `uri` and `uri-sexp` for both the ocamlfind and opam packages. Code that was formerly using `uri.sexp` in its build will now need to move to `uri-sexp` instead (mirage/ocaml-uri#134 @Julow @dinosaure). * Remove the deprecated `Uri_re` module. All code should be using the `Uri.Re` module instead (@avsm @Julow). * Remove the `uri.top` library, since we install the toplevel printer automatically since 2.2.0 via an attribute.
#121 was merged a long time ago but opam file were untouched and
sexp
dependencies were still hereand.Uri_sexp
inaccessibleThis means that it was never used, so maybe we could removeUri_sexp
?