[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