Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Better recognize depexts on Gentoo, NetBSD, OpenBSD
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
- Loading branch information