SHA256
1
0
forked from pool/lz4
lz4/lz4.spec

103 lines
3.1 KiB
RPMSpec
Raw Normal View History

#
# spec file for package lz4
#
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
%define lname liblz4-1
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
Name: lz4
Version: 1.8.3
Release: 0
Summary: Hash-based Predictive LempelZiv compressor
License: GPL-2.0-or-later AND BSD-2-Clause
Group: Productivity/Archiving/Compression
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
Url: https://lz4.github.io/lz4/
#Git-Clone: https://github.com/lz4/lz4
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
Source: https://github.com/lz4/lz4/archive/v%version.tar.gz#/%{name}-%{version}.tar.gz
Source99: baselibs.conf
Patch2: lz-export.diff
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
BuildRequires: pkgconfig
%description
LZ4 is a lossless data compression algorithm that is focused on
compression and decompression speed. It belongs to the LZ77
(LempelZiv) family of byte-oriented compression schemes. It is a
LZP2 fork and provides better compression ratio for text files.
This subpackage provides a GPL command-line utility to make use of
the LZ4 algorithm.
%package -n %lname
Summary: Hash-based predictive Lempel-Ziv compressor
License: BSD-2-Clause
Group: System/Libraries
%description -n %lname
LZ4 is a lossless data compression algorithm that is focused on
compression and decompression speed. It belongs to the LZ77
(LempelZiv) family of byte-oriented compression schemes. It is a
This subpackage contains the (de)compressor code as a shared library.
%package -n liblz4-devel
Summary: Development files for the LZ4 compressor
License: BSD-2-Clause
Group: Development/Libraries/C and C++
Requires: %lname = %version
%description -n liblz4-devel
LZ4 is a lossless data compression algorithm that is focused on
compression and decompression speed. It belongs to the LZ77
(LempelZiv) family of byte-oriented compression schemes. It is a
This subpackage contains libraries and header files for developing
applications that want to make use of liblz4.
%prep
%setup -q
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
%patch -P 2 -p1
%build
# Goddammit, lz4, stop hardcoding silent mode.
perl -i -pe 's{^\t@}{\t}g' Makefile */Makefile
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
make %{?_smp_mflags} CFLAGS="%optflags"
%install
Accepting request 573568 from home:avindra - Update to new upstream release 1.8.1.2 * Most visible new feature is support for dictionary compression * Support is now more formally added on the API side within lib/lz4frame_static.h. It's early days, and this new API is tagged "experimental" for the time being. * Support is also added in the command line utility lz4, using the new command -D. The behavior of this command is identical to zstd, should you be already familiar. * lz4 doesn't specify how to build a dictionary. All it says is that it can be any file up to 64 KB. * This approach is compatible with zstd dictionary builder, which can be instructed to create a 64 KB dictionary. * Improved performance at ultra settings (levels 10+). * These levels receive a new code, called optimal parser, available in lib/lz4_opt.h. * New parser uses less memory (from 384KB to 256KB), performs faster, compresses a little bit better (not much, as it was already close to theoretical limit), and resists pathological patterns which could destroy performance. * New parser is directly compatible with lower compression levels, which brings additional benefits: + Compatibility with LZ4_*_destSize() variant, which reverses the logic by trying to fit as much data as possible into a predefined limited size buffer. + Compatibility with Dictionary compression, as it uses the same tables as regular HC mode * In the future, this compatibility will also allow dynamic change of compression level. * Small set of bug fixes and improvements: + perf : faster and stronger ultra modes (levels 10+) + perf : slightly faster compression and decompression speed + perf : fix bad degenerative case + fix : decompression failed when using a combination of extDict + low memory address + cli : support for dictionary compression (-D) + cli : fix : lz4 -d --rm preserves timestamp + cli : fix : do not modify /dev/null permission as root + api : _destSize() variant supported for all compression levels + build : make and make test compatible with parallel build -jX + build : can control LZ4LIB_VISIBILITY macro + install: fix man page directory - partial cleanup with spec-cleaner - rebase lz4-use-shlib.diff - drop lz4-use-shlib.diff, breaks build - misc spec cleanups - remove Makefile fix - build and install separately - New URL OBS-URL: https://build.opensuse.org/request/show/573568 OBS-URL: https://build.opensuse.org/package/show/Archiving/lz4?expand=0&rev=34
2018-02-07 14:33:33 +01:00
%make_install PREFIX="%_prefix" LIBDIR="%_libdir"
rm -f "%buildroot/%_libdir"/*.a
%check
LD_LIBRARY_PATH="%buildroot/%_libdir" ldd -r "%buildroot/%_bindir/lz4"
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files
%_bindir/lz4*
%_bindir/unlz4
%_mandir/man1/*.1*
%files -n %lname
%_libdir/liblz4.so.1*
%files -n liblz4-devel
%_includedir/lz4*.h
%_libdir/liblz4.so
%_libdir/pkgconfig/*.pc
%changelog