-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
fixes following core suite v0.11 #11628
Conversation
i'll fix yaml, thanks :) |
❗ opam-lint warnings 77f9d92
✅ Installability check (8602 → 8602) |
|
That failure is happening with base v0.9, indeed |
Good enough. I'll add the lower-bound in a followup pr |
Also, mirage has the same problem: https://ci.ocamllabs.io/log/saved/docker-build-79ef4b292a79e33f7957d93853f5ec9f/39d26910164aeef6b82a96d0dc54cbba42d96169 |
Ping @diml as well: could the failures we don't understand be caused by some changes in how jbuilder generates META files? For the record:
And in there, |
I don't think so, there have been no changes in generated META file for a while. |
I think it's a problem with the hand-written META file for ipaddr.2.7.2 that is the problem:
i.e. it doesn't mention |
@diml according to this log this is not the issue: https://travis-ci.org/ocaml/opam-repository/jobs/355944133 |
It definitely was for mirage, I reproduced the error on my machine, and upgrading ipaddr to 2.8.0 fixed the issue |
I found the issue for nocrypto: when creating the packed module (with @pqwy you should try jbuilder for nocrypto :) |
ocamlbuild should pass -package(...) flags to ocamlfind when building a -pack-ed file, see ocaml/opam-repository#11628 (comment)
Binaries in <bench/*>, <tests/*> depend on ppx_sexp_conv's runtime library within ppx_sexp_conv. The packed modules <src/nocrypto.cm{x,o}> also depend on the package ppx_sexp_conv: its presence at pack-creation time influences the generated .cmi interface, see ocaml/opam-repository#11628 (comment) Note: the package ppx_sexp_conv.runtime-lib would suffice, but it is only available as such under recent ppx_sexp_conv versions, so its explicit use would make the build description (needlessly) incompatible with older ppx_sexp_conv versions.
ocamlbuild should pass -package(...) flags to ocamlfind when building a -pack-ed file, see ocaml/opam-repository#11628 (comment)
Binaries in <bench/*>, <tests/*> depend on the runtime libraries within ppx_sexp_conv and ocplib-endian. The packed modules <src/nocrypto.cm{x,o}> also depend on the package ppx_sexp_conv: its presence at pack-creation time influences the generated .cmi interface, see ocaml/opam-repository#11628 (comment) Note: the package ppx_sexp_conv.runtime-lib would suffice, but it is only available as such under recent ppx_sexp_conv versions, so its explicit use would make the build description (needlessly) incompatible with older ppx_sexp_conv versions.
Instead of a separate category, "pack" is now another form of linking like "program", "library", "toplevel" and "output_obj". This fixes the issue that package(...) tags where not passed at pack-production time, spotted by Jérémie Dimino in <ocaml/opam-repository#11628 (comment)> <janestreet/ppx_sexp_conv#20> More generally, this extends the meaning of all "link" flags to "pack", which seems to be the correct behavior for all the rules we inspected. I tested that this change fixes the original 'nocrypto' issue (once their _tags is also fixed to provide the right package(..) option at pack-time). This is a somewhat invasive change to the behavior of "pack" and "link" tags, which may affect all user-defined flag declarations. An alternative to this change would be to just add a specific "package" rule when the "pack" tag is present, but my understanding is that linking options quite generally apply to "pack" productions (that really behave mostly like library-archive production already under the ("link";"library") regime), so this more invasive change is more correct: the extra cases where it applies were likely to be small bugs before. (I checked that ocb-stubblr is orthogonal to this change and does not need any update.)
Instead of a separate category, "pack" is now another form of linking like "program", "library", "toplevel" and "output_obj". This fixes the issue that package(...) tags where not passed at pack-production time, spotted by Jérémie Dimino in <ocaml/opam-repository#11628 (comment)> <janestreet/ppx_sexp_conv#20> More generally, this extends the meaning of all "link" flags to "pack", which seems to be the correct behavior for all the rules we inspected. I tested that this change fixes the original 'nocrypto' issue (once their _tags is also fixed to provide the right package(..) option at pack-time). This is a somewhat invasive change to the behavior of "pack" and "link" tags, which may affect all user-defined flag declarations. An alternative to this change would be to just add a specific "package" rule when the "pack" tag is present, but my understanding is that linking options quite generally apply to "pack" productions (that really behave mostly like library-archive production already under the ("link";"library") regime), so this more invasive change is more correct: the extra cases where it applies were likely to be small bugs before. (I checked that ocb-stubblr is orthogonal to this change and does not need any update.)
ocamlbuild should pass -package(...) flags to ocamlfind when building a -pack-ed file, see ocaml/opam-repository#11628 (comment)
Binaries in <bench/*>, <tests/*> depend on the runtime libraries within ppx_sexp_conv and ocplib-endian. The packed modules <src/nocrypto.cm{x,o}> also depend on the package ppx_sexp_conv: its presence at pack-creation time influences the generated .cmi interface, see ocaml/opam-repository#11628 (comment) Note: the package ppx_sexp_conv.runtime-lib would suffice, but it is only available as such under recent ppx_sexp_conv versions, so its explicit use would make the build description (needlessly) incompatible with older ppx_sexp_conv versions.
ocamlbuild should pass -package(...) flags to ocamlfind when building a -pack-ed file, see ocaml/opam-repository#11628 (comment)
Binaries in <bench/*>, <tests/*> depend on the runtime libraries within ppx_sexp_conv and ocplib-endian. The packed modules <src/nocrypto.cm{x,o}> also depend on the package ppx_sexp_conv: its presence at pack-creation time influences the generated .cmi interface, see ocaml/opam-repository#11628 (comment) Note: the package ppx_sexp_conv.runtime-lib would suffice, but it is only available as such under recent ppx_sexp_conv versions, so its explicit use would make the build description (needlessly) incompatible with older ppx_sexp_conv versions.
I left the following packages broken:
That last one doesn't have any constraint at the moment, looking at the code it opens Sexplib.Conv without depending on sexplib in the opam file: someone else will have to look at it.
For the other two, I'm not sure what's going on. The build fails because some cmi files are not available (because the right -I haven't been passed).
It might be an issue with the content of some of our META files (in which case it's a jbuilder issue I guess), or it might just be that their build system is confused: IDK.