commit: 00fe346cc1ce9b97dbfeca089b3afc97f0353bfe
parent 4fad1531cbc506408855d2027a60cdbeaf66eea3
Author: Michael Forney <mforney@mforney.org>
Date: Tue, 6 Sep 2022 18:16:55 -0700
yt-dlp: Update to 2022.09.01
Diffstat:
5 files changed, 70 insertions(+), 40 deletions(-)
diff --git a/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch b/pkg/yt-dlp/patch/0001-Disable-use-of-ctypes-and-dynamic-loading.patch
@@ -1,26 +1,18 @@
-From b5f26e6d73a01270c0bdb84843d5ff57438e3a2c Mon Sep 17 00:00:00 2001
+From 4309e1275d48248b427365952249b904be7c85d1 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Mon, 4 Jul 2016 16:14:18 -0700
Subject: [PATCH] Disable use of ctypes and dynamic loading
---
- yt_dlp/cookies.py | 73 -----------------------------------------
- yt_dlp/utils.py | 82 +----------------------------------------------
- 2 files changed, 1 insertion(+), 154 deletions(-)
+ yt_dlp/cookies.py | 94 -----------------------------------------------
+ yt_dlp/utils.py | 83 +----------------------------------------
+ 2 files changed, 1 insertion(+), 176 deletions(-)
diff --git a/yt_dlp/cookies.py b/yt_dlp/cookies.py
-index df8f97b44..7c4fb932f 100644
+index 0ccd22947..3481243cc 100644
--- a/yt_dlp/cookies.py
+++ b/yt_dlp/cookies.py
-@@ -1,7 +1,5 @@
- import base64
- import contextlib
--import ctypes
--import http.cookiejar
- import json
- import os
- import shutil
-@@ -340,8 +338,6 @@ def decrypt(self, encrypted_value):
+@@ -372,8 +372,6 @@ def decrypt(self, encrypted_value):
def get_cookie_decryptor(browser_root, browser_keyring_name, logger, *, keyring=None):
if sys.platform == 'darwin':
return MacChromeCookieDecryptor(browser_keyring_name, logger)
@@ -29,7 +21,7 @@ index df8f97b44..7c4fb932f 100644
return LinuxChromeCookieDecryptor(browser_keyring_name, logger, keyring=keyring)
-@@ -411,43 +407,6 @@ def decrypt(self, encrypted_value):
+@@ -443,43 +441,6 @@ def decrypt(self, encrypted_value):
return encrypted_value
@@ -73,7 +65,35 @@ index df8f97b44..7c4fb932f 100644
def _extract_safari_cookies(profile, logger):
if profile is not None:
logger.error('safari does not support profiles')
-@@ -871,38 +830,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger):
+@@ -855,27 +816,6 @@ def _get_mac_keyring_password(browser_keyring_name, logger):
+ return None
+
+
+-def _get_windows_v10_key(browser_root, logger):
+- path = _find_most_recently_used_file(browser_root, 'Local State', logger)
+- if path is None:
+- logger.error('could not find local state file')
+- return None
+- logger.debug(f'Found local state file at "{path}"')
+- with open(path, encoding='utf8') as f:
+- data = json.load(f)
+- try:
+- base64_key = data['os_crypt']['encrypted_key']
+- except KeyError:
+- logger.error('no encrypted key in Local State')
+- return None
+- encrypted_key = base64.b64decode(base64_key)
+- prefix = b'DPAPI'
+- if not encrypted_key.startswith(prefix):
+- logger.error('invalid key')
+- return None
+- return _decrypt_windows_dpapi(encrypted_key[len(prefix):], logger)
+-
+-
+ def pbkdf2_sha1(password, salt, iterations, key_length):
+ return pbkdf2_hmac('sha1', password, salt, iterations, key_length)
+
+@@ -903,40 +843,6 @@ def _decrypt_aes_gcm(ciphertext, key, nonce, authentication_tag, logger):
return None
@@ -82,10 +102,12 @@ index df8f97b44..7c4fb932f 100644
- References:
- - https://docs.microsoft.com/en-us/windows/win32/api/dpapi/nf-dpapi-cryptunprotectdata
- """
-- from ctypes.wintypes import DWORD
+-
+- import ctypes
+- import ctypes.wintypes
-
- class DATA_BLOB(ctypes.Structure):
-- _fields_ = [('cbData', DWORD),
+- _fields_ = [('cbData', ctypes.wintypes.DWORD),
- ('pbData', ctypes.POINTER(ctypes.c_char))]
-
- buffer = ctypes.create_string_buffer(ciphertext)
@@ -113,23 +135,16 @@ index df8f97b44..7c4fb932f 100644
return os.environ.get('XDG_CONFIG_HOME', os.path.expanduser('~/.config'))
diff --git a/yt_dlp/utils.py b/yt_dlp/utils.py
-index 7648b6fce..21110dc33 100644
+index 00f2fbf42..5e12d9f74 100644
--- a/yt_dlp/utils.py
+++ b/yt_dlp/utils.py
-@@ -5,7 +5,6 @@
- import codecs
- import collections
- import contextlib
--import ctypes
- import datetime
- import email.header
- import email.utils
-@@ -1983,63 +1982,6 @@ def __init__(self):
+@@ -2042,64 +2042,6 @@ def __init__(self):
super().__init__(self.msg)
-# Cross-platform file locking
-if sys.platform == 'win32':
+- import ctypes
- import ctypes.wintypes
- import msvcrt
-
@@ -188,15 +203,16 @@ index 7648b6fce..21110dc33 100644
try:
import fcntl
-@@ -2362,29 +2304,7 @@ def fix_xml_ampersands(xml_str):
+@@ -2422,30 +2364,7 @@ def fix_xml_ampersands(xml_str):
def setproctitle(title):
- assert isinstance(title, str)
-
-- # ctypes in Jython is not complete
-- # http://bugs.jython.org/issue2148
-- if sys.platform.startswith('java'):
+- # Workaround for https://github.com/yt-dlp/yt-dlp/issues/4541
+- try:
+- import ctypes
+- except ImportError:
- return
-
- try:
diff --git a/pkg/yt-dlp/pylibs.txt b/pkg/yt-dlp/pylibs.txt
@@ -7,11 +7,9 @@ yt_dlp/cache.py
yt_dlp/compat/__init__.py
yt_dlp/compat/_deprecated.py
yt_dlp/compat/_legacy.py
-yt_dlp/compat/asyncio.py
yt_dlp/compat/compat_utils.py
yt_dlp/compat/functools.py
yt_dlp/compat/imghdr.py
-yt_dlp/compat/re.py
yt_dlp/cookies.py
yt_dlp/dependencies.py
yt_dlp/downloader/__init__.py
@@ -58,6 +56,7 @@ yt_dlp/extractor/amazon.py
yt_dlp/extractor/amcnetworks.py
yt_dlp/extractor/americastestkitchen.py
yt_dlp/extractor/amp.py
+yt_dlp/extractor/angel.py
yt_dlp/extractor/animeondemand.py
yt_dlp/extractor/ant1newsgr.py
yt_dlp/extractor/anvato.py
@@ -135,6 +134,7 @@ yt_dlp/extractor/caltrans.py
yt_dlp/extractor/cam4.py
yt_dlp/extractor/camdemy.py
yt_dlp/extractor/cammodels.py
+yt_dlp/extractor/camtasia.py
yt_dlp/extractor/camwithher.py
yt_dlp/extractor/canalalpha.py
yt_dlp/extractor/canalc2.py
@@ -255,6 +255,7 @@ yt_dlp/extractor/elpais.py
yt_dlp/extractor/embedly.py
yt_dlp/extractor/engadget.py
yt_dlp/extractor/epicon.py
+yt_dlp/extractor/epoch.py
yt_dlp/extractor/eporner.py
yt_dlp/extractor/eroprofile.py
yt_dlp/extractor/ertgr.py
@@ -263,6 +264,7 @@ yt_dlp/extractor/espn.py
yt_dlp/extractor/esri.py
yt_dlp/extractor/europa.py
yt_dlp/extractor/europeantour.py
+yt_dlp/extractor/eurosport.py
yt_dlp/extractor/euscreen.py
yt_dlp/extractor/expotv.py
yt_dlp/extractor/expressen.py
@@ -314,6 +316,7 @@ yt_dlp/extractor/gazeta.py
yt_dlp/extractor/gdcvault.py
yt_dlp/extractor/gedidigital.py
yt_dlp/extractor/generic.py
+yt_dlp/extractor/genericembeds.py
yt_dlp/extractor/gettr.py
yt_dlp/extractor/gfycat.py
yt_dlp/extractor/giantbomb.py
@@ -336,6 +339,7 @@ yt_dlp/extractor/gotostage.py
yt_dlp/extractor/gputechconf.py
yt_dlp/extractor/gronkh.py
yt_dlp/extractor/groupon.py
+yt_dlp/extractor/harpodeon.py
yt_dlp/extractor/hbo.py
yt_dlp/extractor/hearthisat.py
yt_dlp/extractor/heise.py
@@ -348,6 +352,7 @@ yt_dlp/extractor/historicfilms.py
yt_dlp/extractor/hitbox.py
yt_dlp/extractor/hitrecord.py
yt_dlp/extractor/hketv.py
+yt_dlp/extractor/holodex.py
yt_dlp/extractor/hotnewhiphop.py
yt_dlp/extractor/hotstar.py
yt_dlp/extractor/howcast.py
@@ -377,6 +382,7 @@ yt_dlp/extractor/internazionale.py
yt_dlp/extractor/internetvideoarchive.py
yt_dlp/extractor/iprima.py
yt_dlp/extractor/iqiyi.py
+yt_dlp/extractor/islamchannel.py
yt_dlp/extractor/itprotv.py
yt_dlp/extractor/itv.py
yt_dlp/extractor/ivi.py
@@ -387,6 +393,7 @@ yt_dlp/extractor/izlesene.py
yt_dlp/extractor/jable.py
yt_dlp/extractor/jamendo.py
yt_dlp/extractor/jeuxvideo.py
+yt_dlp/extractor/jixie.py
yt_dlp/extractor/joj.py
yt_dlp/extractor/jove.py
yt_dlp/extractor/jwplatform.py
@@ -402,6 +409,7 @@ yt_dlp/extractor/kicker.py
yt_dlp/extractor/kickstarter.py
yt_dlp/extractor/kinja.py
yt_dlp/extractor/kinopoisk.py
+yt_dlp/extractor/kompas.py
yt_dlp/extractor/konserthusetplay.py
yt_dlp/extractor/koo.py
yt_dlp/extractor/krasview.py
@@ -496,6 +504,7 @@ yt_dlp/extractor/motherless.py
yt_dlp/extractor/motorsport.py
yt_dlp/extractor/movieclips.py
yt_dlp/extractor/moviepilot.py
+yt_dlp/extractor/moview.py
yt_dlp/extractor/moviezine.py
yt_dlp/extractor/movingimage.py
yt_dlp/extractor/msn.py
@@ -526,6 +535,7 @@ yt_dlp/extractor/neteasemusic.py
yt_dlp/extractor/netverse.py
yt_dlp/extractor/netzkino.py
yt_dlp/extractor/newgrounds.py
+yt_dlp/extractor/newspicks.py
yt_dlp/extractor/newstube.py
yt_dlp/extractor/newsy.py
yt_dlp/extractor/nextmedia.py
@@ -587,7 +597,7 @@ yt_dlp/extractor/palcomp3.py
yt_dlp/extractor/pandoratv.py
yt_dlp/extractor/panopto.py
yt_dlp/extractor/paramountplus.py
-yt_dlp/extractor/parliamentliveuk.py
+yt_dlp/extractor/parler.py
yt_dlp/extractor/parlview.py
yt_dlp/extractor/patreon.py
yt_dlp/extractor/pbs.py
@@ -663,6 +673,7 @@ yt_dlp/extractor/rbmaradio.py
yt_dlp/extractor/rcs.py
yt_dlp/extractor/rcti.py
yt_dlp/extractor/rds.py
+yt_dlp/extractor/redbee.py
yt_dlp/extractor/redbulltv.py
yt_dlp/extractor/reddit.py
yt_dlp/extractor/redgifs.py
@@ -679,7 +690,6 @@ yt_dlp/extractor/rokfin.py
yt_dlp/extractor/roosterteeth.py
yt_dlp/extractor/rottentomatoes.py
yt_dlp/extractor/rozhlas.py
-yt_dlp/extractor/rtbf.py
yt_dlp/extractor/rte.py
yt_dlp/extractor/rtl2.py
yt_dlp/extractor/rtlnl.py
@@ -718,6 +728,7 @@ yt_dlp/extractor/sexu.py
yt_dlp/extractor/seznamzpravy.py
yt_dlp/extractor/shahid.py
yt_dlp/extractor/shared.py
+yt_dlp/extractor/sharevideos.py
yt_dlp/extractor/shemaroome.py
yt_dlp/extractor/showroomlive.py
yt_dlp/extractor/simplecast.py
@@ -797,6 +808,8 @@ yt_dlp/extractor/telemundo.py
yt_dlp/extractor/telequebec.py
yt_dlp/extractor/teletask.py
yt_dlp/extractor/telewebion.py
+yt_dlp/extractor/tempo.py
+yt_dlp/extractor/tencent.py
yt_dlp/extractor/tennistv.py
yt_dlp/extractor/tenplay.py
yt_dlp/extractor/testurl.py
@@ -826,10 +839,12 @@ yt_dlp/extractor/toongoggles.py
yt_dlp/extractor/toutv.py
yt_dlp/extractor/toypics.py
yt_dlp/extractor/traileraddict.py
+yt_dlp/extractor/triller.py
yt_dlp/extractor/trilulilu.py
yt_dlp/extractor/trovo.py
yt_dlp/extractor/trueid.py
yt_dlp/extractor/trunews.py
+yt_dlp/extractor/truth.py
yt_dlp/extractor/trutv.py
yt_dlp/extractor/tube8.py
yt_dlp/extractor/tubetugraz.py
@@ -945,7 +960,6 @@ yt_dlp/extractor/webcaster.py
yt_dlp/extractor/webofstories.py
yt_dlp/extractor/weibo.py
yt_dlp/extractor/weiqitv.py
-yt_dlp/extractor/wetv.py
yt_dlp/extractor/whowatch.py
yt_dlp/extractor/wikimedia.py
yt_dlp/extractor/willow.py
diff --git a/pkg/yt-dlp/sha256 b/pkg/yt-dlp/sha256
@@ -1 +1 @@
-d2531dc0d17b78209ac21cbf4e228c5a41b5aca97b46a256c33574ed2176bff2 yt-dlp.tar.gz
+675ff266e9400c47bb4df947ab3e7d5e9d4c362abcadd2c61ba341e86590f1df yt-dlp.tar.gz
diff --git a/pkg/yt-dlp/url b/pkg/yt-dlp/url
@@ -1 +1 @@
-url = "https://github.com/yt-dlp/yt-dlp/releases/download/2022.07.18/yt-dlp.tar.gz"
+url = "https://github.com/yt-dlp/yt-dlp/releases/download/2022.09.01/yt-dlp.tar.gz"
diff --git a/pkg/yt-dlp/ver b/pkg/yt-dlp/ver
@@ -1 +1 @@
-2022.07.18 r0
+2022.09.01 r0