Update yt-dlp #2

Open
rrahl0 wants to merge 55 commits from rrahl0/yt-dlp:leap-16.0 into leap-16.0
5 changed files with 367 additions and 11 deletions

2
yt-dlp-rpmlintrc Normal file
View File

@@ -0,0 +1,2 @@
addFilter("files-duplicate")
addFilter("python-bytecode-inconsistent-mtime /usr/lib.*/__pycache__/.*\.pyc")

View File

@@ -1,3 +1,319 @@
-------------------------------------------------------------------
Sun Feb 1 09:43:09 UTC 2026 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2026.01.31
* yt: Add `web_embedded` fallback for `android_vr` client
* yt: Remove broken `ios_downgraded` and `tv_embedded` player
clients
-------------------------------------------------------------------
Fri Jan 30 17:27:41 UTC 2026 - Michael Pujos <pujos.michael@gmail.com>
- added quickjs recommends as a lighter alternative to deno and nodejs
-------------------------------------------------------------------
Thu Jan 29 21:04:07 UTC 2026 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2026.01.29
* Accept float values for command-line option `--sleep-subtitles`
* Add `--format-sort-reset` option
* yt: Support comment subthreads
-------------------------------------------------------------------
Mon Dec 8 00:37:12 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.12.08
* cookies: Fix --cookies-from-browser for new installs of
Firefox 147+
* floatplane: add subtitle support
* yt: detect AI-upscaled formats
-------------------------------------------------------------------
Sat Nov 15 13:30:13 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Relax JS runtime requirement from required to recommended,
some formats can be downloaded without either runtime.
- Recommend nodejs as an alternative to deno
(Leap 15.6 has just nodejs).
-------------------------------------------------------------------
Thu Nov 13 08:30:07 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.11.12
* An external JavaScript runtime is now used for full YouTube
support (e.g. deno).
-------------------------------------------------------------------
Thu Oct 23 12:34:56 UTC 2025 - olaf@aepfle.de
- Use the pythons macro to reduce the amount of suse_version usage
-------------------------------------------------------------------
Wed Oct 22 15:41:02 UTC 2025 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 2025.10.22
* A stopgap release with a TEMPORARY partial fix for YouTube
support. Some formats may still be unavailable, especially if
cookies are passed to yt-dlp. The NEXT release, expected very
soon, will require an external JS runtime (e.g. Deno) in
order for YouTube downloads to work properly.
* The minimum required Python version has been raised to 3.10
(Python 3.9 has reached its end-of-life as of October 2025).
-------------------------------------------------------------------
Wed Oct 15 10:18:09 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.10.14
* yt: Detect experiment binding GVS PO Token to video id
* yt: Fix approximate timestamp extraction for feeds
-------------------------------------------------------------------
Tue Oct 7 12:34:56 UTC 2025 - olaf@aepfle.de
- Use Python 3.13 in 15.7, due to lack of 3.12
-------------------------------------------------------------------
Sat Sep 27 06:53:33 UTC 2025 - Luigi Baldoni <aloisio@gmx.com>
- Update to release 2025.09.26
* twitch: vod: Fix live_status detection
* yt: Fix player JS overrides
* yt: Improve PO token logging
* yt: Player client maintenance
* yt: Replace tv_simply with web_safari in default clients
- Fix Leap 15.6 build
-------------------------------------------------------------------
Tue Sep 23 08:02:51 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.09.23
* youtube: Force player 0004de42
-------------------------------------------------------------------
Sat Sep 06 09:45:45 CEST 2025 - Luigi Baldoni <aloisio@gmx.com>
- Update to version 2025.09.05
* Fix --id deprecation warning
* charlierose: Fix extractor
* googledrive: Fix subtitles extraction
* itvbtcc: Fix extractor
* kick: vod: Support ongoing livestream VODs
* lrt: Fix extractors
* tver: Extract more metadata
* vevo: Restore extractors
* build: Overhaul Linux builds and refactor release workflow
-------------------------------------------------------------------
Thu Aug 28 00:09:55 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.08.27
* Add tcc player JS variant
* Deprioritize web_safari m3u8 formats
* Use alternative tv user-agent when authenticated
-------------------------------------------------------------------
Sat Aug 23 07:56:19 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.08.22
* cookies: Fix --cookies-from-browser with Firefox 142+
-------------------------------------------------------------------
Wed Aug 20 07:42:37 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.08.20
* Warn against use of `-f mp4`
* yt: Add es5 and es6 player JS variants
* yt: Default to main player JS variant
* yt: Extract title and description from initial data
* yt: Handle required preroll waiting period
-------------------------------------------------------------------
Mon Aug 11 07:18:23 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.08.11
* yt: Add player params to mweb client
* dash: Re-extract if using --load-info-json with
--live-from-start
-------------------------------------------------------------------
Tue Jul 22 00:13:54 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.07.21
* Default behaviour changed from --mtime to --no-mtime
* yt: Do not require PO Token for premium accounts
* yt: Extract global nsig helper functions
* yt: tab: Fix subscriptions feed extraction
-------------------------------------------------------------------
Tue Jul 1 15:00:04 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.06.30
* youtube: Fix premium formats extraction
-------------------------------------------------------------------
Thu Jun 26 07:58:44 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.06.25
* yt: Check any ios m3u8 formats prior to download
* yt: Improve player context payloads
-------------------------------------------------------------------
Tue Jun 10 00:19:26 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.06.09
* adobepass: add Fubo MSO, fix Philo MSO authentication
* yt: Add tv_simply player client
* yt: Extract srt subtitles
* yt: Rework nsig function name extraction
-------------------------------------------------------------------
Thu May 22 14:36:43 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.05.22
* yt: Add PO token support for subtitles
* yt: Add web_embedded client for age-restricted videos
* yt: Add a PO Token Provider Framework
* yt: Extract media_type for all videos
* yt: Fix --live-from-start support for premieres
* yt: Fix geo-restriction error handling
-------------------------------------------------------------------
Sun May 4 08:49:41 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.04.30 [boo#1242186]
* New option --preset-alias/-t has been added
-------------------------------------------------------------------
Mon Mar 31 23:24:45 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.03.31
* yt: add player_js_variant extractor-arg
* yt/tab: Fix playlist continuation extraction
-------------------------------------------------------------------
Fri Mar 28 11:09:09 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.03.27
* youtube: Make signature and nsig extraction more robust
-------------------------------------------------------------------
Wed Mar 26 02:01:15 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.03.26
* youtube: fix signature and nsig extraction for player 4fcd6e4a
-------------------------------------------------------------------
Sat Mar 22 09:03:31 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.03.21
* Fix external downloader availability when using
``--ffmpeg-location``
* youtube: fix nsig and signature extraction for player 643afba4.
-------------------------------------------------------------------
Fri Feb 28 21:01:45 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Require same version between yt-dlp -> python-yt-dlp
-------------------------------------------------------------------
Wed Feb 19 08:55:03 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.02.19
* NSIG workaround for tce player JS
-------------------------------------------------------------------
Sun Jan 26 18:02:45 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.01.26
* bilibili: Support space video list extraction without login
* crunchyroll: Remove extractors
* youtube: Download tv client Innertube config
* youtube: Use different PO token for GVS and Player
-------------------------------------------------------------------
Thu Jan 16 21:28:51 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.01.15
* youtube: Do not use web_creator as a default client
-------------------------------------------------------------------
Mon Jan 13 00:14:20 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2025.01.12
* yt: fix DASH formats incorrectly skipped in some situations
* yt: refactor cookie auth
-------------------------------------------------------------------
Wed Dec 25 09:38:56 UTC 2024 - Luigi Baldoni <aloisio@gmx.com>
- Fix 15.6 build
-------------------------------------------------------------------
Tue Dec 24 01:26:36 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.12.23
* yt: add age-gate workaround for some embeddable videos
-------------------------------------------------------------------
Fri Dec 13 12:28:50 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.12.13
* yt: fix signature function extraction for 2f1832d2
* yt: prioritize original language over auto-dubbed audio
-------------------------------------------------------------------
Thu Dec 12 12:50:03 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.12.06
* yt: fix ``n`` sig extraction for player 3bb1f723
* yt: fix signature function extraction
* yt: player client maintenance
-------------------------------------------------------------------
Tue Dec 3 20:59:18 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.12.03
* bilibili: Always try to extract HD formats
* youtube: Adjust player clients for site changes
-------------------------------------------------------------------
Tue Nov 19 19:30:07 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.11.18
* cloudflarestream: Avoid extraction via videodelivery.net
* youtube: remove broken OAuth support
-------------------------------------------------------------------
Mon Nov 4 21:48:05 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.11.04
* Prioritize AV1
* Remove Python <= 3.8 support
* youtube: Adjust OAuth refresh token handling
-------------------------------------------------------------------
Wed Oct 23 08:32:16 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.10.22
* yt: Remove broken android_producer client
* yt: Remove broken age-restriction workaround
* yt: Support logging in with OAuth
-------------------------------------------------------------------
Tue Oct 8 08:49:07 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.10.07
* Fix cookie load error handling
* youtube: Change default player clients to ios,mweb
* patreon: Extract all m3u8 formats for locked posts
-------------------------------------------------------------------
Sun Sep 29 19:34:07 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2024.09.27
* Support excluding player_clients in extractor-arg
* clip: Prioritize https formats
-------------------------------------------------------------------
Tue Aug 13 20:43:17 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package yt-dlp
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,23 +16,33 @@
#
%define skip_python2 1
%define skip_python36 1
%define skip_python37 1
%{?sle15_python_module_pythons}
%if %{defined primary_python}
%define pythons %primary_python
%else
%if 0%{?sle_version} == 150700
%global pythons python313
%else
%global pythons python312
%endif
%endif
Name: yt-dlp
Version: 2024.08.06
Version: 2026.01.31
%define ejsver 0.4.0
Release: 0
Summary: Enhanced fork of youtube-dl, a video site downloader for offline watching
License: CC-BY-SA-3.0 AND SUSE-Public-Domain
Group: Productivity/Networking/Web/Utilities
URL: https://github.com/yt-dlp/yt-dlp
Source: https://github.com/yt-dlp/yt-dlp/releases/download/%version/yt-dlp.tar.gz
Source2: https://github.com/yt-dlp/ejs/releases/download/%ejsver/yt_dlp_ejs-%ejsver-py3-none-any.whl
Source9: yt-dlp-rpmlintrc
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
BuildRequires: fdupes
BuildRequires: make >= 4
BuildRequires: python-rpm-macros
BuildRequires: unzip
BuildRequires: zip
BuildArch: noarch
Obsoletes: yt-dlp-bash-completion < %version-%release
@@ -41,8 +51,7 @@ Obsoletes: yt-dlp-fish-completion < %version-%release
Provides: yt-dlp-fish-completion = %version-%release
Obsoletes: yt-dlp-zsh-completion < %version-%release
Provides: yt-dlp-zsh-completion = %version-%release
# %%primary_python not available in Leap yet
Requires: %(echo %{python_module yt-dlp} | perl -pe 's{.* }{}g')
Requires: %pythons-yt-dlp = %version
%define python_subpackage_only 1
%python_subpackages
@@ -63,6 +72,7 @@ This package installs "youtube-dl" as a symlink to yt-dlp.
Summary: yt-dlp Python library
Group: Development/Languages/Python
Requires: ffmpeg
Recommends: (deno or nodejs >= 20 or quickjs >= 20250913)
Suggests: python-Brotli
Suggests: python-certifi
Suggests: python-mutagen
@@ -75,12 +85,20 @@ The direct Python interface into yt-dlp.
%prep
%autosetup -p1 -n %name
# remove shebang
find . -type f -name "*.py" -exec sed -i '/^#!/d' {} +
# fix Leap 15.6 build w.r.t. python-hatchling
sed -e '/3\.14/d' -e '/^license\-files/d' \
-i pyproject.toml
%build
rm -f youtube-dl yt-dlp
#
# A self-decompressing yt-dlp is built only when python_build is not
# exercised; else yt-dlp is a loader.
#
export PYTHON=$(type -P "%_bindir/python%{python_bin_suffix}" | xargs --no-run-if-empty readlink -f)
%pyproject_wheel
%make_build yt-dlp
@@ -88,8 +106,25 @@ rm -f youtube-dl yt-dlp
b="%buildroot"
%pyproject_install
ln -s yt-dlp "$b/%_bindir/youtube-dl"
%fdupes %buildroot/usr
rm -Rf "$b/%_datadir/doc"
# if you leave everything as-is, rpmlint complains about
# python312-yt-dlp.noarch: W: files-duplicate
# /usr/lib/python3.12/site-packages/yt_dlp/utils/__pycache__/progress.cpython-312.pyc
# /usr/lib/python3.12/site-packages/yt_dlp/utils/__pycache__/progress.cpython-312.opt-1.pyc
# if you add fdupes, rpmlint complains about
# python312-yt-dlp.noarch: E: python-bytecode-inconsistent-mtime
# /usr/lib/python3.12/site-packages/yt_dlp/extractor/__pycache__/screencastomatic.cpython-312.pyc
# 2024-09-29T18:11:02
# /usr/lib/python3.12/site-packages/yt_dlp/extractor/screencastomatic.py
# 2024-09-29T18:11:01
ejs="$(grep ^EJS_VERSION Makefile | perl -pe 's{^.*?=\s+(.*)}{$1}')"
%{python_expand #
d="$b/%$python_sitelib/"
mkdir -p "$d"
cd "$d"
unzip "%_sourcedir/yt_dlp_ejs-$ejs-py3-none-any.whl"
}
%files -n yt-dlp
%license LICENSE

BIN
yt-dlp.tar.gz LFS

Binary file not shown.

BIN
yt_dlp_ejs-0.4.0-py3-none-any.whl LFS Normal file

Binary file not shown.