[Bug 300350] net/py-msrplib: Mark BROKEN (needs AG Projects' python3-eventlib, which has no port)

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 30 Oct 2026 21:37:36 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=300350

            Bug ID: 300350
           Summary: net/py-msrplib: Mark BROKEN (needs AG Projects'
                    python3-eventlib, which has no port)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: python@FreeBSD.org
          Reporter: patrick@crandol.com
             Flags: maintainer-feedback?(python@FreeBSD.org)
          Assignee: python@FreeBSD.org

net/py-msrplib 0.21.1 cannot work with any port in the tree, and its
modules fail to import on Python 3.12 (official FreeBSD:15 packages,
py312-msrplib-0.21.1 with py312-python-application-2.8.0_1):

    $ python3.12 -c 'import msrplib.transport'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File ".../msrplib/transport.py", line 5, in <module>
        from application import log
      File ".../application/log/__init__.py", line 12, in <module>
        from application.python import Null
      File ".../application/python/__init__.py", line 5, in <module>
        from application.python.types import NullType
      File ".../application/python/types.py", line 6, in <module>
        from types import FunctionType, UnboundMethodType
    ImportError: cannot import name 'UnboundMethodType' from 'types'
(/usr/local/lib/python3.12/types.py)

`import msrplib.connect` fails through the same chain (connect.py line
49). The failure is inside devel/py-python-application 2.8.0, the old
Python 2 line of AG Projects' python-application
(types.UnboundMethodType is a Python 2 name), so msrplib.connect,
.transport and .protocol break before they even reach eventlib. Only the
empty top-level msrplib package imports.

Even with that fixed, eventlib is the next problem. msrplib imports
eventlib.twistedutil, eventlib.coros, eventlib.api, eventlib.green and
eventlib.proc (transport.py:6, connect.py:51-54, session.py:10-11).
Those come from AG Projects' python3-eventlib. The port's RUN_DEPENDS
points at devel/py-eventlib instead, which is an unrelated package of
the same name (Yipit's eventlib, a Celery-based event tracking helper)
that provides none of them. On top of that, devel/py-eventlib itself no
longer imports (ModuleNotFoundError: No module named 'celery.task'), so
msrplib.session fails there; devel/py-eventlib is proposed for
deprecation in a separate PR filed right after this one.

Upstream (github.com/AGProjects/python3-msrplib) is active, at 0.21.3,
but every release needs AG Projects' python3-eventlib
(github.com/AGProjects/python3-eventlib), which is not on PyPI and has
no port. To fix it, python3-eventlib would need a new port, which would
clash with devel/py-eventlib on the `eventlib` module name, and the
other AG Projects dependencies in the tree (devel/py-python-application,
devel/py-python-xcaplib, security/py-gnutls), which are the old Python 2
lines, would need their Python 3 versions (application 3.0.12, xcaplib
2.0.3, gnutls 3.1.14).

The patch marks the port BROKEN and changes nothing else:

    BROKEN=             needs AG Projects' python3-eventlib and the Python 3
python-application stack, not ported

Impact: nothing in the tree depends on it.

-- 
You are receiving this mail because:
You are the assignee for the bug.