Created attachment 154930 [details] Depend on nose module instead of executable devel/py-nose allows concurrent installation, but tailors its plist based on whether it is being built against the default version of python. For example, with DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.4 PYTHON_VERSION=python3.4 we see that % pkg info -l -F py27-nose-1.3.4.txz | grep bin /usr/local/bin/nosetests-2.7 /usr/local/bin/nosetests % pkg info -l -F py34-nose-1.3.4.txz | grep bin /usr/local/bin/nosetests-3.4 math/py-numpy depends on devel/py-nose like this: RUN_DEPENDS=nosetests:${PORTSDIR}/devel/py-nose So it cannot detect that the dependency is satisfied when /usr/local/bin/nosetests is not installed. Without the attached patch: % pkg info -d -F py34-numpy-1.9.2,1.txz py34-numpy-1.9.2,1: blas-3.5.0_3 gcc-4.8.4_1 lapack-3.5.0 py34-setuptools34-5.5.1_1 python34-3.4.3 suitesparse-4.0.2_4 With the attached patch: % pkg info -d -F py34-numpy-1.9.2_1,1.txz py34-numpy-1.9.2_1,1: blas-3.5.0_3 gcc-4.8.4_1 lapack-3.5.0 py34-nose-1.3.4 py34-setuptools34-5.5.1_1 python34-3.4.3 suitesparse-4.0.2_4 This may affect other ports too, though some may actually require a "nosetests" executable without the version-specific suffix.
Do we know why numpy *depends* on nose at runtime? Are we sure its not just a TEST_DEPENDS?
AFAIK py-nose is used only for tests and yesterday I committed a patch to hide this dependency under TESTS option. The patch proposed in this PR still applies.
Created attachment 155038 [details] Depend on nose module instead of executable
I fixed dependency for py-nose, thanks!
A commit references this bug: Author: demon Date: Fri Jul 3 12:20:28 UTC 2015 New revision: 391233 URL: https://svnweb.freebsd.org/changeset/ports/391233 Log: Depend on a particual file, not an executable so it picks up a correct python version. PR: 198989 Submitted by: John W. O'Brien <john@saltant.com> Changes: head/math/py-numpy/Makefile