From 04d914d403c6471fc78791fdc82035b53a5db513 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20F=20Bj=C3=B6rklund?= Date: Sun, 16 Mar 2025 13:53:42 +0100 Subject: [PATCH] Allow disabling lzo and lzma By setting the buildtags "no_lzo" and/or "no_lzma", one can drop the library dependency on lzo and lzma. The same could be done for xz as well, but there are still lots of archives using xz compression out there. --- internal/decompress/lzma.go | 1 + internal/decompress/lzma_none.go | 12 ++++++++++++ internal/decompress/lzo.go | 1 + internal/decompress/lzo_none.go | 12 ++++++++++++ 4 files changed, 26 insertions(+) create mode 100644 internal/decompress/lzma_none.go create mode 100644 internal/decompress/lzo_none.go diff --git a/internal/decompress/lzma.go b/internal/decompress/lzma.go index e79d0db..f204b2a 100644 --- a/internal/decompress/lzma.go +++ b/internal/decompress/lzma.go @@ -1,3 +1,4 @@ +//go:build !no_lzma package decompress import ( diff --git a/internal/decompress/lzma_none.go b/internal/decompress/lzma_none.go new file mode 100644 index 0000000..718127b --- /dev/null +++ b/internal/decompress/lzma_none.go @@ -0,0 +1,12 @@ +//go:build no_lzma +package decompress + +import ( + "fmt" +) + +type Lzma struct{} + +func (l Lzma) Decompress(_ []byte) ([]byte, error) { + return nil, fmt.Errorf("lzma is not supported") +} diff --git a/internal/decompress/lzo.go b/internal/decompress/lzo.go index f5783b4..74ab7b4 100644 --- a/internal/decompress/lzo.go +++ b/internal/decompress/lzo.go @@ -1,3 +1,4 @@ +//go:build !no_lzo package decompress import ( diff --git a/internal/decompress/lzo_none.go b/internal/decompress/lzo_none.go new file mode 100644 index 0000000..0901043 --- /dev/null +++ b/internal/decompress/lzo_none.go @@ -0,0 +1,12 @@ +//go:build no_lzo +package decompress + +import ( + "fmt" +) + +type Lzo struct{} + +func (l Lzo) Decompress(_ []byte) ([]byte, error) { + return nil, fmt.Errorf("lzo is not supported") +}