%global debug_package %{nil}
%global gituser yt-dlp
%global gitname ejs
%global foldername yt_dlp_ejs
Name: yt-dlp-ejs
Version: 0.3.1
Release: 4%{?dist}
Summary: External JavaScript for yt-dlp
License: Unlicense and MIT and ISC
URL: https://github.com/%{gituser}/%{gitname}
Source0: %{url}/releases/download/%{version}/%{foldername}-%{version}.tar.gz
BuildRequires: deno wget
Recommends: deno
BuildArch: noarch
%description
External JavaScript for yt-dlp supporting many runtimes. Deno is the safest option.
%prep
%autosetup -p1 -n %{foldername}-%{version}
%generate_buildrequires
%pyproject_buildrequires -r
%build
%pyproject_wheel
%install
%pyproject_install
%pyproject_save_files %{foldername}
%check
cp -rv %{buildroot}%{python3_sitelib}/. .
# compare JS files from GitHub
wget -q -O gh.core.min.js %{url}/releases/download/%{version}/yt.solver.core.min.js
CORE_SHA_GH=$(sha256sum -z gh.core.min.js | cut -d" " -f1)
wget -q -O gh.lib.min.js %{url}/releases/download/%{version}/yt.solver.lib.min.js
LIB_SHA_GH=$(sha256sum -z gh.lib.min.js | cut -d" " -f1)
JS_PATH=%{foldername}/yt/solver
CORE_SHA=$(sha256sum -z "$JS_PATH/core.min.js" | cut -d" " -f1)
LIB_SHA=$(sha256sum -z "$JS_PATH/lib.min.js" | cut -d" " -f1)
if [[ "$CORE_SHA_GH" != "$CORE_SHA" ]]; then echo "Error verifying core.min.js!"; exit 1; fi
if [[ "$LIB_SHA_GH" != "$LIB_SHA" ]]; then echo "Error verifying lib.min.js!"; exit 1; fi
cd test
export PYTHONPATH=$PYTHONPATH:..
%{python3} test_modules.py
%files -f %{pyproject_files}
%changelog
* Fri Nov 14 2025 samoht0 0.3.1
- verify JS files
* Fri Nov 07 2025 samoht0 0.3.1
- update 0.3.1
- fix modules test (hacky)
- history cleanup