2.1.6 backport commits - #5870
Conversation
Actually this whole change is unwelcome for 2.1... :( as dune 2.0 drops support for OCaml < 4.06 and we need to support OCaml >= 4.02. I'll go back to the drawing board |
|
Changing the grep pattern worked just fine, yay |
|
As discussed during the dev meeting, this should wait for one week after the release of |
|
CI is all green (except for ocaml-benchmarks as usual which can't be turned off for this branch) |
Gentoo, NetBSD, and OpenBSD name packages in a /-separated hierarchy. For example, libgmp is available as "dev-libs/gmp" (on Gentoo[1]) or "devel/gmp" (on NetBSD[2], or OpenBSD[3]). The first fix in this commit (the change to the `short_name` function) removes the leading "/" from the package's short name. Prior to this commit, if `pkg` were "dev-libs/gmp", then `short_name` would be "/gmp". That doesn't match the depext name of "gmp" so opam thought the package wasn't installed. OpenBSD also uses flavors and subpackages[4] in some of its package names. For example, OpenBSD has two subpackages for the "devel/gmp" package: main and cxx. That means that the full name for libgmp on OpenBSD is likely to be "devel/gmp,-main". Prior to this commit, `short_name` for this package was "gmp,-main". This commit introduces `no_flavor` which removes the flavors and subpackages from package names, if present. That causes "devel/gmp,-main" on OpenBSD to have a `no_flavor` name of "gmp". This name matches the depext name, so that opam recognizes that libgmp is installed. 1: https://packages.gentoo.org/packages/dev-libs/gmp 2: https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/gmp/index.html 3: https://github.com/openbsd/ports/tree/b12d29201e832eb5a230d54449ff2a13502c9fbb/devel/gmp 4: https://man.openbsd.org/OpenBSD-7.0/pkgpath.7
rjbou
left a comment
There was a problem hiding this comment.
Updated the PR with CHANGES and bum version
|
Thanks a lot! As usual ocaml-benchmarks is the only CI job failing, ignoring. |
Backports:
Fixes:
opam2.1.5 fails to build:sed: opam.install: No such file or directorymake: *** [processed-opam.install] Error 1#5770promote-install-files)In its current form the PR is only a proposal. In particular given the amount of untested changes coming from the bump to lang dune 2.0, it might be worth instead detect the version of dune required for the--promote-install-filesflag (>= 2.0) instead of bumping the lang version.