From e5abf51296fa1405c4a6314eafc1b97d247c5b60 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 25 Jul 2026 14:03:03 +0900 Subject: internal/pkg: decompress xz streams This uses a port of the public domain xz implementation. Signed-off-by: Ophestra --- internal/xz/doc.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 internal/xz/doc.go (limited to 'internal/xz/doc.go') diff --git a/internal/xz/doc.go b/internal/xz/doc.go new file mode 100644 index 00000000..01a9f132 --- /dev/null +++ b/internal/xz/doc.go @@ -0,0 +1,29 @@ +// Package xz implements XZ decompression natively in Go. +// +// # Usage +// +// For ease of use, this package is designed to have a similar API to +// compress/gzip. See the examples for further details. +// +// # Implementation +// +// This package is a translation from C to Go of XZ Embedded +// (http://tukaani.org/xz/embedded.html) with enhancements made so as +// to implement all mandatory and optional parts of the XZ file format +// specification v1.0.4. It supports all filters and block check +// types, supports multiple streams, and performs index verification +// using SHA-256 as recommended by the specification. +// +// # Speed +// +// On the author's Intel Ivybridge i5, decompression speed is about +// half that of the standard XZ Utils (tested with a recent linux +// kernel tarball). +// +// # Thanks +// +// Thanks are due to Lasse Collin and Igor Pavlov, the authors of XZ +// Embedded, on whose code package xz is based. It would not exist +// without their decision to allow others to modify and reuse their +// code. +package xz -- cgit v1.3.1