[info=690cc2f6ed1b32156e684d81a14325504a8541a01abcf1db68c73046fd5d4315]

OBS-URL: https://build.opensuse.org/package/show/Archiving/lzma-sdk?expand=0&rev=36
This commit is contained in:
Jan Engelhardt 2024-12-02 23:49:30 +00:00 committed by Git OBS Bridge
commit 34e7b21db4
11 changed files with 450 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

4
_scmsync.obsinfo Normal file
View File

@ -0,0 +1,4 @@
mtime: 1715969121
commit: 690cc2f6ed1b32156e684d81a14325504a8541a01abcf1db68c73046fd5d4315
url: https://src.opensuse.org/jengelh/lzma-sdk
revision: master

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libclzma-suse1

3
build.specials.obscpio Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2eda8080c08996c1377d45eb8638f1561070dea65c78d116183ebcb5366defba
size 256

41
lzma-sdk-LICENSE.fedora Normal file
View File

@ -0,0 +1,41 @@
Subject: Re: Licensing of lzma-sdk
From: "Igor Pavlov" <supp@7-zip.org>
Date: Tue, 5 Apr 2011 23:11:30 +0600
To: "Tom Callaway" <tcallawa@redhat.com>
Hello!
I use LGPL 2.1 for 7-Zip.
Thanks!
--
Igor Pavlov
http://www.7-zip.org
Compression software
----- Original Message -----
From: "Tom Callaway" <tcallawa@redhat.com>
To: "Igor Pavlov" <supp@7-zip.org>
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

55
lzma-sdk-shlib.patch Normal file
View File

@ -0,0 +1,55 @@
From: Jan Engelhardt <jengelh@inai.de>
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

194
lzma-sdk.changes Normal file
View File

@ -0,0 +1,194 @@
-------------------------------------------------------------------
Thu May 16 17:46:29 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 24.05
* New filter for RISC-V executables
-------------------------------------------------------------------
Tue Apr 30 10:42:48 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- 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 <mpluskal@suse.com>
- 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 <mpluskal@suse.com>
- Build AVX2 enabled hwcaps library for x86_64-v3
-------------------------------------------------------------------
Tue Dec 28 12:07:35 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
- 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 <jengelh@inai.de>
- 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 <aloisio@gmx.com>
- 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 <aloisio@gmx.com>
- 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 <aloisio@gmx.com>
- 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)

100
lzma-sdk.spec Normal file
View File

@ -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

25
lzma-simd.patch Normal file
View File

@ -0,0 +1,25 @@
From: Jan Engelhardt <jengelh@inai.de>
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")))

3
lzma2405.7z Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d42ed51c4d88900b4f0d958d99b16b907cd3cfd629cc3df49495285099a1e291
size 1665313