diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6c565b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/vapoursynth-R48.tar.gz diff --git a/sources b/sources new file mode 100644 index 0000000..2dd9c19 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (vapoursynth-R48.tar.gz) = 0d151dd384c97f103f8d96ea083909001e0b690af4362c64685c04efde874f4a8ff038b5149beb40688d6f9e0a4cc86d9618b6cc8a3066a270d81c2b6f1d068e diff --git a/vapoursynth-python38.patch b/vapoursynth-python38.patch new file mode 100644 index 0000000..94ba351 --- /dev/null +++ b/vapoursynth-python38.patch @@ -0,0 +1,46 @@ +From a53ed4dda74d61d4cb56842dc0c6e6e7c3870e11 Mon Sep 17 00:00:00 2001 +From: cantabile +Date: Sun, 26 Jan 2020 00:00:22 +0200 +Subject: [PATCH] Fix compilation with Python 3.8. + +Fixes https://github.com/vapoursynth/vapoursynth/issues/518. +--- + configure.ac | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1d1b05fc..7dcde996 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -234,7 +234,13 @@ AS_IF( + [ + AM_PATH_PYTHON([3]) + +- PKG_CHECK_MODULES([PYTHON3], [python-$PYTHON_VERSION]) ++ PKG_CHECK_MODULES([PYTHON3], ++ [python-$PYTHON_VERSION-embed], ++ [], ++ [ ++ PKG_CHECK_MODULES([PYTHON3], ++ [python-$PYTHON_VERSION]) ++ ]) + + AC_CONFIG_FILES([pc/vapoursynth-script.pc]) + ] +@@ -292,7 +298,15 @@ AS_IF( + + AS_IF( + [test -z "$PYTHON3_LIBS"], +- [PKG_CHECK_MODULES([PYTHON3], [python-$PYTHON_VERSION])] ++ [ ++ PKG_CHECK_MODULES([PYTHON3], ++ [python-$PYTHON_VERSION-embed], ++ [], ++ [ ++ PKG_CHECK_MODULES([PYTHON3], ++ [python-$PYTHON_VERSION]) ++ ]) ++ ] + ) + + AS_CASE( diff --git a/vapoursynth-version-info.patch b/vapoursynth-version-info.patch new file mode 100644 index 0000000..0ad2ed7 --- /dev/null +++ b/vapoursynth-version-info.patch @@ -0,0 +1,12 @@ +diff -U3 vapoursynth-R48.orig/Makefile.am vapoursynth-R48/Makefile.am +--- vapoursynth-R48.orig/Makefile.am 2019-10-25 09:16:07.000000000 +0300 ++++ vapoursynth-R48/Makefile.am 2019-12-01 01:28:57.161837465 +0300 +@@ -89,7 +89,7 @@ + + pkgconfig_DATA += pc/vapoursynth.pc + +-libvapoursynth_la_LDFLAGS = -no-undefined -avoid-version ++libvapoursynth_la_LDFLAGS = -no-undefined -version-info $(PACKAGE_VERSION) + libvapoursynth_la_CPPFLAGS = $(ZIMG_CFLAGS) -DVS_PATH_PLUGINDIR='"$(PLUGINDIR)"' + libvapoursynth_la_LIBADD = $(ZIMG_LIBS) $(DLOPENLIB) libexprfilter.la libvapoursynth_avx2.la + diff --git a/vapoursynth.spec b/vapoursynth.spec new file mode 100644 index 0000000..bbdda53 --- /dev/null +++ b/vapoursynth.spec @@ -0,0 +1,148 @@ +#global _with_ffmpeg 1 +#global _with_ImageMagick 1 + +Name: vapoursynth +Version: 48 +Release: 4%{?dist} +Summary: A 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}.tar.gz +Patch0: %{name}-version-info.patch +Patch1: https://github.com/vapoursynth/vapoursynth/commit/a53ed4dda74d61d4cb56842dc0c6e6e7c3870e11.patch#/%{name}-python38.patch + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: nasm +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(tesseract) +BuildRequires: pkgconfig(zimg) +BuildRequires: python3-Cython +BuildRequires: python3-setuptools + +%{?_with_ImageMagick: +BuildRequires: pkgconfig(Magick++) >= 7.0 +} + +%{?_with_ffmpeg: +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 python3-%{name} +Summary: Python interface for VapourSynth + +%description -n python3-%{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. + +%package plugins +Summary: VapourSynth plugins +Requires: libvapoursynth%{?_isa} = %{version}-%{release} + +%description plugins +VapourSynth plugins. + +%prep +%autosetup -p1 -n %{name}-R%{version} + +%build +autoreconf -vif +%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_ffmpeg:enable}%{!?_with_ffmpeg:disable}-subtext \ + --enable-vinverse \ + --enable-vivtc \ + +%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 python3-%{name} + +%files libs +%doc ChangeLog +%license COPYING.LGPLv2.1 ofl.txt +%dir %{_libdir}/%{name} +%{_libdir}/lib%{name}.so.* +%{_libdir}/lib%{name}-script.so.* + +%files -n python3-%{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 + +%files plugins +%{_libdir}/%{name}/lib*.so + +%changelog +* Thu Feb 20 2020 Simone Caronni - 48-4 +- More review fixes. +- Use upstream patch for Python 3.8. + +* Fri Feb 07 2020 Simone Caronni - 48-3 +- Review fixes. + +* Sun Jan 26 2020 Simone Caronni - 48-2 +- Move script library into main library package. +- Fix build with Python 3.8. + +* Thu Jan 16 2020 Simone Caronni - 48-1 +- First build.