Compare commits
No commits in common. "rawhide" and "f44" have entirely different histories.
6 changed files with 54 additions and 100 deletions
|
|
@ -1,3 +1,6 @@
|
|||
# vapoursynth
|
||||
|
||||
The vapoursynth package.
|
||||
The vapoursynth package. The upstream project does not provide any versioning
|
||||
for the shared library, even with ABI changes. This package sets the library
|
||||
version to the upstream release version, to avoid having an unversioned shared
|
||||
object that might get updated by mistake.
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (vapoursynth-R79.tar.gz) = 8e28a9ff72e5f0c891deeffd0ac0d38a654519910b2227414b8750c74a6198a6811d2271bd447b085a86b82665d38a5fe4fceb55b7537a13d72b2c87deba86fd
|
||||
SHA512 (vapoursynth-R72.tar.gz) = 254f16efc27639c2b509eeaed43898592dcf6638e5396efd6f74e88e7cbb9f79ec6a6b92341b36026d0fdfa4441588b9773db547a405509b44f85290cf1bfd98
|
||||
|
|
|
|||
|
|
@ -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
|
||||
12
vapoursynth-version-info.patch
Normal file
12
vapoursynth-version-info.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
diff -Naur vapoursynth-R65.old/Makefile.am vapoursynth-R65/Makefile.am
|
||||
--- vapoursynth-R65.old/Makefile.am 2023-11-02 09:22:50.859928603 +0100
|
||||
+++ vapoursynth-R65/Makefile.am 2023-11-02 09:23:43.376805703 +0100
|
||||
@@ -89,7 +89,7 @@
|
||||
|
||||
pkgconfig_DATA += pc/vapoursynth.pc
|
||||
|
||||
-libvapoursynth_la_LDFLAGS = -no-undefined -avoid-version $(UNDEFINEDLDFLAGS)
|
||||
+libvapoursynth_la_LDFLAGS = -no-undefined -version-number 0:1 $(UNDEFINEDLDFLAGS)
|
||||
libvapoursynth_la_CPPFLAGS = $(PTHREAD_CFLAGS) $(ZIMG_CFLAGS) -DVS_PATH_PLUGINDIR='"$(PLUGINDIR)"' -DVS_CURRENT_RELEASE='$(VSCURRENTRELEASE)'
|
||||
libvapoursynth_la_LIBADD = $(PTHREAD_LIBS) $(ZIMG_LIBS) $(DLOPENLIB)
|
||||
|
||||
|
|
@ -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(
|
||||
113
vapoursynth.spec
113
vapoursynth.spec
|
|
@ -1,31 +1,24 @@
|
|||
Name: vapoursynth
|
||||
Version: 79
|
||||
Version: 72
|
||||
Release: %autorelease
|
||||
Summary: Video processing framework with simplicity in mind
|
||||
License: LGPL-2.1-only
|
||||
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(tesseract)
|
||||
BuildRequires: pkgconfig(zimg)
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-pytest
|
||||
|
||||
# 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}
|
||||
|
||||
%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
|
||||
|
|
@ -43,7 +36,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.
|
||||
|
|
@ -66,89 +58,60 @@ This package contains the vspipe tool for interfacing with VapourSynth.
|
|||
%autosetup -p1 -n %{name}-R%{version}
|
||||
|
||||
%generate_buildrequires
|
||||
%pyproject_buildrequires -R
|
||||
%pyproject_buildrequires
|
||||
|
||||
%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
|
||||
|
||||
# Make libraries available for Python linking
|
||||
ln -sf .libs build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%pyproject_save_files -l %{name}
|
||||
%make_install
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
# Let RPM pick up docs in the files section.
|
||||
%pyproject_install
|
||||
%pyproject_save_files %{name}
|
||||
|
||||
# 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 <<EOF
|
||||
prefix=%{_prefix}
|
||||
libdir=%{_libdir}
|
||||
includedir=%{_includedir}/%{name}
|
||||
|
||||
Name: vapoursynth
|
||||
Description: A frameserver for the 21st century
|
||||
Version: %{version}
|
||||
Cflags: -I\${includedir}
|
||||
Libs: -L\${libdir} -lvapoursynth
|
||||
EOF
|
||||
|
||||
# Make the libraries linkable and resolvable the normal way.
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
for lib in $(cd %{buildroot}%{vsdir} && ls libvapoursynth.so.* libvsscript.so.*); do
|
||||
ln -s %{vsdir}/${lib} %{buildroot}%{_libdir}/${lib}
|
||||
ln -s ${lib} %{buildroot}%{_libdir}/${lib%%.so.*}.so
|
||||
done
|
||||
|
||||
# The core library, its filter plugins and vspipe live inside the Python
|
||||
# package directory but are packaged in the -libs and -tools subpackages.
|
||||
sed -i -e '\#/%{name}/lib.*\.so#d' \
|
||||
-e '\#/%{name}/vspipe$#d' \
|
||||
-e '\#/%{name}/include#d' \
|
||||
-e '\#/%{name}/pkgconfig#d' \
|
||||
-e '\#^%%dir %{vsdir}$#d' \
|
||||
%{pyproject_files}
|
||||
|
||||
%check
|
||||
export LD_LIBRARY_PATH=build
|
||||
%pytest
|
||||
|
||||
%files libs
|
||||
%doc ChangeLog
|
||||
%license COPYING.LESSER
|
||||
%dir %{vsdir}
|
||||
%dir %{vsdir}/plugins
|
||||
%{vsdir}/lib%{name}.so.*
|
||||
%{vsdir}/lib%{name}filters*.so
|
||||
%{vsdir}/libvsscript.so.*
|
||||
%dir %{_libdir}/%{name}
|
||||
%{_libdir}/lib%{name}.so.*
|
||||
%{_libdir}/libvsscript.so.*
|
||||
%{_libdir}/lib%{name}-script.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/%{name}/
|
||||
%{_libdir}/lib%{name}.so
|
||||
%{_libdir}/libvsscript.so
|
||||
%{_libdir}/lib%{name}-script.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
%{_libdir}/pkgconfig/%{name}-script.pc
|
||||
|
||||
%files tools
|
||||
%{_bindir}/%{name}
|
||||
%{_bindir}/vspipe
|
||||
%{vsdir}/vspipe
|
||||
|
||||
%files -n python3-%{name} -f %{pyproject_files}
|
||||
%{python3_sitearch}/%{name}.so
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue