[packages/uavs3d] - new - x86 patch to allow build with SSE on x86 (gcc defines _mm_extract_epi64 only on x86_64)
qboosh
qboosh at pld-linux.org
Thu Apr 29 18:28:01 CEST 2021
commit 1fee94562700cde610d36dcaa287b18ab6c704ec
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Thu Apr 29 18:29:50 2021 +0200
- new
- x86 patch to allow build with SSE on x86 (gcc defines _mm_extract_epi64 only on x86_64)
uavs3d-x86.patch | 24 +++++++++++++++++++
uavs3d.spec | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 95 insertions(+)
---
diff --git a/uavs3d.spec b/uavs3d.spec
new file mode 100644
index 0000000..d4a3ee4
--- /dev/null
+++ b/uavs3d.spec
@@ -0,0 +1,71 @@
+Summary: AVS3 decoder library
+Summary(pl.UTF-8): Biblioteka dekodera AVS3
+Name: uavs3d
+Version: 1.1
+Release: 1
+License: BSD
+Group: Libraries
+#Source0Download: https://github.com/uavs3/uavs3d/releases
+Source0: https://github.com/uavs3/uavs3d/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: a22d9d4f1da4d1e2d0b19a25754505c3
+Patch0: %{name}-x86.patch
+URL: https://github.com/uavs3/uavs3d
+BuildRequires: cmake >= 2.8
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: sed >= 4.0
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+uavs3d is an opensource and cross-platform AVS3 decoder, supports
+AVS3-P2 baseline profile.
+
+%description -l pl.UTF-8
+uavs3d to mający otwarte źródła, wieloplatformowy dekoder AVS3,
+obsługujący profil AVS3-P2.
+
+%package devel
+Summary: Header files for uavs3d library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki uavs3d
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description devel
+Header files for uavs3d library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki uavs3d.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%{__sed} -i -e '/libdir/ s/"lib"/"%{_lib}"/' source/CMakeLists.txt
+
+%build
+install -d builddir
+cd builddir
+%cmake ..
+
+%{__make}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} -C builddir install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc COPYING README.md
+%attr(755,root,root) %{_libdir}/libuavs3d.so
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/uavs3d.h
+%{_pkgconfigdir}/uavs3d.pc
diff --git a/uavs3d-x86.patch b/uavs3d-x86.patch
new file mode 100644
index 0000000..a4d4843
--- /dev/null
+++ b/uavs3d-x86.patch
@@ -0,0 +1,24 @@
+--- uavs3d-1.1/source/decore/sse/sse.h.orig 2020-07-04 06:13:58.000000000 +0200
++++ uavs3d-1.1/source/decore/sse/sse.h 2021-04-29 06:35:05.881365090 +0200
+@@ -45,11 +45,17 @@
+
+ #include "modules.h"
+
+-#ifdef _WIN32
++#if (defined(_WIN32) && !defined(_WIN64)) || defined(__i386__)
+
+-#ifndef _WIN64
+-#define _mm_extract_epi64(a, i) (a.m128i_i64[i])
+-#endif
++#include <stdint.h>
++static inline int64_t _mm_extract_epi64(__m128i a, const int imm8) {
++ return imm8 ? ((int64_t)_mm_extract_epi16(a, 7) << 48) |
++ ((int64_t)_mm_extract_epi16(a, 6) << 32) |
++ (_mm_extract_epi16(a, 5) << 16) | _mm_extract_epi16(a, 4)
++ : ((int64_t)_mm_extract_epi16(a, 3) << 48) |
++ ((int64_t)_mm_extract_epi16(a, 2) << 32) |
++ (_mm_extract_epi16(a, 1) << 16) | _mm_extract_epi16(a, 0);
++}
+
+ #endif
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/uavs3d.git/commitdiff/1fee94562700cde610d36dcaa287b18ab6c704ec
More information about the pld-cvs-commit
mailing list