commit:     9aa3ba431e341a7e8f344c88ddf0f9a5e3f453ce
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 17 22:23:07 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Fri Feb 17 22:57:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9aa3ba43

net-misc/yt-dlp: add live ebuild

Upstream is typically punctual with releases, but when some sites
break out of the blue users may want the fixes quicker still.

Did not inspect the newly used devscripts closely, so may be missing
deps. Please report issues given won't be testing 9999 regularly.

Note will be missing the man page without USE=man (off by default
and needs pandoc, but if amd64/arm64 then pandoc-bin isn't so bad).

Not using [[ == 9999 ]] blocks given a few things need to be
different and it gets kind of nasty combined. Will just be
its own separate ebuild.

Closes: https://bugs.gentoo.org/895158
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 net-misc/yt-dlp/yt-dlp-9999.ebuild | 72 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/net-misc/yt-dlp/yt-dlp-9999.ebuild 
b/net-misc/yt-dlp/yt-dlp-9999.ebuild
new file mode 100644
index 000000000000..ff0fc081c14a
--- /dev/null
+++ b/net-misc/yt-dlp/yt-dlp-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit bash-completion-r1 distutils-r1 git-r3 optfeature wrapper
+
+DESCRIPTION="youtube-dl fork with additional features and fixes"
+HOMEPAGE="https://github.com/yt-dlp/yt-dlp/";
+EGIT_REPO_URI="https://github.com/yt-dlp/yt-dlp.git";
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS=""
+IUSE="man"
+
+RDEPEND="
+       dev-python/pycryptodome[${PYTHON_USEDEP}]
+       !net-misc/youtube-dl[-yt-dlp(-)]"
+BDEPEND="man? ( virtual/pandoc )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       # adjust requires for pycryptodome and optional dependencies (bug 
#828466)
+       sed -ri requirements.txt \
+               -e "s/^(pycryptodome)x/\1/" \
+               -e "/^(brotli.*|certifi|mutagen|websockets)/d" || die
+}
+
+python_compile() {
+       # generate missing files in live, not in compile_all nor prepare
+       # given need lazy before compile and it needs a usable ${PYTHON}
+       emake completions lazy-extractors $(usev man yt-dlp.1)
+
+       distutils-r1_python_compile
+}
+
+python_test() {
+       epytest -m 'not download'
+}
+
+python_install_all() {
+       dodoc README.md Changelog.md supportedsites.md
+       use man && doman yt-dlp.1
+
+       dobashcomp completions/bash/yt-dlp
+
+       insinto /usr/share/fish/vendor_completions.d
+       doins completions/fish/yt-dlp.fish
+
+       insinto /usr/share/zsh/site-functions
+       doins completions/zsh/_yt-dlp
+
+       make_wrapper youtube-dl "yt-dlp --compat-options youtube-dl"
+}
+
+pkg_postinst() {
+       optfeature "various features (merging tracks, streamed content)" 
media-video/ffmpeg
+       has_version media-video/atomicparsley || # allow fallback but don't 
advertise
+               optfeature "embedding metadata thumbnails in MP4/M4A files" 
media-libs/mutagen
+
+       if [[ ! ${REPLACING_VERSIONS} ]]; then
+               elog 'A wrapper using "yt-dlp --compat-options youtube-dl" was 
installed'
+               elog 'as "youtube-dl". This is strictly for compatibility and 
it is'
+               elog 'recommended to use "yt-dlp" directly, it may be removed 
in the future.'
+       fi
+}

Reply via email to