Bug 241566 - [NEW PORT] net/streamlink: Command-line utility that pipes video streams
Summary: [NEW PORT] net/streamlink: Command-line utility that pipes video streams
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: Matthias Andree
URL: https://streamlink.github.io/
Keywords: feature, patch-ready
: 240777 (view as bug list)
Depends on: 239302 241564
  Show dependency treegraph
Reported: 2019-10-29 05:46 UTC by takefu
Modified: 2020-04-28 02:04 UTC (History)
8 users (show)

See Also:
takefu: maintainer-feedback+

py-streamlink-1.2.0.shar (2.35 KB, application/x-shellscript)
2019-10-29 05:46 UTC, takefu
no flags Details
py-streamlink-1.2.0.shar (1.79 KB, application/x-shellscript)
2019-10-30 02:50 UTC, takefu
no flags Details
py-streamlink-1.2.0.shar (1.79 KB, application/x-shellscript)
2019-10-30 05:14 UTC, takefu
no flags Details
py-streamlink-1.3.0.shar (1.85 KB, application/x-shellscript)
2019-12-03 06:04 UTC, takefu
no flags Details
py-streamlink-1.3.0.shar (1.88 KB, application/x-shellscript)
2019-12-05 07:52 UTC, takefu
no flags Details
py-streamlink-1.3.1.shar (2.33 KB, application/x-sh)
2020-04-13 04:42 UTC, takefu
no flags Details
py-streamlink-1.3.1.shar (1.87 KB, application/x-sh)
2020-04-13 04:53 UTC, takefu
no flags Details
minor edits to takefu's submission, sorts RUN_DEPENDS and adds NO_ARCH=yes (2.26 KB, application/x-shar)
2020-04-25 23:53 UTC, Matthias Andree
no flags Details
minimal tox.ini for future reference (102 bytes, application/x-wine-extension-ini)
2020-04-27 16:04 UTC, Matthias Andree
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description takefu 2019-10-29 05:46:55 UTC
Created attachment 208671 [details]

request update
  Bug #239302

request new port
  misc/py-iso-639  bug #241564
  misc/py-iso3166  bug #241565

Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-10-29 09:12:34 UTC
Review items:

1) pip, and test related dependencies (pytest, pytest-cov, codecov, coverage, mock, requests-mock, freezegun *at least*) should not be required as RUN_DEPENDS.

Port dependencies should exactly match (including any version specifiers):

setup.py:install_requires (RUN_DEPENDS)
setup.py:setup_requires (BUILD_DEPENDS)
setup.py:tests_require (TEST_DEPENDS)

2) python:build,run is the same as USES=python

3) MASTER_SITES should default to CHEESESHOP unless there is a compelling (temporary) reason to use an alternative source like GitHub, such as if LICENSE_FILE or tests are missing from PyPI source distribution.
Comment 2 takefu 2019-10-30 02:50:43 UTC
Created attachment 208686 [details]

comment #1

1&2&3) Fixed.

changed to py-iso-639 -> py-iso639
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-10-30 03:04:28 UTC
Need to revert py-iso369 change (see bug 241564 comment 3)
Comment 4 takefu 2019-10-30 05:14:49 UTC
Created attachment 208690 [details]

bug #241564 comment #4
bug #241565 comment #1
Follow category changes.
Comment 5 takefu 2019-12-03 06:04:36 UTC
Created attachment 209643 [details]

Version 1.3.0
Comment 7 Naram Qashat 2019-12-04 16:09:24 UTC
I was going to submit this myself after the update of py-urllib3, but looks like you beat me to it. However, I have a few issues with the Makefile for the port:

* I feel the category should be multimedia, like livestreamer was, not net.
* The dependency on security/py-cryptodome is missing.
* It might not be necessary to list py-urllib as a direct dependency of streamlink because it is included by py-requests.
* This doesn't handle the case of someone wanting to build a version of Streamlink for Python 2.7, that requires devel/py-futures, devel/py-singledispatch, devel/py-backports.shutil_get_terminal_size, as well as py-backports.shutil_which (not currently in the ports tree).

Otherwise I look forward to getting this officially in the ports tree finally.
Comment 8 takefu 2019-12-05 07:52:52 UTC
Created attachment 209713 [details]

(In reply to Naram Qashat from comment #7)

category change
  net -> multimedia

net/py-urllib3 Deleted as pointed out.

Declared USES=python:3.5+ because Python2.7 is not considered.
Comment 9 VVD 2020-02-23 20:33:52 UTC
Who can commit this?
Comment 10 Matthias Andree freebsd_committer 2020-04-11 14:42:23 UTC
1.3.1 is out since January. We should't commit old ports without good reason.
Comment 11 takefu 2020-04-13 04:42:18 UTC
Created attachment 213354 [details]

Update 1.3.1
Comment 12 takefu 2020-04-13 04:53:35 UTC
Created attachment 213355 [details]

Change category net->multimedia
Comment 13 Matthias Andree freebsd_committer 2020-04-25 23:53:22 UTC
Created attachment 213791 [details]
minor edits to takefu's submission, sorts RUN_DEPENDS and adds NO_ARCH=yes

minor touch-ups not requiring maintainer approval, just showing them for completeness
Comment 14 Matthias Andree freebsd_committer 2020-04-25 23:55:21 UTC
IMO ready to go, with one more edit to multimedia/Makefile:
SUBDIRS+=streamlink - only waiting for 241565, and kevans@ is on it.
Comment 15 commit-hook freebsd_committer 2020-04-27 12:57:29 UTC
A commit references this bug:

Author: mandree
Date: Mon Apr 27 12:57:24 UTC 2020
New revision: 533133
URL: https://svnweb.freebsd.org/changeset/ports/533133

  New port multimedia/streamlink 1.4.1.
  Streamlink is a command-line utility that pipes video streams from various
  services into a video player, such as VLC.

  The main purpose of Streamlink is to allow the user to avoid buggy and CPU
  heavy flash plugins but still be able to enjoy various streamed content.

  There is also an API available for developers who want access to the video
  stream data.

  This project was forked from Livestreamer, which is no longer maintained.

  WWW: https://streamlink.github.io/

  Over the original submission, add these changes:
  - limit to Python 3.5+ because 241566 was lacking the four requisites
    (one not even in the ports tree before) needed additionally on 2.7,
    and upstream deprecated Python 2.7 support
  - add support for make test (TEST_DEPENDS=, do-test:)
  - add a PYCOUNTRY port option with a "magic" default that will be enabled
    while textproc/py-iso3166 (new -> Bugzilla #241565) is missing and use
    py-country instead of py-iso-639 and py-iso3166.
    So this port no longer depends on PR 241565.

  PR:		241566
  Submitted by:	takefu@airport.fm (new maintainer)

Comment 16 Matthias Andree freebsd_committer 2020-04-27 12:58:20 UTC
I've updated the port to 1.4.1 and added a few items, see the commit message.
Comment 17 Matthias Andree freebsd_committer 2020-04-27 15:48:52 UTC
I've had to add py-pysocks as a requisite and also added (default enabled) FFMPEG and RTMPDUMP options with further run-depends. PORTREVISION=1, r533145, see https://streamlink.github.io/install.html#dependencies
Comment 18 Matthias Andree freebsd_committer 2020-04-27 16:04:07 UTC
Created attachment 213860 [details]
minimal tox.ini for future reference

For future reference, this is a minimal working tox.ini file. To use this in tests, copy it into ${WRKSRC} and then just run "tox".

Also, in order to run tests from poudriere, you'd need to add a "-B" to ${PYTHON_CMD} and add a BUILD_DEPENDS=${RUN_DEPENDS} ${TEST_DEPENDS} line.
Comment 19 VVD 2020-04-28 02:04:15 UTC
*** Bug 240777 has been marked as a duplicate of this bug. ***