+#
+# Conditional build:
+%bcond_without asm # disable assembler
+
Summary: Zstandard - fast lossless compression algorithm
Summary(pl.UTF-8): Zstandard - szybki, bezstratny algorytm kompresji
Name: zstd
-Version: 1.4.3
+Version: 1.5.6
Release: 1
License: BSD
Group: Libraries
#Source0Download: https://github.com/facebook/zstd/releases
Source0: https://github.com/facebook/zstd/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: dd73dd3b6e5efd8946e6c5e7fe7cb1d2
-Patch0: %{name}-noquiet.patch
+# Source0-md5: 2543d7cb3beda9ec48f965e5059dbd42
URL: https://github.com/facebook/zstd
BuildRequires: gcc >= 5:3.2
+BuildRequires: libstdc++-devel
+BuildRequires: lz4-devel
+BuildRequires: xz-devel
+BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%ifarch %{arm}
+%define archcflags -DMEM_FORCE_MEMORY_ACCESS=1
+%endif
+
%description
Zstd, short for Zstandard, is a fast lossless compression algorithm,
targeting real-time compression scenarios at zlib-level compression
%prep
%setup -q
-%patch0 -p1
%build
CC="%{__cc}" \
-CFLAGS="%{rpmcflags} %{rpmcppflags}" \
+CXX="%{__cxx}" \
+CFLAGS="%{rpmcflags} %{rpmcppflags} %{?archcflags}" \
+CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
LDFLAGS="%{rpmldflags}" \
-%{__make} -j1 all
+%{__make} allmost manual \
+ V=1 \
+ PREFIX=%{_prefix} \
+ LIBDIR=%{_libdir} \
+ %{!?with_asm:ZSTD_NO_ASM=1}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/%{_lib}
%{__make} install \
+ V=1 \
DESTDIR=$RPM_BUILD_ROOT \
PREFIX=%{_prefix} \
LIBDIR=%{_libdir}
+%{__mv} $RPM_BUILD_ROOT%{_libdir}/libzstd.so.* $RPM_BUILD_ROOT/%{_lib}
+ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libzstd.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libzstd.so
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/zstdgrep
%attr(755,root,root) %{_bindir}/zstdless
%attr(755,root,root) %{_bindir}/zstdmt
-%attr(755,root,root) %{_libdir}/libzstd.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libzstd.so.1
+%attr(755,root,root) /%{_lib}/libzstd.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libzstd.so.1
%{_mandir}/man1/unzstd.1*
%{_mandir}/man1/zstd.1*
%{_mandir}/man1/zstdcat.1*
%defattr(644,root,root,755)
%doc doc/{zstd_compression_format.md,zstd_manual.html,images}
%attr(755,root,root) %{_libdir}/libzstd.so
-%{_includedir}/zbuff.h
%{_includedir}/zdict.h
%{_includedir}/zstd.h
%{_includedir}/zstd_errors.h