aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/yt-dlp/Makefile30
-rw-r--r--www/yt-dlp/distinfo6
-rw-r--r--www/yt-dlp/files/patch-Makefile97
-rw-r--r--www/yt-dlp/files/patch-yt__dlp_____init____.py29
-rw-r--r--www/yt-dlp/files/patch-yt__dlp_options.py13
-rw-r--r--www/yt-dlp/pkg-descr2
-rw-r--r--www/yt-dlp/pkg-plist5
7 files changed, 166 insertions, 16 deletions
diff --git a/www/yt-dlp/Makefile b/www/yt-dlp/Makefile
index bdfd2cbd8398..4a08e7e45a12 100644
--- a/www/yt-dlp/Makefile
+++ b/www/yt-dlp/Makefile
@@ -1,32 +1,38 @@
# $FreeBSD$
PORTNAME= yt-dlp
-DISTVERSION= 2021.02.09
+DISTVERSION= 2021.03.21
CATEGORIES= www
MAINTAINER= yuri@FreeBSD.org
-COMMENT= Command-line program to download videos from youtube & other platforms
+COMMENT= Command-line program for downloading videos from various platforms
LICENSE= UNLICENSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= zip:archivers/zip \
- pandoc:textproc/hs-pandoc
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}
-
-USES= gmake python
-USE_PYTHON= distutils autoplist noflavors
+USES= gmake python shebangfix
+SHEBANG_GLOB= devscripts/*.py
USE_GITHUB= yes
-GH_ACCOUNT= pukkandan
MAKE_ARGS= PYTHON=${PYTHON_CMD}
NO_ARCH= yes
-POST_PLIST= fix-plist
+OPTIONS_DEFINE= FFMPEG MUTAGEN RTMPDUMP SYMLINK
+OPTIONS_DEFAULT= FFMPEG RTMPDUMP
+OPTIONS_SUB= yes
+
+MUTAGEN_DESC= Thumbnail support via Mutagen
+RTMPDUMP_DESC= Use rtmpdump to download rtmp video streams
+SYMLINK_DESC= Install youtube-dl symbolic link for executable
+
+FFMPEG_RUN_DEPENDS= ffprobe:multimedia/ffmpeg
+MUTAGEN_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR}
+RTMPDUMP_RUN_DEPENDS= rtmpdump:multimedia/rtmpdump
+SYMLINK_CONFLICTS= youtube_dl
-pre-build:
- @cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET}
+post-install-SYMLINK-on:
+ @${RLN} ${STAGEDIR}${PREFIX}/bin/yt-dlp ${STAGEDIR}${PREFIX}/bin/youtube-dl
.include <bsd.port.mk>
diff --git a/www/yt-dlp/distinfo b/www/yt-dlp/distinfo
index 49f954c4966d..e8d12452c6e0 100644
--- a/www/yt-dlp/distinfo
+++ b/www/yt-dlp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613182214
-SHA256 (pukkandan-yt-dlp-2021.02.09_GH0.tar.gz) = 5ed76891ba256b5554bcb7238345d53fcfbf051a1e03747574568011012a5a67
-SIZE (pukkandan-yt-dlp-2021.02.09_GH0.tar.gz) = 1541519
+TIMESTAMP = 1616435138
+SHA256 (yt-dlp-yt-dlp-2021.03.21_GH0.tar.gz) = 626716166e1a2099305e0a4aa9dedc133a66c5cca040b26386a9288ecb029fcf
+SIZE (yt-dlp-yt-dlp-2021.03.21_GH0.tar.gz) = 1577437
diff --git a/www/yt-dlp/files/patch-Makefile b/www/yt-dlp/files/patch-Makefile
new file mode 100644
index 000000000000..b3039aa694f2
--- /dev/null
+++ b/www/yt-dlp/files/patch-Makefile
@@ -0,0 +1,97 @@
+--- Makefile.orig 2021-03-15 00:24:39 UTC
++++ Makefile
+@@ -1,7 +1,8 @@
+-all: yt-dlp doc pypi-files
++#all: yt-dlp doc pypi-files
++all: yt-dlp completions
+ clean: clean-test clean-dist clean-cache
+ completions: completion-bash completion-fish completion-zsh
+-doc: README.md CONTRIBUTING.md issuetemplates supportedsites
++#doc: README.md CONTRIBUTING.md issuetemplates supportedsites
+ ot: offlinetest
+ tar: yt-dlp.tar.gz
+
+@@ -32,17 +33,23 @@ SHAREDIR ?= $(PREFIX)/share
+ PYTHON ?= /usr/bin/env python3
+
+ # set SYSCONFDIR to /etc if PREFIX=/usr or PREFIX=/usr/local
+-SYSCONFDIR = $(shell if [ $(PREFIX) = /usr -o $(PREFIX) = /usr/local ]; then echo /etc; else echo $(PREFIX)/etc; fi)
++#SYSCONFDIR = $(shell if [ $(PREFIX) = /usr -o $(PREFIX) = /usr/local ]; then echo /etc; else echo $(PREFIX)/etc; fi)
++SYSCONFDIR = $(PREFIX)/etc
+
+ # set markdown input format to "markdown-smart" for pandoc version 2 and to "markdown" for pandoc prior to version 2
+ MARKDOWN = $(shell if [ `pandoc -v | head -n1 | cut -d" " -f2 | head -c1` = "2" ]; then echo markdown-smart; else echo markdown; fi)
+
+-install: yt-dlp yt-dlp.1 completions
++#install: yt-dlp yt-dlp.1 completions
++install: yt-dlp completions
+ install -Dm755 yt-dlp $(DESTDIR)$(BINDIR)
+- install -Dm644 yt-dlp.1 $(DESTDIR)$(MANDIR)/man1
+- install -Dm644 completions/bash/yt-dlp $(DESTDIR)$(SHAREDIR)/bash-completion/completions/yt-dlp
++ install -d $(DESTDIR)$(SYSCONFDIR)/bash_completion.d
++# install -Dm644 completions/bash/yt-dlp $(DESTDIR)$(SHAREDIR)/bash-completion/completions/yt-dlp
++ install -Dm644 completions/bash/yt-dlp $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/yt-dlp
++ install -d $(DESTDIR)$(SHAREDIR)/zsh/site-functions
+ install -Dm644 completions/zsh/_yt-dlp $(DESTDIR)$(SHAREDIR)/zsh/site-functions/_yt-dlp
+- install -Dm644 completions/fish/yt-dlp.fish $(DESTDIR)$(SHAREDIR)/fish/vendor_completions.d/yt-dlp.fish
++ install -d $(DESTDIR)$(SYSCONFDIR)/fish/completions
++# install -Dm644 completions/fish/yt-dlp.fish $(DESTDIR)$(SYSCONFDIR)/fish/vendor_completions.d/yt-dlp.fish
++ install -Dm644 completions/fish/yt-dlp.fish $(DESTDIR)$(SYSCONFDIR)/fish/completions/yt-dlp.fish
+
+ codetest:
+ flake8 .
+@@ -74,36 +81,37 @@ yt-dlp: yt_dlp/*.py yt_dlp/*/*.py
+ done
+ touch -t 200001010101 zip/yt_dlp/*.py zip/yt_dlp/*/*.py
+ mv zip/yt_dlp/__main__.py zip/
+- cd zip ; zip -q ../yt-dlp yt_dlp/*.py yt_dlp/*/*.py __main__.py
++# cd zip ; zip -q ../yt-dlp yt_dlp/*.py yt_dlp/*/*.py __main__.py
++ cd zip ; bsdtar -a -cf ../yt-dlp.zip yt_dlp/*.py yt_dlp/*/*.py __main__.py
+ rm -rf zip
+ echo '#!$(PYTHON)' > yt-dlp
+ cat yt-dlp.zip >> yt-dlp
+ rm yt-dlp.zip
+ chmod a+x yt-dlp
+
+-README.md: yt_dlp/*.py yt_dlp/*/*.py
+- COLUMNS=80 $(PYTHON) yt_dlp/__main__.py --help | $(PYTHON) devscripts/make_readme.py
++#README.md: yt_dlp/*.py yt_dlp/*/*.py
++# COLUMNS=80 $(PYTHON) yt_dlp/__main__.py --help | $(PYTHON) devscripts/make_readme.py
+
+-CONTRIBUTING.md: README.md
+- $(PYTHON) devscripts/make_contributing.py README.md CONTRIBUTING.md
++#CONTRIBUTING.md: README.md
++# $(PYTHON) devscripts/make_contributing.py README.md CONTRIBUTING.md
+
+-issuetemplates: devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md yt_dlp/version.py
+- $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE/1_broken_site.md
+- $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE/2_site_support_request.md
+- $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md
+- $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE/4_bug_report.md
+- $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md .github/ISSUE_TEMPLATE/5_feature_request.md
++#issuetemplates: devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md yt_dlp/version.py
++# $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE/1_broken_site.md
++# $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE/2_site_support_request.md
++# $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md
++# $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE/4_bug_report.md
++# $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md .github/ISSUE_TEMPLATE/5_feature_request.md
+
+ supportedsites:
+ $(PYTHON) devscripts/make_supportedsites.py supportedsites.md
+
+-README.txt: README.md
+- pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
++#README.txt: README.md
++# pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
+
+-yt-dlp.1: README.md
+- $(PYTHON) devscripts/prepare_manpage.py yt-dlp.1.temp.md
+- pandoc -s -f $(MARKDOWN) -t man yt-dlp.1.temp.md -o yt-dlp.1
+- rm -f yt-dlp.1.temp.md
++#yt-dlp.1: README.md
++# $(PYTHON) devscripts/prepare_manpage.py yt-dlp.1.temp.md
++# pandoc -s -f $(MARKDOWN) -t man yt-dlp.1.temp.md -o yt-dlp.1
++# rm -f yt-dlp.1.temp.md
+
+ completions/bash/yt-dlp: yt_dlp/*.py yt_dlp/*/*.py devscripts/bash-completion.in
+ mkdir -p completions/bash
diff --git a/www/yt-dlp/files/patch-yt__dlp_____init____.py b/www/yt-dlp/files/patch-yt__dlp_____init____.py
new file mode 100644
index 000000000000..0f0d7f8b322c
--- /dev/null
+++ b/www/yt-dlp/files/patch-yt__dlp_____init____.py
@@ -0,0 +1,29 @@
+--- yt_dlp/__init__.py.orig 2021-03-18 03:08:48 UTC
++++ yt_dlp/__init__.py
+@@ -38,7 +38,6 @@ from .utils import (
+ std_headers,
+ write_string,
+ )
+-from .update import update_self
+ from .downloader import (
+ FileDownloader,
+ )
+@@ -580,17 +579,9 @@ def _real_main(argv=None):
+ if opts.rm_cachedir:
+ ydl.cache.remove()
+
+- # Update version
+- if opts.update_self:
+- # If updater returns True, exit. Required for windows
+- if update_self(ydl.to_screen, opts.verbose, ydl._opener):
+- if actual_use:
+- sys.exit('ERROR: The program must exit for the update to complete')
+- sys.exit()
+-
+ # Maybe do nothing
+ if not actual_use:
+- if opts.update_self or opts.rm_cachedir:
++ if opts.rm_cachedir:
+ sys.exit()
+
+ ydl.warn_if_short_id(sys.argv[1:] if argv is None else argv)
diff --git a/www/yt-dlp/files/patch-yt__dlp_options.py b/www/yt-dlp/files/patch-yt__dlp_options.py
new file mode 100644
index 000000000000..5f9819a79b7a
--- /dev/null
+++ b/www/yt-dlp/files/patch-yt__dlp_options.py
@@ -0,0 +1,13 @@
+--- yt_dlp/options.py.orig 2021-03-18 03:13:34 UTC
++++ yt_dlp/options.py
+@@ -151,10 +151,6 @@ def parseOpts(overrideArguments=None):
+ action='version',
+ help='Print program version and exit')
+ general.add_option(
+- '-U', '--update',
+- action='store_true', dest='update_self',
+- help='Update this program to latest version. Make sure that you have sufficient permissions (run with sudo if needed)')
+- general.add_option(
+ '-i', '--ignore-errors', '--no-abort-on-error',
+ action='store_true', dest='ignoreerrors', default=True,
+ help='Continue on download errors, for example to skip unavailable videos in a playlist (default) (Alias: --no-abort-on-error)')
diff --git a/www/yt-dlp/pkg-descr b/www/yt-dlp/pkg-descr
index f5811927ceb8..20ac9d51d93a 100644
--- a/www/yt-dlp/pkg-descr
+++ b/www/yt-dlp/pkg-descr
@@ -3,4 +3,4 @@ platforms.
This is a fork of youtube-dlc which is inturn a fork of youtube-dl.
-WWW: https://github.com/pukkandan/yt-dlp
+WWW: https://github.com/yt-dlp/yt-dlp
diff --git a/www/yt-dlp/pkg-plist b/www/yt-dlp/pkg-plist
new file mode 100644
index 000000000000..8401d1199c9d
--- /dev/null
+++ b/www/yt-dlp/pkg-plist
@@ -0,0 +1,5 @@
+%%SYMLINK%%bin/youtube-dl
+bin/yt-dlp
+etc/bash_completion.d/yt-dlp
+etc/fish/completions/yt-dlp.fish
+share/zsh/site-functions/_yt-dlp