SHA256
1
0
forked from pool/lzma-sdk
lzma-sdk/lzma-sdk.spec

102 lines
3.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package lzma-sdk
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _sver 2201
%define _maver 22
%define _miver 01
Name: lzma-sdk
Version: 22.01
Release: 0
Summary: An implementation of LZMA compression
# Actually the site says "Public Domain". See license file.
License: LGPL-2.1-only
Group: Productivity/Archiving/Compression
Accepting request 934524 from home:alois:branches:Archiving - Update to version 21.06 * Bug in LZMA encoder in file LzmaEnc.c was fixed: LzmaEnc_MemEncode(), LzmaEncode() and LzmaCompress() could work incorrectly, if size value for output buffer is smaller than size required for all compressed data. LzmaEnc_Encode() could work incorrectly, if callback ISeqOutStream::Write() doesn't write all compressed data. NCompress::NLzma::CEncoder::Code() could work incorrectly, if callback ISequentialOutStream::Write() returns error code. * Bug in versions 21.00-21.05 was fixed: 7-Zip didn't set attributes of directories during archive extracting. version 21.04 beta: * 7-Zip now reduces the number of working CPU threads for compression, if RAM size is not enough for compression with big LZMA2 dictionary. * 7-Zip now can create and check "file.sha256" text files that contain the list of file names and SHA-256 checksums in format compatible with sha256sum program. version 21.03 beta: * The maximum dictionary size for LZMA/LZMA2 compressing was increased to 4 GB (3840 MiB). * Minor speed optimizations in LZMA/LZMA2 compressing. version 21.02 alpha: * The speed for LZMA and LZMA2 decompression in arm64 versions was increased by 20%-60%. version 21.01 alpha: * The improvements for speed of ARM64 version using hardware CPU instructions for AES, CRC-32, SHA-1 and SHA-256. * Some bugs were fixed. version 20.02 alpha: * The default number of LZMA2 chunks per solid block in 7z archive was increased to 64. It allows to increase the compression speed for big 7z archives, if there is a big number of CPU cores and threads. * The speed of PPMd compressing/decompressing was increased for 7z archives. * The new -ssp switch. If the switch -ssp is specified, 7-Zip doesn't allow the system to modify "Last Access Time" property of source files for archiving and hashing operations. * Some bugs were fixed. version 20.00 alpha; * 7-Zip now supports new optional match finders for LZMA/LZMA2 compression: bt5 and hc5, that can work faster than bt4 and hc4 match finders for the data with big redundancy. * The compression ratio was improved for Fast and Fastest compression levels with the following default settings: + Fastest level (-mx1) : hc5 match finder with 256 KB dictionary. + Fast level (-mx3) : hc5 match finder with 4 MB dictionary. * Minor speed optimizations in multithreaded LZMA/LZMA2 compression for Normal/Maximum/Ultra compression levels. OBS-URL: https://build.opensuse.org/request/show/934524 OBS-URL: https://build.opensuse.org/package/show/Archiving/lzma-sdk?expand=0&rev=20
2021-11-29 12:40:58 +01:00
URL: https://www.7-zip.org/sdk.html
Source0: https://www.7-zip.org/a/lzma%{_sver}.7z
Source1: lzma-sdk-LICENSE.fedora
Source2: baselibs.conf
Patch1: lzma-sdk-shlib.patch
BuildRequires: automake
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: p7zip-full
BuildRequires: pkg-config
%{?suse_build_hwcaps_libs}
%description
LZMA SDK provides documentation, samples, header files, libraries,
and tools for developing applications with LZMA support.
LZMA uses a dictionary compression algorithm (a variant of LZ77, with
huge dictionary sizes and special support for repeatedly used match
distances), whose output is then encoded with a range encoder, using
a model to make a probability prediction of each bit.
LZMA yields around 20%% better compression when operating at approximately
zlib's speed, and around 40%% when trading more time.
%package devel
Summary: Development libraries and headers for %{name}
Group: Development/Languages/C and C++
Requires: libclzma-suse0 = %{version}
%description devel
This package contains development libraries and headers for %{name}.
%package -n libclzma-suse0
Summary: LZMA stream encoding/decoding library from 7-Zip
Group: System/Libraries
%description -n libclzma-suse0
Library for encoding/decoding LZMA streams, using the 7-Zip library
implementation.
%prep
%setup -q -c -n lzma%{_sver}
%patch -P 1 -p1
perl -i -pe 's{AC_INIT.*}{AC_INIT([lzma-sdk], [%version])}' configure.ac
dos2unix DOC/*.txt
install -p -m 0644 %{SOURCE1} .
%build
autoreconf -fi
%configure
make %{?_smp_mflags}
%install
%make_install
rm -f "%buildroot/%_libdir"/*.la
%post -n libclzma-suse0 -p /sbin/ldconfig
%postun -n libclzma-suse0 -p /sbin/ldconfig
%files -n libclzma-suse0
%license lzma-sdk-LICENSE.fedora
%doc DOC/lzma.txt DOC/lzma-history.txt
%{_libdir}/libclzma-suse.so.0*
%files devel
%license lzma-sdk-LICENSE.fedora
%doc DOC/7z*.txt DOC/Methods.txt
%{_includedir}/clzma/
%{_libdir}/libclzma.so
%{_libdir}/pkgconfig/clzma.pc
%changelog