#global _with_tests 1
#global _with_subtitles 1
#global _with_ImageMagick 1

%global api3 -API3
%global python3_pkgversion 3.11
%global __python3 %{_bindir}/python3.11

Name:       vapoursynth
Version:    56
Release:    1%{?dist}
Summary:    Video processing framework with simplicity in mind
License:    LGPLv2
URL:        http://www.vapoursynth.com

Source0:    https://github.com/%{name}/%{name}/archive/R%{version}/%{name}-R%{version}%{?api3}.tar.gz
Patch0:     %{name}-version-info.patch

BuildRequires:  make
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  gcc-c++
BuildRequires:  libtool
BuildRequires:  nasm
BuildRequires:  pkgconfig(tesseract)
BuildRequires:  pkgconfig(zimg)
BuildRequires:  python%{python3_pkgversion}-devel
BuildRequires:  python%{python3_pkgversion}-Cython
BuildRequires:  python%{python3_pkgversion}-setuptools

%{?_with_tests:
BuildRequires:  %{name}-devel
BuildRequires:  python%{python3_pkgversion}dist(pytest)
}

%{?_with_ImageMagick:
BuildRequires:  pkgconfig(Magick++) >= 7.0
}

%{?_with_subtitles:
BuildRequires:  pkgconfig(libass)
BuildRequires:  pkgconfig(libavcodec)
BuildRequires:  pkgconfig(libavformat)
BuildRequires:  pkgconfig(libavutil)
}

%description
VapourSynth is an application for video manipulation. Or a plugin. Or a library.
It’s hard to tell because it has a core library written in C++ and a Python
module to allow video scripts to be created.


%package        libs
Summary:        VapourSynth's core library with a C++ API
Obsoletes:      lib%{name} < %{version}-%{release}
Provides:       lib%{name} == %{version}-%{release}

%description    libs
VapourSynth's core library with a C++ API.


%package -n     python%{python3_pkgversion}-%{name}
Summary:        Python interface for VapourSynth

%description -n python%{python3_pkgversion}-%{name}
Python interface for VapourSynth/VSSCript.


%package        devel
Summary:        Development files for %{name}
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}

%description    devel
Development files for %{name}.


%package        tools
Summary:        Extra tools for VapourSynth

%description    tools
This package contains the vspipe tool for interfacing with VapourSynth.



%prep
%autosetup -p1 -n %{name}-R%{version}


%build
autoreconf -vif
export PYTHON=%{__python3}
%configure \
    --disable-static \
    --enable-x86-asm \
    --enable-core \
    --enable-vsscript \
    --enable-vspipe \
    --enable-python-module \
    --enable-eedi3 \
    --%{?_with_ImageMagick:enable}%{!?_with_ImageMagick:disable}-imwri \
    --enable-miscfilters \
    --enable-morpho \
    --enable-ocr \
    --enable-removegrain \
    --%{?_with_subtitles:enable}%{!?_with_subtitles:disable}-subtext \
    --enable-vinverse \
    --enable-vivtc \
    --with-cython=%{_bindir}/cython-3.11 \


%make_build


%install
%py3_install
%make_install
find %{buildroot} -type f -name "*.la" -delete

# Let RPM pick up docs in the files section
rm -fr %{buildroot}%{_docdir}/%{name}

%ldconfig_scriptlets libs
%ldconfig_scriptlets -n python%{python3_pkgversion}-%{name}


%{?_with_tests:
%check
%{__python} -m pytest -v
}


%files libs
%doc ChangeLog
%license COPYING.LESSER
%{_libdir}/lib%{name}.so.*
%{_libdir}/lib%{name}-script.so.*

%files -n python%{python3_pkgversion}-%{name}
%{python3_sitearch}/%{name}.so
%{python3_sitearch}/VapourSynth-*.egg-info

%files devel
%{_includedir}/%{name}/
%{_libdir}/lib%{name}.so
%{_libdir}/lib%{name}-script.so
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/pkgconfig/%{name}-script.pc

%files tools
%{_bindir}/vspipe



%changelog
* Tue Mar 23 2021 Simone Caronni <negativo17@gmail.com> - 51-1
- Update to R51.
- Allow building for other archs beside x86.

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 48-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Sat Oct 17 2020 Jeff Law <law@redhat.com> - 48-10
- Fix missing #include for gcc-11

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 48-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 48-8
- Rebuilt for Python 3.9

* Sat Mar 07 2020 Simone Caronni <negativo17@gmail.com> - 48-7
- Fix broken dependency.

* Sat Feb 29 2020 Simone Caronni <negativo17@gmail.com> - 48-6
- Make it exclusive for i686/x86_64.
- Fix build on RHEL/CentOS 8.

* Tue Feb 25 2020 Artem Polishchuk <ego.cordatus@gmail.com> - 48-5
- Add tests
- Cosmetic spec file improvements

* Thu Feb 20 2020 Simone Caronni <negativo17@gmail.com> - 48-4
- More review fixes.
- Use upstream patch for Python 3.8.

* Fri Feb 07 2020 Simone Caronni <negativo17@gmail.com> - 48-3
- Review fixes.

* Sun Jan 26 2020 Simone Caronni <negativo17@gmail.com> - 48-2
- Move script library into main library package.
- Fix build with Python 3.8.

* Thu Jan 16 2020 Simone Caronni <negativo17@gmail.com> - 48-1
- First build.
