%define oname lzma %define oldlzmaver 4.32.7 %define major 0 %define libname %mklibname lzmadec %{major} %define devname %mklibname lzmadec -d Summary: LZMA utils Name: lzmadec Version: 4.43 Release: 38 License: GPLv2+ Group: Archiving/Compression Url: http://tukaani.org/lzma/ Source0: http://tukaani.org/lzma/lzma-%{oldlzmaver}.tar.lzma Source1: http://ovh.dl.sourceforge.net/sourceforge/sevenzip/lzma443.tar.bz2 Source3: sqlzma.h # (blino) modified for 443, from sqlzma1-449.patch: # * adapted to lzma443 dist structure: s,/C/Compress/Lzma/,/C/7zip/Compress/LZMA_C/,; s,/CPP/7zip/Compress/LZMA_Alone/,/C/7zip/Compress/LZMA_Alone/, # * use sqlzma.mk makefiles for 443 (from from sqlzma1-443.patch) # * remove NCoderPropID::kNumThreads in comp.cc, it is invalid since we don't build LZMAEncoder.cpp with COMPRESS_MF_MT multithread support Patch3: lzma-4.32.4-sqlzma.patch Patch4: lzma-4.43-add-missing-header.patch Patch5: lzma-4.43-quiet.patch Patch6: lzma-4.43-update-version.patch Patch7: lzma-4.43-fix-fast-compression.patch Patch8: lzma-4.43-add-missing-gethandle.patch Patch9: lzma-4.32.4-text-tune.patch # 4.32.2 has changes to sdk that we replace with newer, we apply these to the new Patch12: lzma-4.32.2-sdk-changes.patch Patch16: lzma-4.32.7-format_not_a_string_literal_and_no_format_arguments.diff BuildRequires: diffutils BuildRequires: dos2unix # for squashfs-lzma library BuildRequires: pkgconfig(zlib) %description LZMA provides very high compression ratio and fast decompression. The core of the LZMA utils is Igor Pavlov's LZMA SDK containing the actual LZMA encoder/decoder. LZMA utils add a few scripts which provide gzip-like command line interface and a couple of other LZMA related tools. Also provides: - Average compression ratio 30% better than that of gzip and 15% better than that of bzip2. - Decompression speed is only little slower than that of gzip, being two to five times faster than bzip2. - In fast mode, compresses faster than bzip2 with a comparable compression ratio. - Achieving the best compression ratios takes four to even twelve times longer than with bzip2. However. this doesn't affect decompressing speed. - Very similar command line interface than what gzip and bzip2 have. #---------------------------------------------------------------------------- %package -n %{libname} Summary: Libraries for decoding LZMA compression License: LGPLv2.1+ Group: System/Libraries Provides: %{_lib}%{oname}%{major} = %{EVRD} %description -n %{libname} Libraries for decoding LZMA compression. %files -n %{libname} %{_libdir}/liblzmadec.so.%{major}* #---------------------------------------------------------------------------- %package -n %{devname} Summary: Devel libraries & headers for liblzmadec License: LGPLv2.1+ Group: Development/C Provides: liblzmadec-devel = %{EVRD} Provides: %{oname}-devel = %{EVRD} Requires: %{libname} = %{EVRD} %description -n %{devname} Devel libraries & headers for liblzmadec. %files -n %{devname} %doc *.txt %{_includedir}/*.h %{_libdir}/*.so %{_libdir}/*.a #---------------------------------------------------------------------------- %package -n dkms-%{oname} Summary: Kernel modules for decoding LZMA compression License: GPLv2+ Group: System/Kernel and hardware Requires(post,preun): dkms %description -n dkms-%{oname} Kernel modules for decoding LZMA compression. %files -n dkms-%{oname} /usr/src/%{oname}-%{version}-%{release} %post -n dkms-%{oname} set -x /usr/sbin/dkms --rpm_safe_upgrade add -m %{oname} -v %{version}-%{release} /usr/sbin/dkms --rpm_safe_upgrade build -m %{oname} -v %{version}-%{release} /usr/sbin/dkms --rpm_safe_upgrade install -m %{oname} -v %{version}-%{release} : %preun -n dkms-%{oname} set -x /usr/sbin/dkms --rpm_safe_upgrade remove -m %{oname} -v %{version}-%{release} --all : #---------------------------------------------------------------------------- %prep %setup -q -n %{oname}-%{oldlzmaver} -a1 %patch3 -p1 -b .sqlzma cp %{SOURCE3} . dos2unix *.txt # ugly syncing with latest sdk mv src/sdk src/sdk.old cp -r C src/sdk for i in `find src/sdk.old -name Makefile.\*`; do cp $i `echo $i|sed -e 's#sdk.old#sdk#g'`; done find src/sdk -name makefile|xargs rm -f %patch4 -p1 -b .config_h %patch5 -p1 -b .quiet %patch6 -p0 -b .version %patch7 -p0 -b .fast %patch8 -p0 -b .gethandle %patch9 -p1 -b .text %patch12 -p1 -b .4.32.2 %patch16 -p1 -b .format_not_a_string_literal_and_no_format_arguments pushd C/7zip/Compress/LZMA_C cp %{SOURCE3} kmod/ cp uncomp.c LzmaDecode.{c,h} LzmaTypes.h kmod/ perl -pi -e 's,^#include "\.\./(Lzma.*)",#include "$1",' kmod/*.{c,h} cat > kmod/dkms.conf <