From: Jakub Bogusz Date: Thu, 29 Apr 2021 16:29:50 +0000 (+0200) Subject: - new X-Git-Tag: auto/th/uavs3d-1.1-1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=1fee94562700cde610d36dcaa287b18ab6c704ec;p=packages%2Fuavs3d.git - new - x86 patch to allow build with SSE on x86 (gcc defines _mm_extract_epi64 only on x86_64) --- 1fee94562700cde610d36dcaa287b18ab6c704ec 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 ++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 + 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