commit:     d7df014768b79e3766637280e39401b272042e07
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 22 00:46:47 2025 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jul 22 02:11:53 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7df0147

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 <AT> gentoo.org>

 net-misc/yt-dlp/Manifest                 |  1 +
 net-misc/yt-dlp/yt-dlp-2025.07.21.ebuild | 73 ++++++++++++++++++++++++++++++++
 2 files changed, 74 insertions(+)

diff --git a/net-misc/yt-dlp/Manifest b/net-misc/yt-dlp/Manifest
index 570d802c2b6b..c7957f318ded 100644
--- a/net-misc/yt-dlp/Manifest
+++ b/net-misc/yt-dlp/Manifest
@@ -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

diff --git a/net-misc/yt-dlp/yt-dlp-2025.07.21.ebuild 
b/net-misc/yt-dlp/yt-dlp-2025.07.21.ebuild
new file mode 100644
index 000000000000..aee9e8863900
--- /dev/null
+++ b/net-misc/yt-dlp/yt-dlp-2025.07.21.ebuild
@@ -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
+}

Reply via email to