## START: Set by rpmautospec ## (rpmautospec version 0.6.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 7; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %bcond_with mingw Name: libdeflate Version: 1.20 Release: %autorelease Summary: Fast implementation of DEFLATE, gzip, and zlib # SPDX License: MIT URL: https://github.com/ebiggers/libdeflate Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz # lib/x86: increase AVX-VNNI gcc prerequisite to 12.1 # # Although gcc 11.1 supports AVX-VNNI, a popular distro pairs it with a # binutils version that does not. Require gcc 12 instead. # https://github.com/ebiggers/libdeflate/pull/366 # # Fixes: # # VNNI support seems to require something later than GCC 11.1 # https://github.com/ebiggers/libdeflate/issues/365 Patch: %{url}/pull/366.patch # Add a library version to the mingw dll Patch: libdeflate-mingw-libver.patch BuildRequires: gcc BuildRequires: cmake # For tests BuildRequires: zlib-devel %if %{with mingw} BuildRequires: mingw32-filesystem BuildRequires: mingw32-gcc BuildRequires: mingw32-zlib BuildRequires: mingw64-filesystem BuildRequires: mingw64-gcc BuildRequires: mingw64-zlib %endif %description libdeflate is a library for fast, whole-buffer DEFLATE-based compression and decompression, supporting DEFLATE, gzip, and zlib. %package devel Summary: Development files for libdeflate Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Development files for libdeflate. %package utils Summary: Binaries from libdeflate Requires: %{name}%{?_isa} = %{version}-%{release} %description utils Binaries from libdeflate. %if %{with mingw} %package -n mingw32-%{name} Summary: MinGW Windows %{name} library BuildArch: noarch %description -n mingw32-%{name} MinGW Windows %{name} library. %package -n mingw32-%{name}-utils Summary: MinGW Windows %{name} binaries BuildArch: noarch %description -n mingw32-%{name}-utils MinGW Windows %{name} binaries. %package -n mingw64-%{name} Summary: MinGW Windows %{name} library BuildArch: noarch %description -n mingw64-%{name} MinGW Windows %{name} library. %package -n mingw64-%{name}-utils Summary: MinGW Windows %{name} binaries BuildArch: noarch %description -n mingw64-%{name}-utils MinGW Windows %{name} binaries. %{?mingw_debug_package} %endif %prep %autosetup -p1 %build cmake_opts="\ -DLIBDEFLATE_BUILD_STATIC_LIB:BOOL=OFF \ -DLIBDEFLATE_BUILD_SHARED_LIB:BOOL=ON \ -DLIBDEFLATE_COMPRESSION_SUPPORT:BOOL=ON \ -DLIBDEFLATE_DECOMPRESSION_SUPPORT:BOOL=ON \ -DLIBDEFLATE_ZLIB_SUPPORT:BOOL=ON \ -DLIBDEFLATE_GZIP_SUPPORT:BOOL=ON \ -DLIBDEFLATE_FREESTANDING:BOOL=OFF \ -DLIBDEFLATE_BUILD_GZIP:BOOL=ON \ -DLIBDEFLATE_BUILD_TESTS:BOOL=ON \ -DLIBDEFLATE_USE_SHARED_LIBS:BOOL=ON" # Native build %cmake $cmake_opts %cmake_build %if %{with mingw} # MinGW build %mingw_cmake $cmake_opts %mingw_make %endif %install # Native build %cmake_install %if %{with mingw} # MinGW Build %mingw_make_install %mingw_debug_install_post %endif %check %ctest %files %doc NEWS.md README.md %license COPYING %{_libdir}/libdeflate.so.0 %files devel %{_includedir}/libdeflate.h %{_libdir}/libdeflate.so %{_libdir}/pkgconfig/libdeflate.pc %{_libdir}/cmake/libdeflate/ %files utils %{_bindir}/libdeflate-gzip %{_bindir}/libdeflate-gunzip %if %{with mingw} %files -n mingw32-%{name} %{mingw32_bindir}/libdeflate-0.dll %{mingw32_libdir}/libdeflate.dll.a %{mingw32_libdir}/pkgconfig/libdeflate.pc %{mingw32_libdir}/cmake/libdeflate/ %{mingw32_includedir}/libdeflate.h %files -n mingw32-%{name}-utils %{mingw32_bindir}/libdeflate-gzip.exe %{mingw32_bindir}/libdeflate-gunzip.exe %files -n mingw64-%{name} %{mingw64_bindir}/libdeflate-0.dll %{mingw64_libdir}/libdeflate.dll.a %{mingw64_libdir}/pkgconfig/libdeflate.pc %{mingw64_libdir}/cmake/libdeflate/ %{mingw64_includedir}/libdeflate.h %files -n mingw64-%{name}-utils %{mingw64_bindir}/libdeflate-gzip.exe %{mingw64_bindir}/libdeflate-gunzip.exe %endif %changelog ## START: Generated by rpmautospec * Mon Jun 17 2024 Troy Dawson - 1.20-7 - Uncommitted changes * Tue Jun 11 2024 Sandro Mani - 1.20-6 - Add mingw build * Thu Apr 04 2024 Benjamin A. Beasley - 1.20-5 - Patch PR#366 instead of commit 857c97a * Thu Apr 04 2024 Benjamin A. Beasley - 1.20-4 - Switch to the upstream patch for AVX-VNNI GCC version adjustment * Wed Apr 03 2024 Benjamin A. Beasley - 1.20-3 - Don’t build VNNI implementations before GCC 12.1 - Fixes failure to build on x86_64 in EPEL9 * Sat Mar 23 2024 Nick Black - 1.20-2 - updated .gitignore * Sat Mar 23 2024 Nick Black - 1.20-1 - new upstream 1.20 * Thu Jan 25 2024 Fedora Release Engineering - 1.19-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 1.19-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Nov 08 2023 Benjamin A. Beasley - 1.19-1 - Update to 1.19 (close RHBZ#2160949) * Wed Nov 08 2023 Benjamin A. Beasley - 1.18-1 - Update to 1.18 * Wed Nov 08 2023 Benjamin A. Beasley - 1.17-1 - Update to 1.17 * Wed Nov 08 2023 Benjamin A. Beasley - 1.16-1 - Update to 1.16 * Wed Nov 08 2023 Benjamin A. Beasley - 1.15-1 - Update to 1.15 (close RHBZ#2154661) * Tue Nov 07 2023 Benjamin A. Beasley - 1.14-1 - Update to 1.14 * Tue Nov 07 2023 Benjamin A. Beasley - 1.13-1 - Update to 1.13 * Tue Nov 07 2023 Benjamin A. Beasley - 1.12-1 - Update to 1.12 * Tue Nov 07 2023 Benjamin A. Beasley - 1.11-1 - Update to 1.11 * Tue Nov 07 2023 Benjamin A. Beasley - 1.10-1 - Update to 1.10 * Tue Nov 07 2023 Benjamin A. Beasley - 1.9-14 - Build and run the tests - For now, don’t enable running tests under Valgrind or sanitizers * Mon Nov 06 2023 Benjamin A. Beasley - 1.9-13 - Improve makefile invocation a bit * Mon Nov 06 2023 Benjamin A. Beasley - 1.9-12 - Improve Source URL and archive name * Wed Oct 11 2023 Benjamin A. Beasley - 1.9-11 - Don’t unnecessarily glob under the pkgconfig directory * Wed Oct 11 2023 Benjamin A. Beasley - 1.9-8 - Confirm License is SPDX MIT * Thu Jul 20 2023 Fedora Release Engineering - 1.9-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Thu Feb 02 2023 Florian Weimer - 1.9-6 - Fix C99 compatibility issue * Thu Jan 19 2023 Fedora Release Engineering - 1.9-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Thu Jul 21 2022 Fedora Release Engineering - 1.9-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jan 20 2022 Fedora Release Engineering - 1.9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Jan 13 2022 Nick Black - 1.9-2 - install new pkgconfig file * Thu Jan 13 2022 Nick Black - 1.9-1 - new upstream 1.9 * Tue Nov 23 2021 Nick Black - 1.8-1 - Initial import (#2023061) ## END: Generated by rpmautospec