Over the last couple of weeks I've been working on a project to add Go bindings 
for the xz format: https://github.com/jamespfennell/xz

The project uses the Go technology cgo to compile the relevant liblzma C files 
automatically and link them in with the Go binary. From the Go user's 
perspective it looks like a regular Go package and can be used with a single 
`go build` or `go get` invocation, even though its built from the liblzma C 
source. There are existing projects to support xz in Go, but they either (1) 
have a system dependency on liblzma which breaks the typical Go dependency 
setup, or (2) are written from scratch in Go and not as mature as the C 

Right now the Go package only supports the basic xz use case of compressing 
(with one of the 10 presets) and decompressing. But the basic architecture has 
been figured out so more liblzma features could be exposed.

Lasse, would you be interested in adding a link under the bindings section of 
the xz website?


Reply via email to