Bug 273951 - multimedia/streamlink: update to 6.2.0 and fix dependencies
Summary: multimedia/streamlink: update to 6.2.0 and fix dependencies
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Fernando Apesteguía
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-19 23:15 UTC by Sebastian Meyer
Modified: 2023-09-22 07:12 UTC (History)
2 users (show)

See Also:
takefu: maintainer-feedback+


Attachments
Patch for the ports tree (1.96 KB, patch)
2023-09-20 11:34 UTC, Fernando Apesteguía
no flags Details | Diff
Patch to update to 6.2.0 with fixed dependencies (2.48 KB, patch)
2023-09-20 14:53 UTC, Fernando Apesteguía
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Meyer 2023-09-19 23:15:17 UTC
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
Comment 1 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-20 11:34:37 UTC
Created attachment 245047 [details]
Patch for the ports tree
Comment 2 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-20 11:35:35 UTC
Thanks for the feedback Sebastian,

I made some changes to the port according to your input. The port builds fine and tests also pass with this new version.

Could you try it?

Thanks!
Comment 3 Sebastian Meyer 2023-09-20 13:27:36 UTC
The min version of py-trio should be 0.22.0, not 0.9.0.
And the min version of py-urllib3 should be 1.26.0, not 1.21.1.

See here
https://github.com/streamlink/streamlink/blob/6.1.0/pyproject.toml#L50-L64

Other than that, the patch should be fine.

Please also don't forget to bump from 6.1.0 to 6.2.0.

Thanks!
Comment 4 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-20 14:53:51 UTC
Created attachment 245063 [details]
Patch to update to 6.2.0 with fixed dependencies

Thanks!
Comment 5 takefu 2023-09-22 01:26:47 UTC
(In reply to Sebastian Meyer from comment #0)

The reason why emails addressed to me are not being delivered is because the sender's smtp does not speak IPv6.

1 Delete
2 Not written because net/py-trio is called from net/py-trio-websocket
3 Same reason as 2
4 As of today, Python3.8 is used, so the lower limit of Version is not specified.
5 Delete
6 Patch verification in progress
Comment 6 takefu 2023-09-22 01:58:35 UTC
(In reply to Fernando Apesteguía from comment #4)

Patch verification completed
approve
Comment 7 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-22 07:12:18 UTC
Committed,

Thanks!
Comment 8 commit-hook freebsd_committer freebsd_triage 2023-09-22 07:12:45 UTC
A commit in branch main references this bug:

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

commit d31fcc17f2aac6c445da8e499feb93a3b3ddc0cf
Author:     Fernando Apesteguía <fernape@FreeBSD.org>
AuthorDate: 2023-09-20 08:09:45 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2023-09-22 07:11:49 +0000

    multimedia/streamlink: Update to 6.2.0

    While here, fix dependencies according to original author notes.

    PR:             273951
    Reported by:    mail@bastimeyer.de

 multimedia/streamlink/Makefile | 11 +++++------
 multimedia/streamlink/distinfo |  6 +++---
 2 files changed, 8 insertions(+), 9 deletions(-)