Bug 271362

Summary: math/py-matplotlib: Missing dependency
Product: Ports & Packages Reporter: Jason W. Bacon <jwb>
Component: Individual Port(s)Assignee: Wen Heping <wen>
Status: Closed FIXED    
Severity: Affects Some People CC: mainland, wen
Priority: --- Flags: mainland: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   

Description Jason W. Bacon freebsd_committer freebsd_triage 2023-05-11 12:55:49 UTC
The error below suggests that it might be prudent to make py-fonttools a run dependency for py-matplotlib.

If you think not, I can make it a dep for multiqc instead.

Traceback (most recent call last):
  File "/usr/local/bin/multiqc", line 33, in <module>
    sys.exit(load_entry_point('multiqc==1.13', 'console_scripts', 'multiqc')())
  File "/usr/local/bin/multiqc", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 86, in load
    module = import_module(match.group('module'))
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/usr/local/lib/python3.9/site-packages/multiqc/__init__.py", line 15, in <module>
    from .utils import config
  File "/usr/local/lib/python3.9/site-packages/multiqc/utils/config.py", line 11, in <module>
    import pkg_resources
  File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3260, in <module>
    def _initialize_master_working_set():
  File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3234, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3272, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 581, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 909, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 795, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'fonttools>=4.22.0' distribution was not found and is required by matplotlib
Comment 1 Geoffrey Mainland 2023-05-11 13:13:25 UTC
I agree, py-fonttools should be added to RUN_DEPENDS for py-matplotlib; it is a member of install_requires in https://github.com/matplotlib/matplotlib/blob/main/setup.py.
Comment 2 commit-hook freebsd_committer freebsd_triage 2023-05-11 14:43:44 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d5eaf3b2d27847d8ac07e5dcc2f9fed9598c879d

commit d5eaf3b2d27847d8ac07e5dcc2f9fed9598c879d
Author:     Wen Heping <wen@FreeBSD.org>
AuthorDate: 2023-05-11 14:23:35 +0000
Commit:     Wen Heping <wen@FreeBSD.org>
CommitDate: 2023-05-11 14:42:33 +0000

    math/py-matplotlib: Add missing RUN_DEPENDS

    PR:             271362
    Reported by:    jwb@
    Approved by:    maintainer

 math/py-matplotlib/Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
Comment 3 Jason W. Bacon freebsd_committer freebsd_triage 2023-05-12 16:40:17 UTC
Thanks for the rapid response.  :-)