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 @@ | |||
|   #: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 @@ for live media, and for embedded systems where low overhead is needed. | |||
| 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") | ||||
|  |  | |||
		Reference in a new issue