[Bug 273951] multimedia/streamlink: incorrect dependencies

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 19 Sep 2023 23:15:17 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273951

            Bug ID: 273951
           Summary: multimedia/streamlink: incorrect dependencies
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: mail@bastimeyer.de
                CC: takefu@airport.fm
                CC: takefu@airport.fm
             Flags: maintainer-feedback?(takefu@airport.fm)

Hi, I'm the developer of Streamlink and I've noticed some issues with the
Makefile of FreeBSD's Streamlink port.

I'm not a FreeBSD user, so I don't want to submit a patch which I haven't
tested/validated. Instead, I will just point out some issues and hope that
someone else can have a quick look. Sorry about that.

I've tried to reach out to the port's maintainer, but their email server
rejected my email from earlier today for some reason, which is why I'm opening
this bug report instead.

----

Here are the issues:

1. The Makefile defines RTMPDUMP as a runtime dependency. RTMPdump has been
dropped in Streamlink's 3.0.0 release a long time ago:
   - https://streamlink.github.io/changelog.html#streamlink-3-0-0-2021-11-17
   -
https://github.com/freebsd/freebsd-ports/blob/1126b37ed2e374cda426d3a82e08c77f4b9ffad5/multimedia/streamlink/Makefile#L39-L42

2. While `py-trio-websocket` was correctly added as a dependency after the 6.x
bump, `py-trio` was not for some reason. Even if it's a dependency of
`py-trio-websocket`, it's a direct dependency of Streamlink and thus not a
transitive dependency. If Streamlink defines version constraints for its direct
dependencies, then the Makefile is lacking those constraints, so direct
dependencies should always be added:
   -
https://github.com/freebsd/freebsd-ports/blob/1126b37ed2e374cda426d3a82e08c77f4b9ffad5/multimedia/streamlink/Makefile#L24

3. Same issue with `urllib3`, which is a direct dependency of Streamlink, not a
transitive dependency via `requests`:
   -
https://github.com/freebsd/freebsd-ports/blob/1126b37ed2e374cda426d3a82e08c77f4b9ffad5/multimedia/streamlink/Makefile#L23

4. The Python version constraint seems to have been removed recently. As said,
I'm not a FreeBSD user, so I don't know anything about the availability of
specific Python versions. Streamlink 6.0.0 requires Python >=3.8:
   -
https://github.com/freebsd/freebsd-ports/commit/5f4256e50c2285e70f70ed9652076e01945e103d

5. flake8 is not a test dependency of Streamlink:
   -
https://github.com/freebsd/freebsd-ports/blob/1126b37ed2e374cda426d3a82e08c77f4b9ffad5/multimedia/streamlink/Makefile#L28

6. Streamlink 6.0.0 has dropped support for Python 3.7 and has thus dropped all
compatibility dependencies, including the mock test dependency:
   -
https://github.com/freebsd/freebsd-ports/blob/1126b37ed2e374cda426d3a82e08c77f4b9ffad5/multimedia/streamlink/Makefile#L30

----

The latest release is 6.2.0 from 2023-09-14.

Here are the latest build+runtime and test dependencies:

- https://github.com/streamlink/streamlink/blob/6.2.0/pyproject.toml#L3-L7
- https://github.com/streamlink/streamlink/blob/6.2.0/pyproject.toml#L50-L64
-
https://github.com/streamlink/streamlink/blob/6.2.0/dev-requirements.txt#L5-L10

----

Thanks

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