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
This commit is contained in:
2018-02-07 13:33:33 +00:00
committed by Git OBS Bridge
parent 7697e50f35
commit 7d4f9e60cc
5 changed files with 65 additions and 63 deletions

View File

@@ -1,7 +1,7 @@
#
# spec file for package lz4
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# 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
@@ -16,22 +16,20 @@
#
Name: lz4
%define lname liblz4-1
Version: 1.8.0
Name: lz4
Version: 1.8.1.2
Release: 0
Summary: Hash-based Predictive LempelZiv compressor
License: GPL-2.0+ and BSD-2-Clause
Group: Productivity/Archiving/Compression
Url: http://lz4.org/
Url: https://lz4.github.io/lz4/
#Git-Clone: https://github.com/lz4/lz4
Source: https://github.com/lz4/lz4/archive/v%version.tar.gz
Source: https://github.com/lz4/lz4/archive/v%version.tar.gz#/%{name}-%{version}.tar.gz
Source99: baselibs.conf
Patch1: lz4-use-shlib.diff
Patch2: lz-export.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: pkg-config
BuildRequires: pkgconfig
%description
LZ4 is a lossless data compression algorithm that is focused on
@@ -70,20 +68,14 @@ applications that want to make use of liblz4.
%prep
%setup -q
%patch -P 1 -P 2 -p1
%patch -P 2 -p1
%build
# Goddammit, lz4
perl -i -pe 's{^\t@}{\t}g' Makefile */Makefile
# don't bother building here, because make install builds it again - unconditionally :-(
make %{?_smp_mflags} CFLAGS="%optflags"
%install
make install CFLAGS="%optflags" DESTDIR="%buildroot" \
PREFIX="%_prefix" LIBDIR="%_libdir"
%make_install PREFIX="%_prefix" LIBDIR="%_libdir"
rm -f "%buildroot/%_libdir"/*.a
mkdir -p "%buildroot/%_mandir/man1"
# duh, it was right in 1.7.5
mv "%buildroot/%_mandir"/*.1 "%buildroot/%_mandir/man1/"
%check
LD_LIBRARY_PATH="%buildroot/%_libdir" ldd -r "%buildroot/%_bindir/lz4"
@@ -92,17 +84,14 @@ LD_LIBRARY_PATH="%buildroot/%_libdir" ldd -r "%buildroot/%_bindir/lz4"
%postun -n %lname -p /sbin/ldconfig
%files
%defattr(-,root,root)
%_bindir/lz4*
%_bindir/unlz4
%_mandir/man1/*.1*
%files -n %lname
%defattr(-,root,root)
%_libdir/liblz4.so.1*
%files -n liblz4-devel
%defattr(-,root,root)
%_includedir/lz4*.h
%_libdir/liblz4.so
%_libdir/pkgconfig/*.pc