diff --git a/.gitignore b/.gitignore index 335ec95..33d4711 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ -*.tar.gz +/vapoursynth-R48.tar.gz +/vapoursynth-R51.tar.gz +/vapoursynth-R57.tar.gz +/vapoursynth-R58.tar.gz diff --git a/README.md b/README.md index 72346ec..3f4d9d0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # vapoursynth -The vapoursynth package. +The vapoursynth package \ No newline at end of file diff --git a/sources b/sources index ed325f7..1261430 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vapoursynth-R79.tar.gz) = 8e28a9ff72e5f0c891deeffd0ac0d38a654519910b2227414b8750c74a6198a6811d2271bd447b085a86b82665d38a5fe4fceb55b7537a13d72b2c87deba86fd +SHA512 (vapoursynth-R58.tar.gz) = 2a100a42445b3ca48ced3b146b6530d0c3c98b5b8bcb2bfb8e77f61b680d4a4dda2b0e8e4707cfd7209437d06191232ce263f35376fe3394ce2a8c82962d8078 diff --git a/vapoursynth-float16-native-check.patch b/vapoursynth-float16-native-check.patch deleted file mode 100644 index c6973be..0000000 --- a/vapoursynth-float16-native-check.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- vapoursynth-R79/src/core/float16_helper.h 2026-08-07 10:48:01.000000000 +0200 -+++ vapoursynth-R79/src/core/float16_helper.h 2026-08-10 11:44:16.851849594 +0200 -@@ -31,7 +31,10 @@ - // Without hardware support the compiler emits __truncsfhf2 / __extendhfsf2 - // soft-float builtins, which are not linked under clang-cl + lld-link -- so - // there we fall back to explicit bit manipulation instead. --#if (defined(__clang__) || defined(__GNUC__)) && (defined(__F16C__) || (!defined(__x86_64__) && !defined(__i386__))) -+// Not every non-x86 target has the type at all: PowerPC has no _Float16, and -+// the compiler rejects it outright. __FLT16_MANT_DIG__ is predefined only -+// where _Float16 is actually available, so test for that as well. -+#if (defined(__clang__) || defined(__GNUC__)) && defined(__FLT16_MANT_DIG__) && (defined(__F16C__) || (!defined(__x86_64__) && !defined(__i386__))) - # define VS_HAVE_NATIVE_FLOAT16 1 - #else - # define VS_HAVE_NATIVE_FLOAT16 0 diff --git a/vapoursynth-version-info.patch b/vapoursynth-version-info.patch new file mode 100644 index 0000000..03f0614 --- /dev/null +++ b/vapoursynth-version-info.patch @@ -0,0 +1,12 @@ +diff -Naur vapoursynth-R57.old/Makefile.am vapoursynth-R57/Makefile.am +--- vapoursynth-R57.old/Makefile.am 2022-03-02 08:35:44.861454145 +0100 ++++ vapoursynth-R57/Makefile.am 2022-03-02 08:36:52.981729877 +0100 +@@ -88,7 +88,7 @@ + + pkgconfig_DATA += pc/vapoursynth.pc + +-libvapoursynth_la_LDFLAGS = -no-undefined -avoid-version $(UNDEFINEDLDFLAGS) ++libvapoursynth_la_LDFLAGS = -no-undefined -version-info $(PACKAGE_VERSION) $(UNDEFINEDLDFLAGS) + libvapoursynth_la_CPPFLAGS = $(PTHREAD_CFLAGS) $(ZIMG_CFLAGS) -DVS_PATH_PLUGINDIR='"$(PLUGINDIR)"' + libvapoursynth_la_LIBADD = $(PTHREAD_LIBS) $(ZIMG_LIBS) $(DLOPENLIB) + diff --git a/vapoursynth-vsscript-soversion.patch b/vapoursynth-vsscript-soversion.patch deleted file mode 100644 index fe85e8a..0000000 --- a/vapoursynth-vsscript-soversion.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- vapoursynth-R79/meson.build 2026-08-07 10:48:01.000000000 +0200 -+++ vapoursynth-R79/meson.build 2026-08-10 10:52:07.764950878 +0200 -@@ -267,6 +267,7 @@ libvsscript = library('vsscript', - include_directories: incdir, - install: true, - install_dir: install_dir, -+ soversion: '0', - ) - - vsscript_dep = declare_dependency( diff --git a/vapoursynth.spec b/vapoursynth.spec index 16f7407..20aa527 100644 --- a/vapoursynth.spec +++ b/vapoursynth.spec @@ -1,30 +1,30 @@ Name: vapoursynth -Version: 79 -Release: %autorelease +Version: 58 +Release: 4%{?dist} Summary: Video processing framework with simplicity in mind -License: LGPL-2.1-only +License: LGPLv2 URL: http://www.vapoursynth.com Source0: https://github.com/%{name}/%{name}/archive/R%{version}/%{name}-R%{version}.tar.gz -# Restore soversion that was dropped when libvapoursynth-script was renamed to libvsscript. -Patch0: %{name}-vsscript-soversion.patch -# Check for _Float16 instead of assuming that everything not x86 provides it. -Patch1: %{name}-float16-native-check.patch +Patch0: %{name}-version-info.patch +BuildRequires: make +BuildRequires: autoconf +BuildRequires: automake BuildRequires: gcc-c++ -BuildRequires: meson -BuildRequires: ninja-build +BuildRequires: libtool +BuildRequires: nasm +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(tesseract) BuildRequires: pkgconfig(zimg) -BuildRequires: python3-devel -BuildRequires: python3-pytest +BuildRequires: python3 +BuildRequires: python3-Cython +BuildRequires: python3-setuptools -# Since R79 upstream installs the whole runtime -- the core library, the filter -# plugins, vspipe, the headers and the pkg-config file -- inside the Python -# package directory, and VSCore locates libvapoursynthfilters and the -# third-party plugin directory relative to libvapoursynth.so via dladdr(). -# The libraries, vspipe and the plugin directory therefore have to stay there; -# see %%install for the FHS entry points layered on top. -%global vsdir %{python3_sitearch}/%{name} +%{?_with_tests: +BuildRequires: %{name}-devel +BuildRequires: python3dist(pytest) +} %description VapourSynth is an application for video manipulation. Or a plugin. Or a library. @@ -43,7 +43,6 @@ VapourSynth's core library with a C++ API. %package -n python3-%{name} Summary: Python interface for VapourSynth -Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description -n python3-%{name} Python interface for VapourSynth/VSSCript. @@ -57,7 +56,6 @@ Development files for %{name}. %package tools Summary: Extra tools for VapourSynth -Requires: python3-vapoursynth%{?_isa} = %{version}-%{release} %description tools This package contains the vspipe tool for interfacing with VapourSynth. @@ -65,90 +63,133 @@ This package contains the vspipe tool for interfacing with VapourSynth. %prep %autosetup -p1 -n %{name}-R%{version} -%generate_buildrequires -%pyproject_buildrequires -R - %build -# CPython 3.15 gained a platform specific stable ABI suffix -# (.abi3-x86_64-linux-gnu.so) which meson-python 0.20 does not recognise as -# abi3, so it refuses to build the wheel. Nothing is gained from the limited -# API in a distribution build against a single Python version, so turn it off. -%pyproject_wheel -C setup-args=-Dpython.allow_limited_api=false +autoreconf -vif +%configure \ + --disable-static \ + --enable-x86-asm \ + --enable-core \ + --enable-vsscript \ + --enable-vspipe \ + --enable-python-module + +%make_build %install -%pyproject_install -%pyproject_save_files -l %{name} +%py3_install +%make_install +find %{buildroot} -type f -name "*.la" -delete -# Let RPM pick up docs in the files section. +# Create plugin directory +mkdir -p %{buildroot}%{_libdir}/%{name} + +# Let RPM pick up docs in the files section rm -fr %{buildroot}%{_docdir}/%{name} -# Third-party plugins are auto-loaded from next to the core library. -mkdir -p %{buildroot}%{vsdir}/plugins - -# Headers belong in the usual place. -mkdir -p %{buildroot}%{_includedir}/%{name} -mv %{buildroot}%{vsdir}/include/*.h %{buildroot}%{_includedir}/%{name}/ -rmdir %{buildroot}%{vsdir}/include - -# Upstream's vapoursynth.pc resolves everything relative to ${pcfiledir}, which -# no longer works once the file sits in %%{_libdir}/pkgconfig, and it ships no -# Libs: at all. Write it out instead. -rm -fr %{buildroot}%{vsdir}/pkgconfig -mkdir -p %{buildroot}%{_libdir}/pkgconfig -cat > %{buildroot}%{_libdir}/pkgconfig/%{name}.pc < - 58-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 58-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 58-2 +- Rebuilt for Python 3.11 + +* Wed May 25 2022 Simone Caronni - 58-1 +- Update to R58. + +* Thu Mar 10 2022 Sandro Mani - 57-2 +- Rebuild for tesseract 5.1.0 + +* Wed Mar 02 2022 Simone Caronni - 57-1 +- Update to R57. +- Plugins are now separate. + +* Sat Jan 22 2022 Fedora Release Engineering - 51-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Dec 19 2021 Sandro Mani - 51-6 +- Rebuild (tesseract) + +* Tue Dec 14 2021 Sandro Mani - 51-5 +- Rebuild (tesseract) + +* Fri Jul 23 2021 Fedora Release Engineering - 51-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri Jun 04 2021 Python Maint - 51-3 +- Rebuilt for Python 3.10 + +* Tue Mar 30 2021 Jonathan Wakely - 51-2 +- Rebuilt for removed libstdc++ symbol (#1937698) + +* Tue Mar 23 2021 Simone Caronni - 51-1 +- Update to R51. +- Allow building for other archs beside x86. + +* Wed Jan 27 2021 Fedora Release Engineering - 48-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Oct 17 2020 Jeff Law - 48-10 +- Fix missing #include for gcc-11 + +* Wed Jul 29 2020 Fedora Release Engineering - 48-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro HronĨok - 48-8 +- Rebuilt for Python 3.9 + +* Sat Mar 07 2020 Simone Caronni - 48-7 +- Fix broken dependency. + +* Sat Feb 29 2020 Simone Caronni - 48-6 +- Make it exclusive for i686/x86_64. +- Fix build on RHEL/CentOS 8. + +* Tue Feb 25 2020 Artem Polishchuk - 48-5 +- Add tests +- Cosmetic spec file improvements + +* 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.