Currently, the existing mechanism of version dependencies
(BUILD_DEPENDS=pkg_a>0.42:pkg_a_port) behaves somewhat
counter-intuitively when an incompatible with this specification
version of pkg_a is installed (say, version 0.21). Namely,
the "not found" condition is detected and the build of the current
version of pkg_a_port is commensed. This leads nowhere, however,
since the install stage refuses to install a newer version of
pkg_a on top of already installed version. This is a good thing
in and by itself, but the behavior can and should be improved, so
that the user gets earlier indication that something is amiss and
a less cryptic error message.
Fix: The proposed fix, upon detection of the condition described above,
tries to determine whether another, incompatible version of the
package is installed. If that is the case, the build process is
interrupted immediately, with a (hopefully) sane error message.
Thanks to lth for poking me about this and to him and to email@example.com
for testing and discussion.
Assign this PR to the port maintainer.
Accepted for a test build on the cluster.