Name: pywhispercpp Version: 1.7.6 Release: 1%{?dist} Summary: Python bindings for whisper.cpp with a simple Pythonic API License: MIT URL: https://github.com/absadiki/pywhispercpp Source0: %{url}/archive/refs/heads/main.tar.gz#/pywhispercpp-%{version}.tar.gz # To bundle submodules since internet access is not allowed in Koji builds # You can fetch submodules manually before building: # git clone --recursive https://github.com/absadiki/pywhispercpp # tar czf pywhispercpp-%{version}.tar.gz pywhispercpp # and place it as Source0. BuildRequires: python3-devel BuildRequires: cmake BuildRequires: make BuildRequires: gcc-c++ BuildRequires: ffmpeg BuildRequires: pybind11-devel BuildRequires: python3-setuptools BuildRequires: python3-wheel # Optional: For GUI functionality BuildRequires: python3dist(PyQt5) # Runtime requirements Requires: python3dist(numpy) Requires: python3dist(soundfile) Requires: python3dist(tqdm) Requires: python3dist(requests) Requires: ffmpeg %global _description %{expand: PyWhisperCpp provides Python bindings for the Whisper.cpp speech recognition library. It offers a Pythonic API, a command-line tool (`pwcpp`), and a GUI interface (`pwcpp-gui`). It can run Whisper models locally, supporting CPU, CUDA, CoreML, Vulkan, and other backends.} %description %_description %package -n python3-%{name} Summary: %{summary} %{?python_provide:%python_provide python3-%{name}} %description -n python3-%{name} %_description %prep %autosetup -n %{name}-main -p1 # Ensure submodules (pybind11, whisper.cpp) exist if [ ! -d whisper.cpp ]; then echo "Missing whisper.cpp submodule! Please bundle it in Source0." exit 1 fi if [ ! -d pybind11 ]; then echo "Missing pybind11 submodule! Please bundle it in Source0." exit 1 fi %build %py3_build %install %py3_install # Install CLI tools manually if not done by setup.py mkdir -p %{buildroot}%{_bindir} for bin in pwcpp pwcpp-gui pwcpp-assistant; do if [ -f %{buildroot}%{python3_sitelib}/pywhispercpp/$bin ]; then install -m 0755 %{buildroot}%{python3_sitelib}/pywhispercpp/$bin %{buildroot}%{_bindir}/$bin fi done %check # basic import test %{__python3} -c "import pywhispercpp" %files -n python3-%{name} %doc README.md %license LICENSE %{python3_sitelib}/pywhispercpp* %{_bindir}/pwcpp* %{_bindir}/pwcpp-gui* %{_bindir}/pwcpp-assistant* %changelog * Thu Nov 13 2025 Your Name - 1.7.6-1 - Initial Fedora packaging for pywhispercpp