Download raw body.
[new] www/py-yt-dlp-ejs / [update] www/yt-dlp
nit for COMMENT and an optional tweak to make EXTRACT_ONLY look nicer.
works for me, ok
--- Makefile- Tue Dec 16 10:41:12 2025
+++ Makefile Tue Dec 16 10:41:22 2025
@@ -1,4 +1,4 @@
-COMMENT = External JavaScript for yt-dlp supporting many runtimes
+COMMENT = external JavaScript for yt-dlp supporting many runtimes
MODPY_DISTV = 0.3.2
DISTNAME = yt_dlp_ejs-${MODPY_DISTV}
@@ -8,7 +8,7 @@ SITES.gh = https://github.com/yt-dlp/ejs/releases/down
DISTFILES.gh = ${DISTNAME}-{}yt.solver.core.min.js \
${DISTNAME}-{}yt.solver.lib.min.js
-EXTRACT_ONLY = ${DISTNAME}${EXTRACT_SUFX}
+EXTRACT_ONLY = ${DISTFILES}
CATEGORIES = www
On 2025/12/16 01:49, Lucas Raab wrote:
> On Wed, Dec 10, 2025 at 03:28:23AM +0000, Stuart Henderson wrote:
> > : SITES.gh = https://github.com/yt-dlp/ejs/releases/download/${MODPY_DISTV}/
> > : DISTFILES.gh = yt.solver.core.min.js yt.solver.lib.min.js
> >
> > those should get renamed to include the version in the filename, e.g.
> > this would do:
> >
> > DISTFILES.gh = ${DISTNAME}-{}yt.solver.core.min.js \
> > ${DISTNAME}-{}yt.solver.lib.min.js
> >
> > : post-extract:
> > : mkdir ${WRKSRC}/dist
> > : cp ${FULLDISTDIR}/*js ${WRKSRC}/dist/
> >
> > ..and those should use the full filename rather than all of
> > /usr/ports/distfiles/*js (but you'll need that anyway to cope
> > with the renamed files)
>
> Heh, yeah, I sent it off before fixing that up, thanks :)
>
> >
> > > > > > * None of the runtimes are in BUILD_DEPENDS as it's up to the user to choose
> > > > >
> > > > > err, I meant RUN_DEPENDS...
> > > > >
> > > > > > * The possibilities are mentioned in pkg/README (deno, node, quickjs)
> >
> > on amd64/aarch64 and considering it's the default upstream, I'd just
> > RDEP on deno..no point making it harder for users is there?
> >
> > for other archs they're going to need to use --js-runtimes anyway so
> > not bothering with the dep there seems sane.
>
> Fair point. I updated the Makefile and the README to include that info.
>
> >
> > > > > > * That being said, deno seems to be the fastest in my testing?
> > > > > > * The attached update to yt-dlp does include py-yt-dlp-ejs as a RUN_DEPENDS as
> > > > > > yt-dlp-ejs doesn't pull anything else in (bearing in mind the above caveat)
> > > > > > * A caveat if yt-dlp-ejs is in RUN_DEPENDS, future yt-dlp updates will
> > > > > > need to be kept in lockstep with yt-dlp-ejs versions.
> > > > > >
> > > > > > The patch is an ugly hack to get around whichever JS runtime from trying to
> > > > > > download packages and build the JS files themselves. Instead, I added a
> > > > > > post-extract step to manually create the dist dir and move the prebuilt JS
> > > > > > files to there. hatch seems happy enough after that to continue.
> > > > > >
> > > > > > Thoughts?
> > > > > >
> > > > > > Thanks,
> > > > > > Lucas
> > > >
> > > > ping, diff and port reattached
> > >
> > > updates for both py-yt-dlp-ejs and yt-dlp attached
> diff /usr/ports
> path + /usr/ports
> commit - 2bb5b539397f659932af7f4dd73c2cc9095ee417
> blob - 64d25b33ce5c0f70864fbadebfb612eec88017fe
> file + www/yt-dlp/Makefile
> --- www/yt-dlp/Makefile
> +++ www/yt-dlp/Makefile
> @@ -1,6 +1,6 @@
> COMMENT = CLI program to download videos from YouTube and other sites
>
> -VERSION = 2025.10.22
> +VERSION = 2025.12.08
> MODPY_DISTV = ${VERSION:S/.0/./g}
>
> DISTNAME = yt-dlp-${VERSION}
> @@ -27,7 +27,8 @@ RUN_DEPENDS = audio/py-mutagen \
> devel/py-certifi \
> graphics/ffmpeg \
> security/py-cryptodomex \
> - www/py-requests
> + www/py-requests \
> + www/py-yt-dlp-ejs
>
> TEST_DEPENDS += devel/flake8 \
> archivers/py-brotlicffi \
> commit - 2bb5b539397f659932af7f4dd73c2cc9095ee417
> blob - 4c1d567eda3237fe0d375bdd4eb3572b79b70787
> file + www/yt-dlp/distinfo
> --- www/yt-dlp/distinfo
> +++ www/yt-dlp/distinfo
> @@ -1,2 +1,2 @@
> -SHA256 (yt-dlp-2025.10.22.tar.gz) = jtKXEXLL4SlSWDQenwRSen8nV4U4znDvTJ66uolmqWk=
> -SIZE (yt-dlp-2025.10.22.tar.gz) = 6025669
> +SHA256 (yt-dlp-2025.12.08.tar.gz) = mBSufdQRioCmEEOZ1JhONV0qcfeOa7xIE3pbKZ7dy68=
> +SIZE (yt-dlp-2025.12.08.tar.gz) = 6159820
> commit - 2bb5b539397f659932af7f4dd73c2cc9095ee417
> blob - 044709dfdde2e26f683e0b543131da8bcc711021
> file + www/yt-dlp/patches/patch-pyproject_toml
> --- www/yt-dlp/patches/patch-pyproject_toml
> +++ www/yt-dlp/patches/patch-pyproject_toml
> @@ -1,7 +1,7 @@
> Index: pyproject.toml
> --- pyproject.toml.orig
> +++ pyproject.toml
> -@@ -127,7 +127,7 @@ artifacts = ["/yt_dlp/extractor/lazy_extractors.py"]
> +@@ -135,7 +135,7 @@ exclude = [
> "completions/zsh/_yt-dlp" = "share/zsh/site-functions/_yt-dlp"
> "completions/fish/yt-dlp.fish" = "share/fish/vendor_completions.d/yt-dlp.fish"
> "README.txt" = "share/doc/yt_dlp/README.txt"
> commit - 2bb5b539397f659932af7f4dd73c2cc9095ee417
> blob - b3cfa4e8adf838e97444ea474816a1b8b25cefeb
> file + www/yt-dlp/pkg/PLIST
> --- www/yt-dlp/pkg/PLIST
> +++ www/yt-dlp/pkg/PLIST
> @@ -178,12 +178,16 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}aeonco.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}afreecatv.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}afreecatv.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}agalega.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}agalega.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}agora.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}agora.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}airtv.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}airtv.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}aitube.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}aitube.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}alibaba.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}alibaba.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}aliexpress.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}aliexpress.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}aljazeera.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -318,6 +322,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}biobiochiletv.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}bitchute.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}bitchute.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}bitmovin.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}bitmovin.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}blackboardcollaborate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}blackboardcollaborate.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}bleacherreport.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -702,6 +708,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}freetv.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}frontendmasters.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}frontendmasters.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}frontro.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}frontro.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}fujitv.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}fujitv.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}funk.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -1154,6 +1162,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}musescore.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}musicdex.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}musicdex.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}mux.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}mux.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}mx3.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}mx3.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}mxplayer.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -1170,6 +1180,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}mzaalo.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}n1.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}n1.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nascar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nascar.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nate.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nate.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nationalgeographic.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -1192,6 +1204,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nerdcubed.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nest.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nest.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}netapp.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}netapp.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}neteasemusic.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}neteasemusic.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}netverse.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -1252,6 +1266,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nova.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}novaplay.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}novaplay.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nowcanal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nowcanal.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nowness.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}nowness.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}noz.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -2126,6 +2142,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yapfiles.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yappy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yappy.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yfanefa.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yfanefa.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yle_areena.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}yle_areena.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/${MODPY_PYCACHE}youjizz.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -2176,9 +2194,11 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/aenetworks.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/aeonco.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/afreecatv.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/agalega.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/agora.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/airtv.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/aitube.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/alibaba.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/aliexpress.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/aljazeera.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/allocine.py
> @@ -2246,6 +2266,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/bilibili.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/biobiochiletv.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/bitchute.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/bitmovin.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/blackboardcollaborate.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/bleacherreport.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/blerp.py
> @@ -2438,6 +2459,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/freespeech.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/freetv.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/frontendmasters.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/frontro.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/fujitv.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/funk.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/funker530.py
> @@ -2664,6 +2686,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/museai.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/musescore.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/musicdex.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/mux.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/mx3.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/mxplayer.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/myspace.py
> @@ -2672,6 +2695,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/myvidster.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/mzaalo.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/n1.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nascar.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nate.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nationalgeographic.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/naver.py
> @@ -2683,6 +2707,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nekohacker.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nerdcubed.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nest.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/netapp.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/neteasemusic.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/netverse.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/netzkino.py
> @@ -2713,6 +2738,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nosnl.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nova.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/novaplay.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nowcanal.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/nowness.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/noz.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/npo.py
> @@ -3150,6 +3176,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/yandexvideo.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/yapfiles.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/yappy.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/yfanefa.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/yle_areena.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youjizz.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youku.py
> @@ -3184,8 +3211,52 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/extrac
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/_search.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/_tab.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/_video.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/__init__.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}/
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}_director.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}_director.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}_registry.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}_registry.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}provider.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/${MODPY_PYCACHE}provider.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/__init__.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}/
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}bun.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}bun.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}deno.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}deno.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}ejs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}ejs.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}node.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}node.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}quickjs.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/${MODPY_PYCACHE}quickjs.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/bun.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/deno.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/ejs.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/node.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/quickjs.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/__init__.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/${MODPY_PYCACHE}/
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/${MODPY_PYCACHE}_info.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/${MODPY_PYCACHE}_info.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/_info.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.bun.lib.js
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.core.js
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_builtin/vendor/yt.solver.deno.lib.js
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_director.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/_registry.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/jsc/provider.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/pot/
> -lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/pot/README.md
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/pot/__init__.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/pot/${MODPY_PYCACHE}/
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/extractor/youtube/pot/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -3309,6 +3380,8 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_deprecated.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_deprecated.${MODPY_PYC_MAGIC_TAG}pyc
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_jsruntime.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_jsruntime.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_legacy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_legacy.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}_utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> @@ -3320,6 +3393,7 @@ lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}traversal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/${MODPY_PYCACHE}traversal.${MODPY_PYC_MAGIC_TAG}pyc
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/_deprecated.py
> +lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/_jsruntime.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/_legacy.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/_utils.py
> lib/python${MODPY_VERSION}/site-packages/yt_dlp/utils/jslib/
[new] www/py-yt-dlp-ejs / [update] www/yt-dlp