Bug 271458

Summary: print/py-fonttools PLOT knob has circular dependency with math/py-matplotlib
Product: Ports & Packages Reporter: alt2600
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: New ---    
Severity: Affects Only Me CC: mainland, sunpoet
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description alt2600 2023-05-16 22:01:59 UTC
live system, amd64, 13.2 woke up expecting updates but found a circular loop running. It was the PLOT knob being on that did it so I turned that off. not sure if dependencies recently changed, as I went through the 13.2 update not too long ago and didn't run into this. wondering if py-matplotlib added the runtime dependency recently specifically, or given some new python packages coming in may mean things were split out, or new versions needed updated depends. not sure if functionality carries through and the knob should be deleted though, or if the dependencies need to be tweaked between the ports.

### Plot knob has dependency on math/py-matplotlib

OPTIONS_DEFINE= GRAPHITE INTERPOLATABLE LXML PLOT REPACKER SYMFONT UFO UNICODE WOFF
OPTIONS_DEFAULT=LXML UFO UNICODE
GRAPHITE_DESC=  Process graphite type tables in ttLib/tables
INTERPOLATABLE_DESC=    Interpolatability support
LXML_DESC=      Read/write XML files via lxml (faster/safer than built-in ElementTree)
PLOT_DESC=      Visualize DesignSpaceDocument and resulting VariationModel
REPACKER_DESC=  Pack GSUB/GPOS tables with harfbuzz repacker
SYMFONT_DESC=   Symbolic font statistics analysis
UFO_DESC=       Read/write UFO fonts
UNICODE_DESC=   Use latest Unicode Character Database
WOFF_DESC=      Compress/uncompress WOFF webfonts

GRAPHITE_RUN_DEPENDS=   ${PYTHON_PKGNAMEPREFIX}lz4>=1.7.4.2:archivers/py-lz4@${PY_FLAVOR}
INTERPOLATABLE_RUN_DEPENDS=     ${PYTHON_PKGNAMEPREFIX}scipy>=0:science/py-scipy@${PY_FLAVOR}
LXML_RUN_DEPENDS=       ${PYTHON_PKGNAMEPREFIX}lxml>=4.0<5:devel/py-lxml@${PY_FLAVOR}
PLOT_RUN_DEPENDS=       ${PYTHON_PKGNAMEPREFIX}matplotlib>=0:math/py-matplotlib@${PY_FLAVOR}
REPACKER_RUN_DEPENDS=   ${PYTHON_PKGNAMEPREFIX}uharfbuzz>=0.23.0:print/py-uharfbuzz@${PY_FLAVOR}
SYMFONT_RUN_DEPENDS=    ${PYTHON_PKGNAMEPREFIX}sympy>=0:math/py-sympy@${PY_FLAVOR}
UFO_RUN_DEPENDS=        ${PYTHON_PKGNAMEPREFIX}fs2>=2.2.0<3:devel/py-fs2@${PY_FLAVOR}
WOFF_RUN_DEPENDS=       ${PYTHON_PKGNAMEPREFIX}brotli>=1.0.1:archivers/py-brotli@${PY_FLAVOR} \
                        ${PYTHON_PKGNAMEPREFIX}zopfli>=0.1.4:archivers/py-zopfli@${PY_FLAVOR}

#### py-matplotlib has runtime dependency on py-fonttools

PORTNAME=       matplotlib
PORTVERSION=    3.7.1
PORTREVISION=   2
CATEGORIES=     math python
MASTER_SITES=   PYPI
PKGNAMEPREFIX=  ${PYTHON_PKGNAMEPREFIX}

MAINTAINER=     mainland@apeiron.net
COMMENT=        Plotting library uses a syntax familiar to MATLAB users
WWW=            https://matplotlib.org/

LICENSE=        PSFL

BUILD_DEPENDS=  ${PYNUMPY} \
                ${PYTHON_PKGNAMEPREFIX}pillow>=6.2:graphics/py-pillow@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pyparsing>=0:devel/py-pyparsing@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}certifi>=0.10:security/py-certifi@${PY_FLAVOR} \
                ${PYTHON_SITELIBDIR}/pybind11:devel/py-pybind11@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}tkinter>0:x11-toolkits/py-tkinter@${PY_FLAVOR}
LIB_DEPENDS=    libfreetype.so:print/freetype2 \
                libqhull_r.so:math/qhull \
                libpng.so:graphics/png \
                libfontconfig.so:x11-fonts/fontconfig
RUN_DEPENDS=    ${PYNUMPY} \
                ${PYTHON_PKGNAMEPREFIX}contourpy>=0:math/py-contourpy@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}cycler>=0.10:devel/py-cycler@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}dateutil>=2.1:devel/py-dateutil@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}importlib-resources>=0:devel/py-importlib-resources@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pytz>=0:devel/py-pytz@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pyparsing>=0:devel/py-pyparsing@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pluggy>0:devel/py-pluggy@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pillow>=6.2:graphics/py-pillow@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}pyparsing>=0:devel/py-pyparsing@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}certifi>=0.10:security/py-certifi@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}kiwisolver>=1.0.0:math/py-kiwisolver@${PY_FLAVOR} \
                ${PYTHON_PKGNAMEPREFIX}fonttools>=4.22.0:print/py-fonttools@${PY_FLAVOR}