From d7df014768b79e3766637280e39401b272042e07 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Mon, 21 Jul 2025 20:46:47 -0400 Subject: [PATCH] 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 --- net-misc/yt-dlp/Manifest | 1 + net-misc/yt-dlp/yt-dlp-2025.07.21.ebuild | 73 ++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 net-misc/yt-dlp/yt-dlp-2025.07.21.ebuild diff --git a/net-misc/yt-dlp/Manifest b/net-misc/yt-dlp/Manifest index 570d802c2b6bf..c7957f318ded7 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 0000000000000..aee9e88639005 --- /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 +}