%global pypi_name pywhispercpp #%global forgeurl https://github.com/absadiki/pywhispercpp %global _python_dist_allow_version_zero 0 Name: python-%{pypi_name} Version: 1.3.3 Release: 1%{?dist} Summary: Python bindings for whisper.cpp with a simple Pythonic API BuildArch: noarch #ExcludeArch: %{ix86} License: MIT URL: https://github.com/absadiki/pywhispercpp #%{forgeurl} Source0: %{pypi_source} # Architecture-specific due to C/C++ extensions BuildRequires: gcc BuildRequires: cmake BuildRequires: ninja-build BuildRequires: gcc-c++ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-wheel BuildRequires: python3-pip BuildRequires: auditwheel BuildRequires: chrpath # For building from source with whisper.cpp BuildRequires: git-core %global _description %{expand: pywhispercpp provides Python bindings for whisper.cpp with a simple Pythonic API on top of it. It allows you to use OpenAI's Whisper speech recognition model with the performance benefits of the C++ implementation. The package supports various acceleration backends including CUDA, CoreML, Vulkan, OpenBLAS, and OpenVINO.} %description %{_description} %package -n python3-%{pypi_name} Summary: %{summary} # ffmpeg is needed for transcribing files other than wav Recommends: ffmpeg %description -n python3-%{pypi_name} %{_description} #%package -n python3-%{pypi_name}+examples #Summary: Extra dependencies for %{name} examples #Requires: python3-%{pypi_name} = %{version}-%{release} #%description -n python3-%{pypi_name}+examples #This package installs extra dependencies needed to run the examples #included with pywhispercpp. %package -n python3-%{pypi_name}+gui Summary: GUI support for %{name} Requires: python3-%{pypi_name} = %{version}-%{release} Requires: python3-qt5 %description -n python3-%{pypi_name}+gui This package provides GUI support for pywhispercpp using PyQt5. It provides the pwcpp-gui command for a graphical interface. %prep %autosetup -p1 -n %{pypi_name}-%{version} %build export NO_REPAIR=1 export SETUPTOOLS_SCM_PRETEND_VERSION=%{version} %pyproject_wheel %install %pyproject_install %pyproject_save_files %{pypi_name} _pywhispercpp find %{buildroot}%{python3_sitearch} -type f \( -name "*.so" -o -name "*.so.*" \) -exec chrpath --delete {} \; || : mv %{buildroot}%{python3_sitearch}/libwhisper*.so* %{buildroot}%{_libdir}/ || : mv %{buildroot}%{python3_sitearch}/libggml*.so* %{buildroot}%{_libdir}/ || : rm -rf %{buildroot}%{_bindir}/pwcpp-assistant rm -rf %{buildroot}%{_bindir}/pwcpp-recording rm -rf %{buildroot}%{_bindir}/pwcpp-livestream %files -n python3-%{pypi_name} -f %{pyproject_files} %license LICENSE %doc README.md %{_bindir}/pwcpp* %{_libdir}/libwhisper*.so* %{_libdir}/libggml*.so* #%files -n python3-%{pypi_name}+examples # This is a metapackage, files are tracked via dependencies %files -n python3-%{pypi_name}+gui %{_bindir}/pwcpp-gui %changelog * Mon Nov 17 2025 Package Maintainer - 1.3.3-1 - Initial import