[packages/vapoursynth] - new - added genericarch patch to allow build without SIMD (else at least SSE2 is required on x86)
qboosh
qboosh at pld-linux.org
Sat Jul 22 08:10:39 CEST 2017
commit 4aa154398017d678fb97a835983132e6a5f84b0a
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Jul 22 08:12:19 2017 +0200
- new
- added genericarch patch to allow build without SIMD (else at least SSE2 is required on x86)
vapoursynth-genericarch.patch | 33 ++++++
vapoursynth.spec | 230 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 263 insertions(+)
---
diff --git a/vapoursynth.spec b/vapoursynth.spec
new file mode 100644
index 0000000..31deb00
--- /dev/null
+++ b/vapoursynth.spec
@@ -0,0 +1,230 @@
+#
+# Conditional build:
+%bcond_without doc # documentation
+%bcond_without ffmpeg # subtext plugin (libass+ffmpeg based)
+%bcond_with sse # use SSE/SSE2 instructions on x86 (no runtime detection)
+%bcond_without static_libs # static libraries
+#
+%ifarch pentium4 %{x8664} x32
+%define with_sse 1
+%endif
+Summary: A video processing framework with simplicity in mind
+Summary(pl.UTF-8): Szkielet do przetwarzania obrazu stworzony z myślą o prostocie
+Name: vapoursynth
+Version: 38
+Release: 1
+License: LGPL v2.1+
+Group: Libraries
+#Source0Download: https://github.com/vapoursynth/vapoursynth/releases
+Source0: https://github.com/vapoursynth/vapoursynth/archive/R%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 78d0183f0afd3702f3edc176b2491f5d
+Patch0: %{name}-genericarch.patch
+URL: http://www.vapoursynth.com/
+BuildRequires: ImageMagick-c++-devel >= 1:7
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.11
+# libavcodec libavformat libavutil
+%{?with_ffmpeg:BuildRequires: ffmpeg-devel}
+%{?with_ffmpeg:BuildRequires: libass-devel}
+BuildRequires: libstdc++-devel >= 6:4.8
+BuildRequires: libtool >= 2:2
+BuildRequires: pkgconfig
+BuildRequires: python3-Cython
+BuildRequires: python3-devel >= 1:3.2
+BuildRequires: sed >= 4.0
+%{?with_doc:BuildRequires: sphinx-pdg}
+BuildRequires: tesseract-devel >= 3
+%if %{with sse}
+BuildRequires: yasm
+%endif
+BuildRequires: zimg-devel >= 2.5
+%if %{with sse}
+Requires: cpuinfo(sse2)
+%endif
+Requires: python3-libs >= 1:3.2
+Requires: zimg >= 2.5
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+# non-function std::__once_call, std::__once_callable symbols
+%define skip_post_check_so libvapoursynth-script.so.*
+
+%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.
+
+%description -l pl.UTF-8
+VapourSynth to aplikacja do obróbki obrazu. Albo wtyczka. Albo
+biblioteka. Trudno stwierdzić, ponieważ ma główną bibliotekę napisaną
+w C++ oraz moduł Pythona pozwalający na tworzenie skryptów do obrazu.
+
+%package plugin-imwri
+Summary: Image reader/writer plugin for VapourSynth
+Summary(pl.UTF-8): Wtyczka VapourSynth odczytująca i zapisują obrazy
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-imwri
+Image reader/writer plugin for VapourSynth.
+
+%description plugin-imwri -l pl.UTF-8
+Wtyczka VapourSynth odczytująca i zapisują obrazy.
+
+%package plugin-ocr
+Summary: OCR plugin for VapourSynth
+Summary(pl.UTF-8): Wtyczka OCR dla VapourSyntha
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-ocr
+OCR plugin for VapourSynth.
+
+%description plugin-ocr -l pl.UTF-8
+Wtyczka OCR dla VapourSyntha.
+
+%package plugin-subtext
+Summary: Subtitle rendering plugin for VapourSynth
+Summary(pl.UTF-8): Wtyczka VapourSynth nanosząca podpisy
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description plugin-subtext
+Subtitle rendering plugin for VapourSynth.
+
+%description plugin-subtext -l pl.UTF-8
+Wtyczka VapourSynth nanosząca podpisy.
+
+%package devel
+Summary: Header files for VapourSynth libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek VapourSynth
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: python3-devel >= 1:3.2
+Requires: zimg-devel >= 2.5
+
+%description devel
+Header files for VapourSynth libraries.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek VapourSynth.
+
+%package static
+Summary: Static VapourSynth libraries
+Summary(pl.UTF-8): Statyczne biblioteki VapourSynth
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description static
+Static VapourSynth libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki VapourSynth.
+
+%package doc
+Summary: Documentation for VapourSynth library
+Summary(pl.UTF-8): Dokumentacja do biblioteki VapourSynth
+Group: Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
+
+%description doc
+Documentation for VapourSynth library.
+
+%description doc -l pl.UTF-8
+Dokumentacja do biblioteki VapourSynth.
+
+%prep
+%setup -q -n %{name}-R%{version}
+%patch0 -p1
+
+%if %{without sse}
+%{__sed} -i -e 's/"-mfpmath=sse -msse2"/""/' configure.ac
+%endif
+
+%build
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
+%{__automake}
+%configure \
+ --disable-silent-rules \
+ %{!?with_ffmpeg:--disable-subtext} \
+ %{!?with_static_libs:--disable-static} \
+ %{!?with_sse:--disable-x86-asm}
+%{__make}
+
+%if %{with doc}
+%{__make} -C doc html
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%{__rm} $RPM_BUILD_ROOT%{py3_sitedir}/vapoursynth.la
+# obsoleted by pkg-config
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libvapoursynth*.la
+# dlopened modules
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/vapoursynth/*.la
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc ChangeLog ofl.txt
+%attr(755,root,root) %{_bindir}/vspipe
+%attr(755,root,root) %{_libdir}/libvapoursynth.so
+%attr(755,root,root) %{_libdir}/libvapoursynth-script.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libvapoursynth-script.so.0
+%attr(755,root,root) %{py3_sitedir}/vapoursynth.so
+%dir %{_libdir}/vapoursynth
+%attr(755,root,root) %{_libdir}/vapoursynth/libeedi3.so
+%attr(755,root,root) %{_libdir}/vapoursynth/libmiscfilters.so
+%attr(755,root,root) %{_libdir}/vapoursynth/libmorpho.so
+%attr(755,root,root) %{_libdir}/vapoursynth/libremovegrain.so
+%attr(755,root,root) %{_libdir}/vapoursynth/libvinverse.so
+%attr(755,root,root) %{_libdir}/vapoursynth/libvivtc.so
+
+%files plugin-imwri
+%defattr(644,root,root,755)
+# R: ImageMagick-c++ >= 1:7
+%attr(755,root,root) %{_libdir}/vapoursynth/libimwri.so
+
+%files plugin-ocr
+%defattr(644,root,root,755)
+# R: tesseract
+%attr(755,root,root) %{_libdir}/vapoursynth/libocr.so
+
+%if %{with ffmpeg}
+%files plugin-subtext
+%defattr(644,root,root,755)
+# R: libass ffmpeg
+%attr(755,root,root) %{_libdir}/vapoursynth/libsubtext.so
+%endif
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvapoursynth-script.so
+%{_includedir}/vapoursynth
+%{_pkgconfigdir}/vapoursynth.pc
+%{_pkgconfigdir}/vapoursynth-script.pc
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libvapoursynth.a
+%{_libdir}/libvapoursynth-script.a
+%endif
+
+%if %{with doc}
+%files doc
+%defattr(644,root,root,755)
+%doc doc/_build/html/{_static,api,functions,plugins,*.html,*.js}
+%endif
diff --git a/vapoursynth-genericarch.patch b/vapoursynth-genericarch.patch
new file mode 100644
index 0000000..c2b5973
--- /dev/null
+++ b/vapoursynth-genericarch.patch
@@ -0,0 +1,33 @@
+--- vapoursynth-R38/src/core/cpufeatures.c.orig 2017-05-29 13:09:06.000000000 +0200
++++ vapoursynth-R38/src/core/cpufeatures.c 2017-07-21 21:43:00.895082739 +0200
+@@ -61,6 +61,7 @@ void getCPUFeatures(CPUFeatures *cpuFeat
+ }
+ }
+ #elif defined(VS_TARGET_OS_LINUX)
++#if defined(VS_TARGET_CPU_ARM) || defined(VS_TARGET_CPU_POWERPC)
+ #include <sys/auxv.h>
+
+ void getCPUFeatures(CPUFeatures *cpuFeatures) {
+@@ -89,5 +90,11 @@ void getCPUFeatures(CPUFeatures *cpuFeat
+ #endif
+ }
+ #else
++void getCPUFeatures(CPUFeatures *cpuFeatures) {
++ memset(cpuFeatures, 0, sizeof(CPUFeatures));
++ cpuFeatures->can_run_vs = 1;
++}
++#endif
++#else
+ #error Do not know how to get CPU features.
+ #endif
+--- vapoursynth-R38/src/core/cpufeatures.h.orig 2017-05-29 13:09:06.000000000 +0200
++++ vapoursynth-R38/src/core/cpufeatures.h 2017-07-21 21:41:25.271750498 +0200
+@@ -51,8 +51,6 @@ typedef struct CPUFeatures {
+ char efp_double;
+ char dfp;
+ char vsx;
+-#else
+-#error No VS_TARGET_CPU_* defined/handled!
+ #endif
+ } CPUFeatures;
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vapoursynth.git/commitdiff/4aa154398017d678fb97a835983132e6a5f84b0a
More information about the pld-cvs-commit
mailing list