./archivers/lz4, Extremely Fast Compression algorithm

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ]


Branch: CURRENT, Version: 1.11.1, Package name: lz4-1.11.1, Maintainer: pkgsrc-users

LZ4 is a very fast lossless compression algorithm, providing
compression speed at 400 MB/s per core, scalable with multi-cores
CPU. It also features an extremely fast decoder, with speed in
multiple GB/s per core, typically reaching RAM speed limits on
multi-core systems.


Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 540.394 KB

Version history: (Expand)


CVS history: (Expand)


   2026-11-10 13:58:26 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
lz4: updated to 1.11.1

1.11.1

LZ4 v1.11.1 is a point release, whose main purpose is to fix \ 
LZ4_resetStreamHC(), an obsolete symbol, on dirty memory. While reset functions \ 
are expected to reset valid states, LZ4_resetStreamHC() has been working fine on \ 
dirty memory, which made it possible to employ it as an initializer instead. \ 
Hence, some (hopefully rare) applications may have developed a dependency on \ 
this property. v1.11.0 did not respect this undocumented behavior: on a dirty \ 
state, compression at levels >= 10 could result in a write out of bounds. \ 
Thus v1.11.1 is released to restore the previous behavior.

This is mostly of importance for distributions and package managers, as liblz4 \ 
may be paired with older binaries that are no longer updated. \ 
LZ4_resetStreamHC() was replaced by LZ4_initStreamHC() in v1.9.0 (2019). \ 
Applications still employing this symbol are invited to migrate.

This release also restores the (deprecated) unprefixed lz4frame enums, for \ 
applications that still need them. They now generate a deprecation warning: once \ 
again, actively maintained applications should move to the prefixed names. Build \ 
configurations accidentally broken in v1.11.0 work again: make with \ 
BUILD_STATIC=no or BUILD_SHARED=no, and MinGW with clang and lld.
   2026-11-09 15:20:58 by Thomas Klausner | Files touched by this commit (6) | Package updated
Log message:
lz4: update to 1.11.0.

Note: this includes files for other build systems like cmake or meson;
we should consider switching to one of them to avoid our libtoolization patches.

v1.11.0
fix  : data corruption in valid usage : ring buffer decoding \ 
(`LZ4_decoderRingBufferSize()`, since v1.9.0), rare cases of streaming or \ 
`destSize` compression, one reported by @freedom-winds
fix  : single-thread `lz4` could truncate the decoding of concatenated frames \ 
with block checksums
fix  : multithreaded decompression could write out of bounds after 2^31 frames \ 
(since v1.10.0), by @arshsmith1
fix  : `LZ4F_compressBegin_usingDict()` ignored the dictionary with independent \ 
blocks
fix  : some periodic data compressed up to 30x worse at fast levels, and very \ 
slowly at level 12, reported by @martinus
fix  : invalid arguments (negative sizes, `NULL`, invalid `blockSizeID`, extreme \ 
levels) no longer crash nor overflow, by @arthuz-th, @jaypatrickhoward, \ 
@louislafosse, @akashdeshmukh-git, @rinsuki
fix  : lz4file reports truncated files and write failures, and accepts files \ 
< 19 bytes, by @axiqia
perf : faster decompression on aarch64 and x86-64 (up to +19%, +4% on \ 
silesia.tar), `LZ4_FAST_DEC_LOOP` on aarch64 with clang and on riscv64, by \ 
@Nicoshev and @arpadpanyik-arm
perf : faster compression of small blocks at fast levels, with reused states (up \ 
to +80%) or dictionaries (up to +35%), partly proposed by @BiplabRaut
perf : faster levels 11 and 12 (+8% to +27%), level 2 compresses ~0.8% better
perf : x86 builds avoid the JCC erratum : up to +12% compression and +31% \ 
decompression on Intel Skylake-family cpus
api  : multithreaded lz4frame compression (experimental \ 
`LZ4F_preferences_t.nbWorkers`) : output independent of the nb of workers and of \ 
the context's history
api  : random access within frames and lz4 files : `LZ4F_resumeFrame()`, \ 
`LZ4F_seek()`, `LZ4F_tell()` (static)
api  : `LZ4_decompress_safe()` returns distinct error codes : `-1` malformed \ 
input, `-2` `dstCapacity` too small, `-3` missing dictionary
api  : lz4frame compression accepts any `dstCapacity`, and only fails if the \ 
output doesn't fit
api  : removed from headers : functions deprecated since v1.7.x / v1.8.0 (still \ 
exported by liblz4), unprefixed lz4frame enums ; `LZ4_resetStream()` and \ 
`LZ4_resetStreamHC()` are deprecated
api  : `LZ4F_compressOptions_t` must be zero-initialized ; reserved fields are \ 
scalars (flatten positional initializers) ; `LZ4F_uncompressedUpdate()` \ 
deprecated (use `.uncompressed`)
api  : custom allocators for lz4file (`_advanced()` functions), \ 
`LZ4_USER_MEMORY_FUNCTIONS` also for lz4frame and lz4file ; `LZ4F_cctx_size()` \ 
and `LZ4F_dctx_size()` by @felixhandte
api  : HC states include the buffer of levels 10+ (+64 KB per state) : no \ 
allocation during compression
cli  : multithreaded compression relies on liblz4 : same output with any nb of \ 
threads and without multithreading support ; `-T#` within a memory budget \ 
(`--memory=#`) ; new `--single-thread`
cli  : decodes Firefox's mozlz4 files, proposed by @UnitedMarsupials, and \ 
legacy frames with the Linux kernel end marker, requested by @benjarobin (frame \ 
format documentation by @Artoria2e5)
cli  : safer file handling : an output identical to the input is refused, a \ 
source modified during compression is detected, `--rm` keeps the source after \ 
failures, by @Furan666, @Nexory and @immanuwell
cli  : benchmark (`-b`) measures frames, compressed as `lz4` does with the same \ 
options
cli  : various fixes (`--list`, legacy format, benchmark, `-t -m`, numeric \ 
arguments), by @tansy, @jmestwa-coder, @akashdeshmukh-git, @arshsmith1, @jlee303 \ 
and @Nexory
build: dynamic library multithreaded by default, static library single-threaded \ 
; cmake `lz4` multithreaded
build: cmake : exported `lz4::lz4` target by @dg0yt, CMake 4 support by \ 
@GeorgH93, `CMAKE_POSITION_INDEPENDENT_CODE` by @ds-sloth
build: cmake : as a subproject, the `lz4` program is no longer built by default \ 
(`-DLZ4_BUILD_CLI=ON` restores it), by @crueter
build: reproducible static library by @rpurdie, AIX support by @shubhamhii, \ 
meson fixes by @grobian, @bgilbert and @eli-schwartz, other fixes by @hotschmoe, \ 
@iwamatsu, @doraorak, @JCash and @brainy
port : RISC-V with `Zicclsm` uses unaligned memory accesses, by @Polaris-911
   2024-07-23 08:22:37 by Adam Ciarcinski | Files touched by this commit (5) | Package updated
Log message:
lz4: updated to 1.10.0

LZ4 v1.10.0 introduces major updates, integrating 600+ commits that \ 
significantly enhance its capabilities. This version brings multithreading \ 
support to the forefront, harnessing modern multi-core processors to accelerate \ 
both compression and decompression processing. It's a good upgrade for \ 
users looking to optimize performance in high-throughput environments.
   2024-03-17 13:39:50 by Nia Alarie | Files touched by this commit (4)
Log message:
lz4: Libtoolize.

As well as making this package more portable to exotic linkers, it
can now take better advantage of make-level parallelism.
   2023-06-15 12:03:35 by Taylor R Campbell | Files touched by this commit (3)
Log message:
archivers/lz4: Remove cross-compilation patch; make different target.

The `all' target apparently includes things that aren't necessary for
the build products we expect.  Just use an empty target so that make
selects the first one in the makefile, which according to
https://github.com/lz4/lz4/issues/1240 is the reasonable choice here.

No change to the build products that are installed -- this just makes
lz4 build fewer things.
   2023-06-14 13:07:43 by Taylor R Campbell | Files touched by this commit (3)
Log message:
archivers/lz4: Fix cross-compilation.
   2022-08-16 15:02:56 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
lz4: updated to 1.9.4

v1.9.4:
perf : faster decoding speed (~+20%) on Apple Silicon platforms, by @zeux
perf : faster decoding speed (~+70%) for -BD4 setting in CLI
api : new function LZ4_decompress_safe_partial_usingDict() by @yawqi
api : lz4frame: ability to provide custom allocators at state creation
api : can skip checksum validation for improved decoding speed
api : new experimental unit lz4file for file i/o API, by @anjiahao1
api : new experimental function LZ4F_uncompressedUpdate(), by @alexmohr
cli : --list works on stdin input, by @Low-power
cli : --no-crc does not produce (compression) nor check (decompression) checksums
cli : fix: --test and --list produce an error code when parsing invalid input
cli : fix: support skippable frames when passed via stdin, reported by @davidmankin
build: fix: Makefile respects CFLAGS directives passed via environment variable
build: LZ4_FREESTANDING, new build macro for freestanding environments, by @t-mat
build: make and make test are compatible with -j parallel run
build: AS/400 compatibility, by @jonrumsey
build: Solaris 10 compatibility, by @pekdon
build: MSVC 2022 support, by @t-mat
build: improved meson script, by @eli-schwartz
doc : Updated LZ4 block format, provide an "implementation notes" section
   2022-07-25 13:12:30 by Thomas Klausner | Files touched by this commit (102)
Log message:
*: remove pkg-config from tools where no buildlink3.mk file is included

Bulk build on NetBSD of these packages had the same result as before
(build succeeds, no PLIST change).