%global abi 1 Name: libavio Version: 2.1.8 Release: 1%{?dist} Summary: Media stream processing library License: Apache-2.0 URL: https://github.com/sr99622/libavio Source0: %{pypi_source avio %version} # patch to fix debuginfo, use system pybind11 and get verbose cmake output Patch0: %{name}-fedora.patch BuildRequires: cmake BuildRequires: dos2unix BuildRequires: gcc-c++ BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavformat) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libswresample) BuildRequires: pkgconfig(libswscale) BuildRequires: SDL2-devel %global _description %{expand: Python module for processing media streams using FFmpeg libraries.} %description %{_description} This package contains the shared library. %package -n python3-avio Summary: %{summary} BuildRequires: python3-devel BuildRequires: python3-pybind11 Requires: libavio%{_isa} = %{version}-%{release} %description -n python3-avio %{_description} This package contains the Python module. %package devel Summary: %{summary} Requires: libavio%{_isa} = %{version}-%{release} %description devel %{_description} This package contains the development files. %prep %autosetup -p1 -n avio-%{version} rm -rv pybind11 dos2unix -k README.md %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install rm -v %{buildroot}%{python3_sitearch}/avio/libavio.so mv -v %{buildroot}{%{python3_sitearch}/avio,%{_libdir}}/libavio.so.%{abi} ln -s libavio.so.%{abi} %{buildroot}%{_libdir}/libavio.so %pyproject_save_files avio sed -i -e '\|%{python3_sitearch}/avio/libavio.so|d' %{pyproject_files} sed -i -e '\|avio\.\(lib\)\?avio|d' %{_pyproject_modules} install -dm755 %{buildroot}%{_includedir}/avio install -pm644 include/* %{buildroot}%{_includedir}/avio/ %check export LD_LIBRARY_PATH=%{buildroot}%{_libdir} %pyproject_check_import %files -n python3-avio -f %{pyproject_files} %files %license LICENSE %doc README.md %{_libdir}/libavio.so.%{abi} %files devel %{_includedir}/avio/ %{_libdir}/libavio.so %changelog * Fri Jul 21 2023 Dominik Mierzejewski 2.1.8-1 - initial build - unbundle pybind11 - build shared library and link Python module with it