net-misc/yt-dlp: add 2025.07.21

Note that the test_utils.py::TestUtil::test_extract_attributes test is
known failing specifically with python-3.14.0_beta4, but according to
upstream should work again with the next python release.

Afaik does not cause notable runtime issues, so not going to remove
compat, skip the test, or keep an ebuild note over this if it'll pass
again soon.

Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
This commit is contained in:
Ionen Wolkens
2025-07-21 20:46:47 -04:00
parent 6807a93c3a
commit d7df014768
2 changed files with 74 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST yt-dlp-2025.06.30.tar.gz 6029721 BLAKE2B d69489b1cdb338672c4581a91af9540bed16307699ee5eaddf87be387d49ba702c20ee4ae1959e41e7cf6b4f49954efdba7da4d729ff4316fccf86cb3d367691 SHA512 30503e54c4ac4817a804b739274bb6821a667e4fbb1bd8fbbee71e900a245e5f4e649efca93f50a15d55b72b6b4a14f44a311bb70ee4806f7a72499e6825faee
DIST yt-dlp-2025.07.21.tar.gz 6055710 BLAKE2B 640398917e0da9526fbb6636e45c8da22d569c8646483c5c675def3a77b3af3aaced553211ce16f74433037a22be4404daee3a902c29e3ee5a42d46f75fe7ff3 SHA512 244c765e1234672e5bb117e74932455fa35fc32ee783fd7c9f96e9a8548b06fcdcb5337874ffcf92714b5366f1774aa08d34e52bb276753fb6ec865407f7838b

View File

@@ -0,0 +1,73 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYTHON_COMPAT=( pypy3_11 python3_{11..14} )
inherit distutils-r1 optfeature shell-completion wrapper
DESCRIPTION="youtube-dl fork with additional features and fixes"
HOMEPAGE="https://github.com/yt-dlp/yt-dlp/"
SRC_URI="
https://github.com/yt-dlp/yt-dlp/releases/download/${PV}/${PN}.tar.gz
-> ${P}.tar.gz
"
S=${WORKDIR}/${PN}
LICENSE="Unlicense"
SLOT="0"
# note that yt-dlp bumps are typically done straight-to-stable (unless there
# was major/breaking changes) given website changes breaks it on a whim
KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
RDEPEND="
dev-python/pycryptodome[${PYTHON_USEDEP}]
"
BDEPEND="
test? ( media-video/ffmpeg[webp] )
"
EPYTEST_PLUGINS=()
distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=(
# fails with FEATURES=network-sandbox
test/test_networking.py::TestHTTPRequestHandler::test_connect_timeout
# fails with FEATURES=distcc, bug #915614
test/test_networking.py::TestYoutubeDLNetworking::test_proxy\[None-expected2\]
# websockets tests break easily depending on dev-python/websockets
# version and, as far as I know, most users do not use/need it --
# thus being neither in RDEPEND nor optfeature (bug #940630,#950030)
test/test_websockets.py
)
epytest -m 'not download'
}
python_install_all() {
dodoc README.md Changelog.md supportedsites.md
doman yt-dlp.1
dobashcomp completions/bash/yt-dlp
dofishcomp completions/fish/yt-dlp.fish
dozshcomp completions/zsh/_yt-dlp
rm -r "${ED}"/usr/share/doc/yt_dlp || die
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
optfeature "decrypting cookies from Chromium-based browsers" dev-python/secretstorage
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
}