670726b
# enable asm implementations by default
670726b
%bcond_without asm
670726b
d34ec99
# enable .lz4 support by default
d34ec99
%bcond_without lz4
d34ec99
d34ec99
# enable .xz/.lzma support by default
d34ec99
%bcond_without lzma
d34ec99
d34ec99
# enable .gz support by default
d34ec99
%bcond_without zlib
d34ec99
cabed16
# enable pzstd support by default
9f8104b
%bcond_without pzstd
4171324
ccc3322
Name:           zstd
670726b
Version:        1.5.2
92d17ea
Release:        4%{?dist}
ccc3322
Summary:        Zstd compression library
ccc3322
2b6f4ac
License:        BSD and GPLv2
ccc3322
URL:            https://github.com/facebook/zstd
ccc3322
Source0:        https://github.com/facebook/zstd/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
ccc3322
3b98714
Patch1:         pzstd.1.patch
43bd23e
Patch2:         enable-CET.patch
ccc3322
9ea2179
BuildRequires:  make
3b98714
BuildRequires:  gcc gtest-devel
d34ec99
%if %{with lz4}
d34ec99
BuildRequires:  lz4-devel
d34ec99
%endif
d34ec99
%if %{with lzma}
d34ec99
BuildRequires:  xz-devel
d34ec99
%endif
9f8104b
%if %{with pzstd}
c63638a
BuildRequires:  gcc-c++
c63638a
%endif
d34ec99
%if %{with zlib}
d34ec99
BuildRequires:  zlib-devel
d34ec99
%endif
9ea2179
BuildRequires:  execstack
ccc3322
ccc3322
%description
ccc3322
Zstd, short for Zstandard, is a fast lossless compression algorithm,
ccc3322
targeting real-time compression scenarios at zlib-level compression ratio.
ccc3322
ccc3322
%package -n lib%{name}
ccc3322
Summary:        Zstd shared library
ccc3322
ccc3322
%description -n lib%{name}
ccc3322
Zstandard compression shared library.
ccc3322
ccc3322
%package -n lib%{name}-devel
ccc3322
Summary:        Header files for Zstd library
ccc3322
Requires:       lib%{name}%{?_isa} = %{version}-%{release}
ccc3322
0520d65
%package -n lib%{name}-static
0520d65
Summary:        Static variant of the Zstd library
0520d65
Requires:       lib%{name}-devel = %{version}-%{release}
0520d65
ccc3322
%description -n lib%{name}-devel
ccc3322
Header files for Zstd library.
ccc3322
0520d65
%description -n lib%{name}-static
0520d65
Static variant of the Zstd library.
ccc3322
ccc3322
%prep
ccc3322
%setup -q
ccc3322
find -name .gitignore -delete
9f8104b
%if %{with pzstd}
3b98714
%patch1 -p1
4171324
%endif
43bd23e
%patch2 -p1
ccc3322
ccc3322
%build
d373770
export CFLAGS="$RPM_OPT_FLAGS"
d373770
export LDFLAGS="$RPM_LD_FLAGS"
5358a3f
export PREFIX="%{_prefix}"
5358a3f
export LIBDIR="%{_libdir}"
9ea2179
%make_build -C lib lib-mt %{!?with_asm:ZSTD_NO_ASM=1}
9ea2179
%make_build -C programs %{!?with_asm:ZSTD_NO_ASM=1}
9f8104b
%if %{with pzstd}
acbbb2c
export CXXFLAGS="$RPM_OPT_FLAGS"
9ea2179
%make_build -C contrib/pzstd %{!?with_asm:ZSTD_NO_ASM=1}
4171324
%endif
ccc3322
ccc3322
%check
9ea2179
execstack lib/libzstd.so.1
9ea2179
d373770
export CFLAGS="$RPM_OPT_FLAGS"
d373770
export LDFLAGS="$RPM_LD_FLAGS"
d373770
make -C tests test-zstd
9f8104b
%if %{with pzstd}
acbbb2c
export CXXFLAGS="$RPM_OPT_FLAGS"
d373770
make -C contrib/pzstd test
4171324
%endif
ccc3322
ccc3322
%install
ccc3322
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
9f8104b
%if %{with pzstd}
5637076
install -D -m755 contrib/pzstd/pzstd %{buildroot}%{_bindir}/pzstd
5637076
install -D -m644 programs/%{name}.1 %{buildroot}%{_mandir}/man1/p%{name}.1
4171324
%endif
ccc3322
ccc3322
%files
77edf44
%doc CHANGELOG README.md
ccc3322
%{_bindir}/%{name}
9f8104b
%if %{with pzstd}
3b98714
%{_bindir}/p%{name}
4171324
%{_mandir}/man1/p%{name}.1*
4171324
%endif
e9628f1
%{_bindir}/%{name}mt
ccc3322
%{_bindir}/un%{name}
ccc3322
%{_bindir}/%{name}cat
77edf44
%{_bindir}/%{name}grep
77edf44
%{_bindir}/%{name}less
ccc3322
%{_mandir}/man1/%{name}.1*
ccc3322
%{_mandir}/man1/un%{name}.1*
ccc3322
%{_mandir}/man1/%{name}cat.1*
77edf44
%{_mandir}/man1/%{name}grep.1*
77edf44
%{_mandir}/man1/%{name}less.1*
f08fa73
%license COPYING LICENSE
ccc3322
ccc3322
%files -n lib%{name}
ccc3322
%{_libdir}/libzstd.so.*
f08fa73
%license COPYING LICENSE
ccc3322
ccc3322
%files -n lib%{name}-devel
ccc3322
%{_includedir}/zdict.h
ccc3322
%{_includedir}/zstd.h
5ec02f6
%{_includedir}/zstd_errors.h
ccc3322
%{_libdir}/pkgconfig/libzstd.pc
ccc3322
%{_libdir}/libzstd.so
ccc3322
0520d65
%files -n lib%{name}-static
0520d65
%{_libdir}/libzstd.a
0520d65
348e7e4
%ldconfig_scriptlets -n lib%{name}
ccc3322
ccc3322
%changelog
92d17ea
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-4
92d17ea
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
92d17ea
8151519
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.2-3
8151519
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
8151519
cabed16
* Thu May 19 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 1.5.2-2
cabed16
- ThreadPool segfault fixed so build pzst everywhere
cabed16
670726b
* Sat Jan 22 2022 Pádraig Brady <P@draigBrady.com> - 1.5.2-1
670726b
- Latest upstream
670726b
50c2ef6
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-7
50c2ef6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
50c2ef6
43bd23e
* Tue Jan 11 2022 Pádraig Brady <P@draigBrady.com> - 1.5.1-6
43bd23e
- Re-enable CET protections (#2039353)
43bd23e
d34ec99
* Fri Jan 07 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.5.1-5
d34ec99
- Enable gz, .xz/.lzma and .lz4 support
d34ec99
5358a3f
* Mon Jan 03 2022 Pádraig Brady <P@draigBrady.com> - 1.5.1-4
5358a3f
- Use correct prefix for pkgconfig.
5358a3f
c6408fa
* Wed Dec 29 2021 Pádraig Brady <P@draigBrady.com> - 1.5.1-3
c6408fa
- Avoid executable stack on i686 also.
c6408fa
1862b14
* Tue Dec 28 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.5.1-2
9ea2179
- Disable amd64 assembly on non-intel architectures (#2035802):
9ea2179
  this should avoid the issue where an executable stack is created.
9ea2179
c821aeb
* Wed Dec 22 2021 Pádraig Brady <P@draigBrady.com> - 1.5.1-1
c821aeb
- Latest upstream
c821aeb
e6303b5
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-2
e6303b5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
e6303b5
25f65bf
* Sun May 16 2021 Pádraig Brady <P@draigBrady.com> - 1.5.0-2
25f65bf
- Latest upstream
25f65bf
cac4d73
* Fri Mar 05 2021 Pádraig Brady <P@draigBrady.com> - 1.4.9-1
cac4d73
- Latest upstream
cac4d73
cee4dbf
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.7-2
cee4dbf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
cee4dbf
e9b032a
* Thu Dec 17 2020 Pádraig Brady <P@draigBrady.com> - 1.4.7-1
e9b032a
- Latest upstream
e9b032a
acbbb2c
* Wed Aug 26 2020 Jeff Law <law@redhat.com> - 1.4.5-6
acbbb2c
- Do not force C++11 mode
acbbb2c
bcc8861
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.5-5
bcc8861
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
bcc8861
2af7a22
* Sat Jul 11 2020 Igor Raits <ignatenkobrain@fedoraproject.org> - 1.4.5-4
2af7a22
- Build libzstd with multi-threading support
2af7a22
b2a12f1
* Mon May 25 2020 Pádraig Brady <P@draigBrady.com> - 1.4.5-3
a2c88d4
- Build shared library with correct compiler flags
a2c88d4
e90e281
* Fri May 22 2020 Pádraig Brady <P@draigBrady.com> - 1.4.5-1
e90e281
- Latest upstream
e90e281
0520d65
* Fri May 22 2020 Avi Kivity <avi@scylladb.com> - 1.4.4-3
0520d65
- Added static library subpackage
0520d65
f2d5eef
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.4-2
f2d5eef
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
f2d5eef
d49df7e
* Wed Jan 15 2020 Pádraig Brady <P@draigBrady.com> - 1.4.4-1
d49df7e
- Latest upstream
d49df7e
7075624
* Wed Jul 31 2019 Pádraig Brady <P@draigBrady.com> - 1.4.2-1
7075624
- Latest upstream
7075624
bd41fd0
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-2
bd41fd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
bd41fd0
67c4c7b
* Mon Apr 29 2019 Pádraig Brady <P@draigBrady.com> - 1.4.0-1
67c4c7b
- Latest upstream
67c4c7b
8d8cde0
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.8-2
8d8cde0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
8d8cde0
77edf44
* Mon Dec 31 2018 Pádraig Brady <P@draigBrady.com> - 1.3.8-1
77edf44
- Latest upstream
77edf44
aecbe7d
* Mon Oct 08 2018 Pádraig Brady <P@draigBrady.com> - 1.3.6-1
aecbe7d
- Latest upstream
aecbe7d
7d39c9e
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.5-2
7d39c9e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
7d39c9e
e74f648
* Mon Jul 02 2018 Pádraig Brady <P@draigBrady.com> - 1.3.5.1
e74f648
- Latest upstream
e74f648
2190800
* Wed Mar 28 2018 Pádraig Brady <P@draigBrady.com> - 1.3.4-1
2190800
- Latest upstream
2190800
a85f5cb
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-3
a85f5cb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
a85f5cb
348e7e4
* Fri Feb 02 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.3-2
348e7e4
- Switch to %%ldconfig_scriptlets
348e7e4
19327f4
* Thu Dec 21 2017 Pádraig Brady <P@draigBrady.com> - 1.3.3-1
19327f4
- Latest upstream
19327f4
299472f
* Fri Nov 10 2017 Pádraig Brady <P@draigBrady.com> - 1.3.2-1
299472f
- Latest upstream
299472f
c82a3a0
* Mon Aug 21 2017 Pádraig Brady <P@draigBrady.com> - 1.3.1-1
c82a3a0
- Latest upstream
c82a3a0
2c3bf7e
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-3
2c3bf7e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
2c3bf7e
434382b
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
434382b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
434382b
7bc59d9
* Sun Jul 16 2017 Pádraig Brady <P@draigBrady.com> - 1.3.0-1
7bc59d9
- Latest upstream
7bc59d9
e9628f1
* Mon May 08 2017 Pádraig Brady <P@draigBrady.com> - 1.2.0-1
e9628f1
- Latest upstream
e9628f1
94cc349
* Mon Mar 06 2017 Pádraig Brady <P@draigBrady.com> - 1.1.3-1
94cc349
- Latest upstream
94cc349
528feda
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-2
528feda
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
528feda
5ec02f6
* Wed Nov 02 2016 Pádraig Brady <pbrady@redhat.com> - 1.1.1-1
5ec02f6
- Latest upstream
5ec02f6
3b98714
* Thu Oct 6  2016 Pádraig Brady <pbrady@fb.com> 1.1.0-2
3b98714
- Add pzstd(1)
3b98714
ccc3322
* Thu Sep 29 2016 Pádraig Brady <pbrady@fb.com> 1.1.0-1
ccc3322
- New upstream release
ccc3322
- Remove examples and static lib
ccc3322
ccc3322
* Mon Sep 12 2016 Pádraig Brady <pbrady@fb.com> 1.0.0-2
ccc3322
- Adjust various upstream links
ccc3322
- Parameterize various items in spec file
ccc3322
ccc3322
* Mon Sep 5 2016 Pádraig Brady <pbrady@fb.com> 1.0.0-1
ccc3322
- Initial release