From: Stuart Henderson Subject: yt-dlp-ejs update To: ports Cc: Lucas Raab Date: Thu, 29 Jan 2026 17:55:16 +0000 here's an update to yt-dlp-ejs. they've changed how the js is built and I didn't figure out how to work around that, so I've cheated a bit and sidestepped by fetching the Python wheel (not the sdist) from pypi, and skipped the build stage. working for me on one machine; i'm getting auth required on another one but i had recently tried fetching some things with the old yt-dlp version and i think it might be because of that (i just committed an update to yt-dlp). anyone want to test or do this differently? Index: Makefile =================================================================== RCS file: /cvs/ports/www/py-yt-dlp-ejs/Makefile,v diff -u -p -r1.2 Makefile --- Makefile 19 Dec 2025 07:04:33 -0000 1.2 +++ Makefile 29 Jan 2026 17:48:56 -0000 @@ -1,15 +1,10 @@ COMMENT = external JavaScript for yt-dlp supporting many runtimes -MODPY_DISTV = 0.3.2 -DISTNAME = yt_dlp_ejs-${MODPY_DISTV} -PKGNAME = py-${DISTNAME} -REVISION = 0 - -SITES.gh = https://github.com/yt-dlp/ejs/releases/download/${MODPY_DISTV}/ -DISTFILES.gh = ${DISTNAME}-{}yt.solver.core.min.js \ - ${DISTNAME}-{}yt.solver.lib.min.js - -EXTRACT_ONLY = ${DISTFILES} +MODPY_DISTV = 0.4.0 +DISTNAME = yt_dlp_ejs-0.4.0-py3-none-any +EXTRACT_SUFX = .whl +EXTRACT_ONLY = +PKGNAME = py-yt_dlp_ejs-${MODPY_DISTV} CATEGORIES = www @@ -18,19 +13,17 @@ CATEGORIES = www PERMIT_PACKAGE = Yes MODULES = lang/python - -MODPY_PYBUILD = hatch-vcs -MODPY_PI = Yes +MODPY_PYBUILD = other +SITES = https://files.pythonhosted.org/packages/py3/y/yt-dlp-ejs/ .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "aarch64" RUN_DEPENDS = lang/deno .endif -post-extract: - mkdir ${WRKSRC}/dist - cp ${FULLDISTDIR}/${DISTNAME}-yt.solver.core.min.js \ - ${WRKSRC}/dist/yt.solver.core.min.js - cp ${FULLDISTDIR}/${DISTNAME}-yt.solver.lib.min.js \ - ${WRKSRC}/dist/yt.solver.lib.min.js +do-extract: + mkdir -p ${WRKSRC}/dist + cp ${FULLDISTDIR}/${DISTFILES} ${WRKSRC}/dist + +do-build: .include Index: distinfo =================================================================== RCS file: /cvs/ports/www/py-yt-dlp-ejs/distinfo,v diff -u -p -r1.1.1.1 distinfo --- distinfo 17 Dec 2025 01:37:48 -0000 1.1.1.1 +++ distinfo 29 Jan 2026 17:48:56 -0000 @@ -1,6 +1,2 @@ -SHA256 (yt_dlp_ejs-0.3.2-yt.solver.core.min.js) = jSjukG/QrPB6p6SCE144tu5wY5LUbNSrC1FQPUzBjxg= -SHA256 (yt_dlp_ejs-0.3.2-yt.solver.lib.min.js) = xVmH/ml+W57hiDAWP3r4Uyfpu1w+Z0uWnTjI0gXqpXc= -SHA256 (yt_dlp_ejs-0.3.2.tar.gz) = MaQSknmZkr3JE+A8n6wqjJDIKly7x5Ky4zc7AdqEHj4= -SIZE (yt_dlp_ejs-0.3.2-yt.solver.core.min.js) = 8535 -SIZE (yt_dlp_ejs-0.3.2-yt.solver.lib.min.js) = 151561 -SIZE (yt_dlp_ejs-0.3.2.tar.gz) = 34678 +SHA256 (yt_dlp_ejs-0.4.0-py3-none-any.whl) = GSeM/zl7JDB030Y0K7dhbEBClq6v8BmGtitOIYI7C5w= +SIZE (yt_dlp_ejs-0.4.0-py3-none-any.whl) = 53600 Index: patches/patch-pnpm_py =================================================================== RCS file: patches/patch-pnpm_py diff -N patches/patch-pnpm_py --- patches/patch-pnpm_py 17 Dec 2025 01:37:48 -0000 1.1.1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -Index: pnpm.py ---- pnpm.py.orig -+++ pnpm.py -@@ -13,17 +13,6 @@ except ImportError: - - class CustomBuildHook(BuildHookInterface): - def initialize(self, version, build_data): -- name, pnpm = build_pnpm() -- if pnpm is None: -- raise RuntimeError( -- "One of 'deno', 'bun', or 'npm' could not be found. " -- "Please install one of them to proceed with the build." -- ) -- print(f"Building with {name}...") -- -- pnpm(["install", "--frozen-lockfile"]) -- pnpm(["run", "bundle"]) -- - build_data["force_include"].update( - { - "dist/yt.solver.core.min.js": "yt_dlp_ejs/yt/solver/core.min.js",