Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
yt-dlp-ejs update
To:
ports <ports@openbsd.org>
Cc:
Lucas Raab <tuftedocelot@fastmail.fm>
Date:
Thu, 29 Jan 2026 17:55:16 +0000

Download raw body.

Thread
  • Stuart Henderson:

    yt-dlp-ejs update

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 <bsd.port.mk>
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",