commit 1fee94562700cde610d36dcaa287b18ab6c704ec
Author: Jakub Bogusz <[email protected]>
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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to