mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: Add squashfs-tools-ng.
* gnu/packages/compression.scm (squashfs-tools-ng): New public variable.
This commit is contained in:
parent
a7e0266c9b
commit
460392d1f0
1 changed files with 74 additions and 0 deletions
|
@ -84,6 +84,7 @@ (define-module (gnu packages compression)
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages selinux)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages version-control)
|
||||
|
@ -904,6 +905,79 @@ (define-public squashfs-tools
|
|||
This package allows you to create and extract such file systems.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public squashfs-tools-ng
|
||||
(package
|
||||
(name "squashfs-tools-ng")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AgentD/squashfs-tools-ng")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "13gx6mc57wjjnrpnkb74zi2wiqazz2q715y1zz7rff02wh1vb5k9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled third-party libraries.
|
||||
(for-each (lambda (directory)
|
||||
(substitute* "Makefile.am"
|
||||
(((format #f "^include ~a.*" directory)) ""))
|
||||
(delete-file-recursively directory))
|
||||
(list "lib/lz4"
|
||||
"lib/zlib"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-static")))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libselinux" ,libselinux)
|
||||
|
||||
;; Compression algorithms.
|
||||
("bzip2" ,bzip2)
|
||||
("lz4" ,lz4)
|
||||
("lzo" ,lzo)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)
|
||||
("zstd:lib" ,zstd "lib")))
|
||||
(home-page "https://github.com/AgentD/squashfs-tools-ng")
|
||||
(synopsis "Tools to create and extract squashfs file systems")
|
||||
(description
|
||||
"Squashfs is a highly compressed read-only file system for Linux. It
|
||||
compresses files, inodes, and directories with one of several compressors.
|
||||
All blocks are packed to minimize the data overhead, and block sizes of
|
||||
between 4K and 1M are supported. It is intended to be used for archival use,
|
||||
for live media, and for embedded systems where low overhead is needed.
|
||||
|
||||
The squashfs-tools-ng package offers alternative tooling to create and extract
|
||||
such file systems. It is not based on the older squashfs-tools package and
|
||||
its tools have different names:
|
||||
|
||||
@enumerate
|
||||
@item @command{gensquashfs} produces SquashFS images from a directory or
|
||||
@command{gen_init_cpio}-like file listings and can generate SELinux labels.
|
||||
@item @command{rdsquashfs} inspects and unpacks SquashFS images.
|
||||
@item @command{sqfs2tar} and @command{tar2sqfs} convert between SquashFS and
|
||||
tarballs.
|
||||
@item @command{sqfsdiff} compares the contents of two SquashFS images.
|
||||
@end enumerate
|
||||
|
||||
These commands are largely command-line wrappers around the included
|
||||
@code{libsquashfs} library that intends to make SquashFS available to other
|
||||
applications as an embeddable, extensible archive format.
|
||||
|
||||
Both the library and tools operate deterministically: same input will produce
|
||||
byte-for-byte identical output.")
|
||||
;; Upstream goes to some lengths to ensure that libsquashfs is LGPL3+.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pigz
|
||||
(package
|
||||
(name "pigz")
|
||||
|
|
Loading…
Reference in a new issue