diff options
author | 2023-02-17 17:23:07 -0500 | |
---|---|---|
committer | 2023-02-17 17:57:00 -0500 | |
commit | 9aa3ba431e341a7e8f344c88ddf0f9a5e3f453ce (patch) | |
tree | 4b5857ede8da52c8f5053479294adaee7122b8bc /net-misc/yt-dlp | |
parent | app-emulation/wine-staging: drop odbc IUSE in live (diff) | |
download | gentoo-9aa3ba431e341a7e8f344c88ddf0f9a5e3f453ce.tar.gz gentoo-9aa3ba431e341a7e8f344c88ddf0f9a5e3f453ce.tar.bz2 gentoo-9aa3ba431e341a7e8f344c88ddf0f9a5e3f453ce.zip |
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@gentoo.org>
Diffstat (limited to 'net-misc/yt-dlp')
-rw-r--r-- | net-misc/yt-dlp/yt-dlp-9999.ebuild | 72 |
1 files changed, 72 insertions, 0 deletions
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 +} |