commit 34e7b21db4267a2557d5d0ba2c7fdbc5f409bb53469d7ccf71916e1d69c3e1c6 Author: Jan Engelhardt Date: Mon Dec 2 23:49:30 2024 +0000 [info=690cc2f6ed1b32156e684d81a14325504a8541a01abcf1db68c73046fd5d4315] OBS-URL: https://build.opensuse.org/package/show/Archiving/lzma-sdk?expand=0&rev=36 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..7f88e56 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1715969121 +commit: 690cc2f6ed1b32156e684d81a14325504a8541a01abcf1db68c73046fd5d4315 +url: https://src.opensuse.org/jengelh/lzma-sdk +revision: master diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..a3d5930 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libclzma-suse1 diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..d7d61ff --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2eda8080c08996c1377d45eb8638f1561070dea65c78d116183ebcb5366defba +size 256 diff --git a/lzma-sdk-LICENSE.fedora b/lzma-sdk-LICENSE.fedora new file mode 100644 index 0000000..9a3973a --- /dev/null +++ b/lzma-sdk-LICENSE.fedora @@ -0,0 +1,41 @@ +Subject: Re: Licensing of lzma-sdk +From: "Igor Pavlov" +Date: Tue, 5 Apr 2011 23:11:30 +0600 +To: "Tom Callaway" + +Hello! + +I use LGPL 2.1 for 7-Zip. + +Thanks! + +-- +Igor Pavlov +http://www.7-zip.org +Compression software + +----- Original Message ----- +From: "Tom Callaway" +To: "Igor Pavlov" +Sent: Tuesday, April 05, 2011 9:47 PM +Subject: Re: Licensing of lzma-sdk + + +> On 04/05/2011 11:28 AM, Igor Pavlov wrote: +>> Hello! +>> +>> 1) Russian law probably can have many problems. +>> Maybe there is some "public domain" limitation there. If so, I hope the +>> law will be fixed in future. +>> Now I just don't care about it. +>> +>> 2) I used GNU LGPL in old versions of LZMA SDK. +>> If you are OK with GNU LGPL rules, you can use it. +>> I can add the note to my site. +> +> GNU LGPL is fine, do you have any preference on version? +> +> ~tom +> +> == +> Fedora Project diff --git a/lzma-sdk-shlib.patch b/lzma-sdk-shlib.patch new file mode 100644 index 0000000..74d077b --- /dev/null +++ b/lzma-sdk-shlib.patch @@ -0,0 +1,55 @@ +From: Jan Engelhardt +Date: 2018-01-08 14:43:34.344321909 +0100 + +This exports most of LzmaLib (minus code that does not compile because it +requires too much Windows or Windows-like APIs) as a library for use by +other packages. + +--- + Makefile.am | 11 +++++++++++ + clzma.pc.in | 10 ++++++++++ + configure.ac | 6 ++++++ + 3 files changed, 27 insertions(+), 0 deletions(-) + +Index: 1/Makefile.am +=================================================================== +--- /dev/null ++++ 1/Makefile.am +@@ -0,0 +1,11 @@ ++AM_CPPFLAGS = -D_7ZIP_ST -D_7ZIP_PPMD_SUPPPORT ++lib_LTLIBRARIES = libclzma.la ++pkgconfigdir = ${libdir}/pkgconfig ++pkgconfig_DATA = clzma.pc ++# source list: C/Util/LzmaLib/makefile ++#lzma.dll = C/Alloc.c C/CpuArch.c C/LzFind.c C/LzFindMt.c C/LzFindOpt.c C/LzmaDec.c C/LzmaEnc.c C/LzmaLib.c C/Threads.c ++libclzma_la_SOURCES = C/7zAlloc.c C/7zArcIn.c C/7zBuf.c C/7zBuf2.c C/7zCrc.c C/7zCrcOpt.c C/7zDec.c C/7zFile.c C/7zStream.c C/Aes.c C/AesOpt.c C/Alloc.c C/Bcj2.c C/Bcj2Enc.c C/Bra.c C/Bra86.c C/BraIA64.c C/CpuArch.c C/Delta.c C/DllSecur.c C/LzFind.c C/LzFindMt.c C/LzFindOpt.c C/Lzma2Dec.c C/Lzma2DecMt.c C/Lzma2Enc.c C/Lzma86Dec.c C/Lzma86Enc.c C/LzmaDec.c C/LzmaEnc.c C/LzmaLib.c C/MtCoder.c C/MtDec.c C/Ppmd7.c C/Ppmd7Dec.c C/Ppmd7Enc.c C/Sha256.c C/Sha256Opt.c C/Sort.c C/SwapBytes.c C/Threads.c C/Xz.c C/XzCrc64.c C/XzCrc64Opt.c C/XzDec.c C/XzEnc.c C/XzIn.c ++libclzma_la_LDFLAGS = -release suse -version-info 1:0:0 ++clzmadir = ${includedir}/clzma ++clzma_HEADERS = C/7zAlloc.h C/7zBuf.h C/7zCrc.h C/7zFile.h C/7z.h C/7zTypes.h C/7zVersion.h C/Aes.h C/Alloc.h C/Bcj2.h C/Bra.h C/Compiler.h C/CpuArch.h C/Delta.h C/DllSecur.h C/LzFind.h C/LzFindMt.h C/LzHash.h C/Lzma2Dec.h C/Lzma2Enc.h C/Lzma86.h C/LzmaDec.h C/LzmaEnc.h C/LzmaLib.h C/MtCoder.h C/Ppmd7.h C/Ppmd.h C/Precomp.h C/RotateDefs.h C/Sha256.h C/Sort.h C/Threads.h C/XzCrc64.h C/XzEnc.h C/Xz.h ++clzma.pc: ${top_builddir}/config.status +Index: 1/clzma.pc.in +=================================================================== +--- /dev/null ++++ 1/clzma.pc.in +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: clzma ++Description: 7-Zip implementation of LZMA compression ++Version: @PACKAGE_VERSION@ ++Libs: -L${libdir} -lclzma ++Cflags: -I${includedir}/clzma +Index: 1/configure.ac +=================================================================== +--- /dev/null ++++ 1/configure.ac +@@ -0,0 +1,6 @@ ++AC_INIT([lzma-sdk], [0]) ++AM_INIT_AUTOMAKE([foreign subdir-objects]) ++AC_PROG_CC ++LT_INIT([disable-static]) ++AC_CONFIG_FILES([Makefile clzma.pc]) ++AC_OUTPUT diff --git a/lzma-sdk.changes b/lzma-sdk.changes new file mode 100644 index 0000000..3e9b5a6 --- /dev/null +++ b/lzma-sdk.changes @@ -0,0 +1,194 @@ +------------------------------------------------------------------- +Thu May 16 17:46:29 UTC 2024 - Jan Engelhardt + +- Update to release 24.05 + * New filter for RISC-V executables + +------------------------------------------------------------------- +Tue Apr 30 10:42:48 UTC 2024 - Jan Engelhardt + +- Update to release 23.01 + * New filter for ARM64 executables. BCJ2 filter was improved + for better compression ratio. Some bugs were fixed. +- Add lzma-simd.patch to fix compiler error on old gcc + +------------------------------------------------------------------- +Wed Mar 15 14:40:12 UTC 2023 - Martin Pluskal + +- Update to version 22.01: + * No upstream changelog available + * Some RISC-V updates + * Workaround an issue when using a jwasm-based assembler with + binutils + +------------------------------------------------------------------- +Fri Mar 10 13:35:05 UTC 2023 - Martin Pluskal + +- Build AVX2 enabled hwcaps library for x86_64-v3 + +------------------------------------------------------------------- +Tue Dec 28 12:07:35 UTC 2021 - Luigi Baldoni + +- Update to version 21.07 + * New switches: -spm and -im!{file_path} to exclude + directories from processing for specified paths that don't + contain path separator character at the end of path. + * The sorting order of files in archives was slightly changed + to be more consistent for cases where the name of some + directory is the same as the prefix part of the name of + another directory or file. + +------------------------------------------------------------------- +Sat Dec 11 22:04:00 UTC 2021 - Jan Engelhardt + +- Update lzma-sdk-shlib.patch to use Sha256Opt.c for generating + libclzma.so. boo#1193657 + +------------------------------------------------------------------- +Mon Nov 29 11:37:21 UTC 2021 - Luigi Baldoni + +- 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. + +------------------------------------------------------------------- +Fri Feb 22 11:22:49 UTC 2019 - Luigi Baldoni + +- Update to version 19.00 + * Encryption strength for 7z archives was increased: + the size of random initialization vector was increased from + 64-bit to 128-bit, and the pseudo-random number generator was + improved. + * The bug in 7zIn.c code was fixed. + +------------------------------------------------------------------- +Sun Dec 30 10:13:52 UTC 2018 - Luigi Baldoni + +- Update to version 18.06 + * The speed for LZMA/LZMA2 compressing was increased by 3-10%, + and there are minor changes in compression ratio. + * Some bugs were fixed. + * The bug in 7-Zip 18.02-18.05 was fixed: + There was memory leak in multithreading xz decoder - + XzDecMt_Decode(), if xz stream contains only one block. + * The changes for MSVS compiler makefiles: + + the makefiles now use "PLATFORM" macroname with values + (x64, x86, arm64) instead of "CPU" macroname with values + (AMD64, ARM64). + + the makefiles by default now use static version of the + run-time library. + +------------------------------------------------------------------- +Mon Jun 11 12:47:46 UTC 2018 - aloisio@gmx.com + +- Fixed unpacking problem + +------------------------------------------------------------------- +Tue May 1 11:19:07 UTC 2018 - aloisio@gmx.com + +- Update to version 18.05 + * The speed for LZMA/LZMA2 compressing was increased + by 8% for fastest/fast compression levels and + by 3% for normal/maximum compression levels. + * The BUG was fixed in Lzma2Enc.c + Lzma2Enc_Encode2() function worked incorretly, + if (inStream == NULL) and the number of block threads is + more than 1. + +- Refreshed lzma-sdk-shlib.patch + +------------------------------------------------------------------- +Sat Mar 10 18:55:18 UTC 2018 - aloisio@gmx.com + +- Update to version 18.03 + * Asm\x86\LzmaDecOpt.asm: new optimized LZMA decoder written in + asm for x64 with about 30% higher speed than main version of + LZMA decoder written in C. + * The speed for single-thread LZMA/LZMA2 decoder written in C + was increased by 3%. + +- Refreshed lzma-sdk-shlib.patch + +------------------------------------------------------------------- +Mon Jan 29 20:45:47 UTC 2018 - aloisio@gmx.com + +- Update to version 18.01 + * Some changes in LZMA2/xz multithreading code for compressing. + Some bugs were fixed. + +------------------------------------------------------------------- +Mon Jan 8 08:02:11 UTC 2018 - jengelh@inai.de + +- Update to new upstream release 17.01 + * Some bugs were fixed. +- Replace lzma-sdk-16.04-sharedlib.patch with lzma-sdk-shlib.patch. + +------------------------------------------------------------------- +Tue May 16 14:56:41 UTC 2017 - jengelh@inai.de + +- Trim/update description. Redo .pc file generation so that the + resulting file looks like other .pc files on openSUSE. + +------------------------------------------------------------------- +Thu May 11 06:30:24 UTC 2017 - aloisio@gmx.com + +- Refreshed lzma-sdk-16.04-sharedlib.patch to add source to + the library to have extra functions and exported extra + symbols + +------------------------------------------------------------------- +Fri Mar 17 09:25:07 UTC 2017 - aloisio@gmx.com + +- Initial package (version 16.04) + diff --git a/lzma-sdk.spec b/lzma-sdk.spec new file mode 100644 index 0000000..0aed1ec --- /dev/null +++ b/lzma-sdk.spec @@ -0,0 +1,100 @@ +# +# spec file for package lzma-sdk +# +# Copyright (c) 2024 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 2405 +%define _maver 24 +%define _miver 05 +Name: lzma-sdk +Version: 24.05 +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 +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 +Patch2: lzma-simd.patch +BuildRequires: 7zip +BuildRequires: automake +BuildRequires: dos2unix +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: libtool +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-suse1 = %version + +%description devel +This package contains development libraries and headers for %name. + +%package -n libclzma-suse1 +Summary: LZMA stream encoding/decoding library from 7-Zip +Group: System/Libraries + +%description -n libclzma-suse1 +Library for encoding/decoding LZMA streams, using the 7-Zip library +implementation. + +%prep +%autosetup -c -n lzma%_sver -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_build + +%install +%make_install +rm -f "%buildroot/%_libdir"/*.la + +%ldconfig_scriptlets -n libclzma-suse1 + +%files -n libclzma-suse1 +%license lzma-sdk-LICENSE.fedora +%doc DOC/lzma.txt DOC/lzma-history.txt +%_libdir/libclzma-suse.so.* + +%files devel +%license lzma-sdk-LICENSE.fedora +%doc DOC/7z*.txt DOC/Methods.txt +%_includedir/clzma/ +%_libdir/libclzma.so +%_libdir/pkgconfig/clzma.pc + +%changelog diff --git a/lzma-simd.patch b/lzma-simd.patch new file mode 100644 index 0000000..7aaa8e6 --- /dev/null +++ b/lzma-simd.patch @@ -0,0 +1,25 @@ +From: Jan Engelhardt +Date: 2024-05-01 00:14:04.625759204 +0200 +Fix build failures involving SIMD code + +Fix build failure on Leap 15.6/gcc-7 amd64: +[ 31s] C/SwapBytes.c:312:7: error: incompatible types when initializing type +'__m256i {aka const __vector(4) long long int}' using type 'int' + +--- + C/SwapBytes.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: 23/C/SwapBytes.c +=================================================================== +--- a/C/SwapBytes.c ++++ b/C/SwapBytes.c +@@ -22,7 +22,7 @@ typedef UInt32 CSwapUInt32; + // #if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1900) + #if defined(__clang__) && (__clang_major__ >= 4) \ + || defined(Z7_GCC_VERSION) && (Z7_GCC_VERSION >= 40701) +- #define k_SwapBytes_Mode_MAX k_SwapBytes_Mode_AVX2 ++ #define k_SwapBytes_Mode_MAX k_SwapBytes_Mode_SSE2 + #define SWAP_ATTRIB_SSE2 __attribute__((__target__("sse2"))) + #define SWAP_ATTRIB_SSSE3 __attribute__((__target__("ssse3"))) + #define SWAP_ATTRIB_AVX2 __attribute__((__target__("avx2"))) diff --git a/lzma2405.7z b/lzma2405.7z new file mode 100644 index 0000000..e74313a --- /dev/null +++ b/lzma2405.7z @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d42ed51c4d88900b4f0d958d99b16b907cd3cfd629cc3df49495285099a1e291 +size 1665313