Solved Ports not registering dependency

I've just written a few ports, but I'm having trouble with the dependencies on one as at package registration time I get the following message:
Code:
actual-package-depends: dependency on /usr/local/lib/python3.7/site-packages/ezdxf not registered (normal if it belongs to base)
The port for py-ezdxf is one I've just written myself, so I'm a bit confused here (and before anyone asks; no, it's not part of the Python standard library).
 
Keep in mind that this is a port in progress and it won't be submitted until the software in question, and more importantly a dependent library, have been released:

Makefile:
# $FreeBSD$

PORTNAME=    cadquery
DISTVERSION=    2.0
CATEGORIES=    cad
PKGNAMEPREFIX=  ${PYTHON_PKGNAMEPREFIX}

MAINTAINER=    ports@nicandneal.net
COMMENT=    Intuitive, easy-to-use Python module for building parametric 3D CAD models

LICENSE=    APACHE20

RUN_DEPENDS=    ${PYTHON_SITELIBDIR}/OCP.so:cad/py-ocp@${PY_FLAVOR} \
                ${PYTHON_SITELIBDIR}/pyparsing.py:devel/py-pyparsing@${PY_FLAVOR} \
                ${PYTHON_SITELIBDIR}/ezdxf:cad/py-ezdxf@${PY_FLAVOR} \
                ${PYTHON_SITELIBDIR}/typing_extensions.py:devel/py-typing-extensions@${PY_FLAVOR}

USES=    python:3.6+,run
USE_PYTHON=    distutils autoplist

USE_GITHUB=    yes
GH_ACCOUNT=    CadQuery
GH_PROJECT=    cadquery
GH_TAGNAME=    5d8756d

post-extract:
    # Move into a sub-directory so that we don't pollute site-packages.
    ${MV} ${WRKSRC}/tests ${WRKSRC}/cadquery/tests

.include <bsd.port.mk>

The dependency that's causing me the problem is py-ezdxf, which is also a port I've just written:

Makefile:
# $FreeBSD$

PORTNAME=    ezdxf
DISTVERSIONPREFIX=    v
DISTVERSION=    0.12.4
CATEGORIES=    cad
PKGNAMEPREFIX=  ${PYTHON_PKGNAMEPREFIX}

MAINTAINER=    ports@nicandneal.net
COMMENT=    Create and modify DXF drawings

LICENSE=    MIT

USES=    python:3.6+
USE_PYTHON=    distutils autoplist

USE_GITHUB=    yes
GH_ACCOUNT=    mozman
GH_PROJECT=    ezdxf

.include <bsd.port.mk>
 
At first glance I can't see anything that sticks out. But I'm not that versed with Python modules. Just for completeness sake, you get the error installing cadquery right? Is that ezdxf already installed? Did that register properly?
 
OK, I think I have it: the RUN_DEPENDS entry for py-ezdxf depended on a directory existing in python's site-packages directory. Ports seems to be more than happy with this, but pkg is not. If I change it to a file within the directory, then it works as expected. I'm pretty sure I tried that earlier, without success, but it seems to work now.

It's a shame that this doesn't work for directories as it's much cleaner to depend on the top level directory installed by a port than one random file within it.
 
If I change it to a file within the directory, then it works as expected.
I was looking at that too. But couldn't find any documentation stating one way or another. I suspect it's because directories could be left behind after uninstalling a package. Then it could erroneously conclude the dependency is actually installed when it's not.
 
Back
Top