;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2019, 2020 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2016, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
+ #:use-module (gnu packages benchmark)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages curl)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#: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)
(delete-file (string-append out "/include/minizip/crypt.h"))
#t))))))
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
- (propagated-inputs `(("zlib" ,zlib)))
+ (list autoconf automake libtool))
+ (propagated-inputs (list zlib))
(home-page (package-home-page zlib))
(synopsis "Zip Compression library")
(description
(base32
"0iginbz2m15hcsa3x4y7v3mhk54gr1r7m3ghx0pg4n46vv2snmpi"))))
(build-system gnu-build-system)
- (inputs `(("zlib" ,zlib)))
+ (inputs (list zlib))
(home-page "https://savannah.nongnu.org/projects/fastjar")
(synopsis "Replacement for Sun's 'jar' utility")
(description
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)))
+ (list autoconf automake libtool))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(synopsis "C library for manipulating POSIX tar files")
(description
"libtar is a C library for manipulating POSIX tar files. It handles
"1rnvgcdixjzbrmcr1nv9b6ccrjfrhryaj7jwz28yxxv6lam3xlcg"))))
(build-system gnu-build-system)
(inputs
- `(("bzip2" ,bzip2)))
+ (list bzip2))
(arguments
`(#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(modify-phases %standard-phases
(add-before 'check 'set-up-test-environment
(lambda* (#:key inputs #:allow-other-keys)
- (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
- #t)))))
+ (setenv "TZDIR"
+ (search-input-directory inputs
+ "share/zoneinfo")))))))
(native-inputs
- `(("tzdata" ,tzdata-for-tests)))
+ (list tzdata-for-tests))
(home-page "https://fragglet.github.com/lhasa/")
(synopsis "LHA archive decompressor")
(description "Lhasa is a replacement for the Unix LHA tool, for
(base32
"0h9gb8q7y54m9mvy3jvsmxf21yx8fc3ylzh418hgbbv0i8mbcwky"))))
(build-system gnu-build-system)
- (inputs `(("lzo" ,lzo)))
+ (inputs (list lzo))
(home-page "https://www.lzop.org/")
(synopsis "Compress or expand files")
(description
(modules '((guix build utils)))
(snippet
'(begin
+ ;; Adjust for newer libc versions.
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
"# define _IO_IN_BACKUP 0x100\n"
"#endif\n\n"
"/* BSD stdio derived implementations")))
- #t))))
+ ;; ... and for newer GCC with -fno-common.
+ (substitute* '("src/shar-opts.h"
+ "src/unshar-opts.h"
+ "src/uudecode-opts.h"
+ "src/uuencode-opts.h")
+ (("char const \\* const program_name" all)
+ (string-append "extern " all)))))))
(build-system gnu-build-system)
- (inputs
- `(("which" ,which)))
+ (native-inputs
+ (list which))
(arguments
`(#:phases
(modify-phases %standard-phases
;; in fact test data
(lambda _
(substitute* "tests/shar-1.ok"
- (((which "sh")) "/bin/sh"))
- #t)))))
+ (((which "sh")) "/bin/sh")))))))
(home-page "https://www.gnu.org/software/sharutils/")
(synopsis "Archives in shell scripts, uuencode/uudecode")
(description
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
(inputs
- `(("zlib" ,zlib)))
+ (list zlib))
(home-page "https://github.com/raboof/sfArkLib")
(synopsis "Library for SoundFont decompression")
(description
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
(inputs
- `(("zlib" ,zlib)
- ("sfarklib" ,sfarklib)))
+ (list zlib sfarklib))
(home-page "https://github.com/raboof/sfarkxtc")
(synopsis "Basic sfArk decompressor")
(description "SfArk extractor converts SoundFonts in the compressed legacy
(build-system gnu-build-system)
(outputs (list "out" "static"))
(native-inputs
- `(;; For tests.
- ("python" ,python)
- ("valgrind" ,valgrind)))
+ (list ;; For tests.
+ python valgrind))
(arguments
`(;; Not designed for parallel testing.
;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821
(define-public squashfs-tools
(package
(name "squashfs-tools")
- (version "4.4")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/squashfs/squashfs/"
- "squashfs" version "/"
- "squashfs" version ".tar.gz"))
- (sha256
- (base32
- "0zmhvczscqz0mzh4b9m8m42asq14db0a6lc8clp5ljq5ybrv70d9"))))
+ (version "4.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/plougher/squashfs-tools")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "18d4nwa22vgb8j2badngjngw63f0lj501cvlh3920wqy2mqxwav6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
"XZ_SUPPORT=1"
"LZO_SUPPORT=1"
"LZ4_SUPPORT=1"
+ "ZSTD_SUPPORT=1"
(string-append "INSTALL_DIR=" %output "/bin"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
- (chdir "squashfs-tools")
- #t)))))
+ (chdir "squashfs-tools")))
+ (add-after 'install 'install-documentation
+ ;; Install what very little usage documentation is provided.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name)))
+ (install-file "../USAGE" doc)))))))
(inputs
`(("lz4" ,lz4)
("lzo" ,lzo)
("xz" ,xz)
- ("zlib" ,zlib)))
+ ("zlib" ,zlib)
+ ("zstd:lib" ,zstd "lib")))
(home-page "https://github.com/plougher/squashfs-tools")
(synopsis "Tools to create and extract squashfs file systems")
(description
- "Squashfs is a highly compressed read-only file system for Linux. It uses
-zlib to compress files, inodes, and directories. 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 CDs, and for embedded
-systems where low overhead is needed. This package allows you to create and
-extract such file systems.")
+ "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.
+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.3")
+ (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 "12ipqmjp10574sz64ls8qbgzkxz5dcbzk0l2fxyh2yrrhnjp34mi"))
+ (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
+ (list autoconf automake libtool 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")
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:test-target "tests"))
- (inputs `(("zlib" ,zlib)))
+ (inputs (list zlib))
(home-page "https://zlib.net/pigz/")
(synopsis "Parallel implementation of gzip")
(description
"1ifxr18f2h75gkcrkx8033kwmwmrcgxshpaawyc2n4dzn1p2rqz5"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("libarchive" ,libarchive)))
+ (list pkg-config libarchive))
(home-page "https://github.com/vasi/pixz")
(synopsis "Parallel indexing implementation of LZMA")
(description
(delete-file-recursively dir-name)
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ (list pkg-config))
(inputs
`(("libmspack" ,libmspack)
("libmspack-source" ,(package-source libmspack))))
(define-public libjcat
(package
(name "libjcat")
- (version "0.1.6")
+ (version "0.1.9")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1a2z34m8611xvna9kwch8ralxx7c9mk4rm9vrxx7p9hr8sbqbsaz"))))
+ (base32 "02cgznk6qdylqpcyks6qykmvhpz1pplvnxp72bjzji1y6yj3zpkj"))))
(build-system meson-build-system)
(native-inputs
- `(("gobject-introspection" ,gobject-introspection)
- ("help2man" ,help2man)
- ("pkg-config" ,pkg-config)))
+ (list gobject-introspection help2man pkg-config))
(inputs
- `(("git" ,git)
- ("glib" ,glib)
- ("gnupg" ,gnupg)
- ("gnutls" ,gnutls)
- ("gpgme" ,gpgme)
- ("json-glib" ,json-glib)
- ("vala" ,vala)))
+ (list git
+ glib
+ gnupg
+ gnutls
+ gpgme
+ json-glib
+ vala))
(home-page "https://github.com/hughsie/libjcat")
(synopsis "Library for reading and writing Jcat files")
(description
#t))))
(build-system gnu-build-system)
(native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)))
+ (list autoconf automake))
(arguments
`(#:phases
(modify-phases %standard-phases
'())
("perl" ,perl)))
(inputs
- `(("bzip2" ,bzip2)
- ("lz4" ,lz4)
- ("lzo" ,lzo)
- ("zlib" ,zlib)))
+ (list bzip2 lz4 lzo zlib))
(home-page "http://ck.kolivas.org/apps/lrzip/")
(synopsis "Large file compressor with a very high compression ratio")
(description "lrzip is a compression utility that uses long-range
(define-public snappy
(package
(name "snappy")
- (version "1.1.8")
+ (version "1.1.9")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1j0kslq2dvxgkcxl1gakhvsa731yrcvcaipcp5k8k7ayicvkv9jv"))
- (patches (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch"))))
+ (base32 "03zz56h79z0sgvi5sangjqn9dahhzvf645v26n1y0gwmfbmsax95"))
+ (patches
+ (search-patches "snappy-add-O2-flag-in-CmakeLists.txt.patch"
+ "snappy-add-inline-for-GCC.patch"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+ `(#:configure-flags
+ (list "-DBUILD_SHARED_LIBS=ON"
+ ;; These would be installed alongside Snappy otherwise.
+ "-DBENCHMARK_ENABLE_INSTALL=OFF"
+ "-DINSTALL_GTEST=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-third_party-subprojects
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (with-directory-excursion "third_party"
+ (for-each (lambda (subproject)
+ (let* ((input (string-append subproject "-source"))
+ (source (assoc-ref (or native-inputs inputs)
+ input)))
+ (with-directory-excursion subproject
+ ;; Take advantage of the coincidence that both
+ ;; use GIT-FETCH, which creates a directory.
+ (copy-recursively source "."))))
+ (list "benchmark"
+ "googletest"))
+ #;punt))))))
+ (native-inputs
+ `(("benchmark-source" ,(package-source benchmark))
+ ("googletest-source" ,(package-source googletest))))
(home-page "https://github.com/google/snappy")
(synopsis "Fast compressor/decompressor")
(description "Snappy is a compression/decompression library. It does not
100% bigger.")
(license license:asl2.0)))
+;; We need this for irods.
+(define-public snappy-with-clang6
+ (package
+ (inherit snappy)
+ (name "snappy-with-clang")
+ ;; XXX 1.1.9 fails to build with clang with
+ ;; error: invalid output constraint '=@ccz' in asm
+ (version "1.1.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/snappy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j0kslq2dvxgkcxl1gakhvsa731yrcvcaipcp5k8k7ayicvkv9jv"))))
+ (arguments
+ `(#:configure-flags
+ '("-DBUILD_SHARED_LIBS=ON"
+ "-DCMAKE_CXX_COMPILER=clang++"
+ "-DCMAKE_CXX_FLAGS=-stdlib=libc++"
+ "-DCMAKE_EXE_LINKER_FLAGS=-lc++abi")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (let ((gcc (assoc-ref (or native-inputs inputs) "gcc")))
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-join
+ (cons* (search-input-directory inputs
+ "/include/c++/v1")
+ ;; Hide GCC's C++ headers so that they do not interfere with
+ ;; the Clang headers.
+ (delete (string-append gcc "/include/c++")
+ (string-split (getenv "CPLUS_INCLUDE_PATH")
+ #\:)))
+ ":"))
+ (format #true
+ "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
+ (getenv "CPLUS_INCLUDE_PATH"))))))))
+ (properties `((hidden? . #true)))
+ (native-inputs
+ `(("clang" ,clang-toolchain-6)))
+ (inputs
+ (list libcxx+libcxxabi-6 libcxxabi-6))))
+
(define-public p7zip
(package
(name "p7zip")
(find-files "Utils/file_Codecs_Rar_so.py")))
(delete-file-recursively "CPP/7zip/Archive/Rar")
(delete-file-recursively "CPP/7zip/Compress/Rar")
- #t))
+ ;; Fix FTBFS with gcc-10.
+ (substitute* "CPP/Windows/ErrorMsg.cpp"
+ (("switch\\(errorCode\\) \\{")
+ "switch(static_cast<HRESULT>(errorCode)) {"))))
(patches (search-patches "p7zip-CVE-2016-9296.patch"
"p7zip-CVE-2017-17969.patch"
"p7zip-remove-unused-code.patch"))))
#:phases
(modify-phases %standard-phases
(replace 'configure
- (lambda* (#:key system outputs #:allow-other-keys)
- (invoke "cp"
- (let ((system ,(or (%current-target-system)
- (%current-system))))
- (cond
- ((string-prefix? "x86_64" system)
- "makefile.linux_amd64_asm")
- ((string-prefix? "i686" system)
- "makefile.linux_x86_asm_gcc_4.X")
- (else
- "makefile.linux_any_cpu_gcc_4.X")))
- "makefile.machine")))
- (replace 'check
(lambda _
- (invoke "make" "test")
- (invoke "make" "test_7z")
- (invoke "make" "test_7zr"))))))
+ (copy-file
+ ,(cond ((target-x86-64?)
+ "makefile.linux_amd64_asm")
+ ((target-x86-32?)
+ "makefile.linux_x86_asm_gcc_4.X")
+ (else
+ "makefile.linux_any_cpu_gcc_4.X"))
+ "makefile.machine")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "test")
+ (invoke "make" "test_7z")
+ (invoke "make" "test_7zr")))))))
(native-inputs
- (let ((system (or (%current-target-system)
- (%current-system))))
- `(,@(cond ((string-prefix? "x86_64" system)
- `(("yasm" ,yasm)))
- ((string-prefix? "i686" system)
- `(("nasm" ,nasm)))
- (else '())))))
+ (cond ((target-x86-64?)
+ (list yasm))
+ ((target-x86-32?)
+ (list nasm))
+ (else '())))
(home-page "http://p7zip.sourceforge.net/")
(synopsis "Command-line file archiver with high compression ratio")
(description "p7zip is a command-line port of 7-Zip, a file archiver that
(install-file "libgzstream.a" lib)
(install-file "gzstream.h" include)
#t))))))
- (propagated-inputs `(("zlib" ,zlib)))
+ (propagated-inputs (list zlib))
(home-page "http://www.cs.unc.edu/Research/compgeom/gzstream/")
(synopsis "Compressed C++ iostream")
(description "gzstream is a small library for providing zlib
functionality in a C++ iostream.")
(license license:lgpl2.1+)))
+(define-public zopfli
+ (package
+ (name "zopfli")
+ (version "1.0.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/zopfli")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0dr8n4j5nj2h9n208jns56wglw59gg4qm3s7c6y3hs75d0nnkhm4"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no test suite
+ #:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
+ (home-page "https://github.com/google/zopfli")
+ (synopsis "Very good, but slow, deflate or zlib compression")
+ (description "Zopfli Compression Algorithm is a compression library
+programmed in C to perform very good, but slow, deflate or zlib compression.
+ZopfliCompress supports the deflate, gzip and zlib output formats. This
+library can only compress, not decompress; existing zlib or deflate libraries
+can decompress the data.")
+ (license license:asl2.0)))
+
(define-public zpaq
(package
(name "zpaq")
(string-append "PREFIX="
(assoc-ref %outputs "out")))))
(native-inputs
- `(("perl" ,perl))) ; for pod2man
+ (list perl)) ; for pod2man
(home-page "http://mattmahoney.net/dc/zpaq.html")
(synopsis "Incremental journaling archiver")
(description "ZPAQ is a command-line archiver for realistic situations with
(base32 "1k5cw6vnpja8yjlnhx5124xrw9i8s1l539hfdqqrqz3l5gn0bnyd"))
(file-name "unshield-the-feeble-files-spanish.zip")))))
(native-inputs
- `(("unzip" ,unzip)))
+ (list unzip))
(arguments
`(#:out-of-source? #f
#:phases
(define-public zstd
(package
(name "zstd")
- (version "1.4.9")
+ (version "1.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz"))
(sha256
- (base32 "14yj7309gsvg39rki4xqnd6w5idmqi0655v1fc0mk1m2kvhp9b19"))))
+ (base32 "150y541303vnvfhd8wkbih00lfvvm98rd12yijwlbkqzg3xgp52i"))))
(build-system gnu-build-system)
(outputs '("out" ;1.2MiB executables and documentation
"lib" ;1.2MiB shared library and headers
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests-32bit
- ;; Remove when https://github.com/facebook/zstd/issues/2528 is fixed.
- (lambda _
- (substitute* "tests/playTests.sh"
- (("roundTripTest -g8M \"19 -T0 --long\"")
- "roundTripTest -g8M \"16 -T0 --long\""))))
(add-after 'unpack 'remove-bogus-check
(lambda _
;; lib/Makefile falsely claims that no .pc file can be created.
(base32
"0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h"))))
(build-system gnu-build-system)
- (inputs `(("bzip2" ,bzip2)))
+ (inputs (list bzip2))
(arguments
`(#:tests? #f ; no test target
#:make-flags (let ((out (assoc-ref %outputs "out")))
"unzip-attribs-overflow.patch"
"unzip-overflow-on-invalid-input.patch"
"unzip-format-secure.patch"
- "unzip-overflow-long-fsize.patch"))))
- (replacement unzip/fixed)
+ "unzip-overflow-long-fsize.patch"
+
+ ;; From Fedora
+ "unzip-alt-iconv-utf8.patch"
+ "unzip-alt-iconv-utf8-print.patch"
+ "unzip-fix-recmatch.patch"
+ "unzip-case-insensitive.patch"
+ "unzip-close.patch"
+ "unzip-COVSCAN-fix-unterminated-string.patch"
+ "unzip-CVE-2016-9844.patch"
+ "unzip-CVE-2018-1000035.patch"
+ "unzip-CVE-2018-18384.patch"
+ "unzip-exec-shield.patch"
+ "unzip-manpage-fix.patch"
+ "unzip-overflow.patch"
+ "unzip-timestamp.patch"
+ "unzip-valgrind.patch"
+ "unzip-x-option.patch"
+ ;; CVE-2019-13232
+ "unzip-zipbomb-manpage.patch"
+ "unzip-zipbomb-part1.patch"
+ "unzip-zipbomb-part2.patch"
+ "unzip-zipbomb-part3.patch"
+
+ ;; https://github.com/madler/unzip/issues/2
+ "unzip-32bit-zipbomb-fix.patch"))))
(build-system gnu-build-system)
;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO
(arguments
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
-(define unzip/fixed
- (package
- (inherit unzip)
- (version "6.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/infozip"
- "/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz"))
- (sha256
- (base32
- "0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"))
- (patches (search-patches "unzip-CVE-2014-8139.patch"
- "unzip-CVE-2014-8140.patch"
- "unzip-CVE-2014-8141.patch"
- "unzip-CVE-2014-9636.patch"
- "unzip-CVE-2015-7696.patch"
- "unzip-CVE-2015-7697.patch"
- "unzip-allow-greater-hostver-values.patch"
- "unzip-initialize-symlink-flag.patch"
- "unzip-remove-build-date.patch"
- "unzip-attribs-overflow.patch"
- "unzip-overflow-on-invalid-input.patch"
- "unzip-format-secure.patch"
- "unzip-overflow-long-fsize.patch"
-
- ;; From Fedora
- "unzip-alt-iconv-utf8.patch"
- "unzip-alt-iconv-utf8-print.patch"
- "unzip-fix-recmatch.patch"
- "unzip-case-insensitive.patch"
- "unzip-close.patch"
- "unzip-COVSCAN-fix-unterminated-string.patch"
- "unzip-CVE-2016-9844.patch"
- "unzip-CVE-2018-1000035.patch"
- "unzip-CVE-2018-18384.patch"
- "unzip-exec-shield.patch"
- "unzip-manpage-fix.patch"
- "unzip-overflow.patch"
- "unzip-timestamp.patch"
- "unzip-valgrind.patch"
- "unzip-x-option.patch"
- ;; CVE-2019-13232
- "unzip-zipbomb-manpage.patch"
- "unzip-zipbomb-part1.patch"
- "unzip-zipbomb-part2.patch"
- "unzip-zipbomb-part3.patch"
-
- ;; https://github.com/madler/unzip/issues/2
- "unzip-32bit-zipbomb-fix.patch"))))))
-
(define-public ziptime
(let ((commit "2a5bc9dfbf7c6a80e5f7cb4dd05b4036741478bc")
(revision "0"))
"0i6bpa2b13z19alm6ig80364dnin1w28cvif18k6wkkb0w3dzp8y"))))
(build-system cmake-build-system)
(inputs
- `(("zlib" ,zlib)))
- (native-inputs `(("perl" ,perl) ; for the documentation
- ("pkg-config" ,pkg-config)
- ("python" ,python)
- ("zip" ,zip))) ; to create test files
+ (list zlib))
+ (native-inputs (list perl ; for the documentation
+ pkg-config python zip)) ; to create test files
(synopsis "Library for accessing zip files")
(description
"ZZipLib is a library based on zlib for accessing zip files.")
(define-public libzip
(package
(name "libzip")
- (version "1.7.3")
+ (version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://libzip.org/download/libzip-" version ".tar.xz"))
(sha256
(base32
- "0ck1dk7zn5qzpgxklg0r26nfsf04xb6c46gsig060hkvvgzp6156"))))
+ "0zn9vaiwy2izj8cnm8i7c2mbdn38n328grqb8f07x55s4kd3nxph"))))
(native-inputs
- `(("perl" ,perl)))
+ (list perl pkg-config))
(inputs
- `(("gnutls" ,gnutls)
- ("liblzma" ,xz)
- ("openssl" ,openssl)
- ("zlib" ,zlib)))
+ (list gnutls xz openssl zlib
+ `(,zstd "lib")))
(build-system cmake-build-system)
(home-page "https://libzip.org")
(synopsis "C library for reading, creating, and modifying zip archives")
"/bin/file'")))
#t)))))
(inputs
- `(("perl" ,perl)
- ("file" ,file)))
+ (list perl file))
(home-page "https://www.nongnu.org/atool/")
(synopsis "Universal tool to manage file archives of various types")
(description "The main command is @command{aunpack} which extracts files
(base32 "19zinpx7hssl6r3vilpvq2s7wha3545xan8b0vcvsxnyipdx3n0l"))))
(build-system gnu-build-system)
(inputs
- `(("lzlib" ,lzlib)))
+ (list lzlib))
(home-page "https://www.nongnu.org/lzip/plzip.html")
(synopsis "Parallel lossless data compressor for the lzip format")
(description
(build-system cmake-build-system)
(arguments
`(#:tests? #f))
- (inputs `(("boost" ,boost)
- ("libiconv" ,libiconv)
- ("xz" ,xz)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (inputs (list boost xz))
+ (native-inputs (list pkg-config))
(home-page "https://constexpr.org/innoextract/")
(synopsis "Tool for extracting Inno Setup installers")
(description "innoextract allows extracting Inno Setup installers under
non-Windows systems without running the actual installer using wine.")
(license license:zlib)))
-(define-public google-brotli
+(define-public isa-l
(package
- (name "google-brotli")
+ (name "isa-l")
+ (version "2.30.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/intel/isa-l")
+ ;; Corresponds to tag v2.30.0
+ (commit "2df39cf5f1b9ccaa2973f6ef273857e4dc46f0cf")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06ymkrf3hkkd94i59ahm79545rk709y8rd0v2l86w38z6is942q0"))))
+ (build-system gnu-build-system)
+ (native-inputs (list autoconf automake libtool nasm))
+ (home-page "https://github.com/intel/isa-l")
+ (synopsis "Intelligent storage acceleration library")
+ (description "ISA-L is a collection of optimized low-level functions
+targeting storage applications. ISA-L includes:
+
+@itemize
+@item Erasure codes: fast block Reed-Solomon type erasure codes for any
+ encode/decode matrix;
+@item CRC: fast implementations of cyclic redundancy check. Six different
+ polynomials supported: iscsi32, ieee32, t10dif, ecma64, iso64, jones64;
+@item Raid: calculate and operate on XOR and P+Q parity found in common RAID
+ implementations;
+@item Compression: fast deflate-compatible data compression;
+@item De-compression: fast inflate-compatible data compression;
+@item igzip: command line application like gzip, accelerated with ISA-L.
+@end itemize
+")
+ (license license:bsd-3)))
+
+(define-public brotli
+ (package
+ (name "brotli")
(version "1.0.9")
(source
(origin
The specification of the Brotli Compressed Data Format is defined in RFC 7932.")
(license license:expat)))
-(define-public brotli
- ;; We used to provide an older version under the name "brotli".
- (deprecated-package "brotli" google-brotli))
+(define-public google-brotli
+ (deprecated-package "google-brotli" brotli))
-(define-public python-google-brotli
+(define-public python-brotli
(package
- (inherit google-brotli)
- (name "python-google-brotli")
+ (inherit brotli)
+ (name "python-brotli")
(build-system python-build-system)
(arguments '())
- (synopsis "Python interface to google-brotli")
- (description "@code{python-google-brotli} provides a Python interface to
-@code{google-brotli}, an implementation of the Brotli lossless compression
-algorithm.")))
+ (synopsis "Python interface to Brotli")
+ (description "This package provides a Python interface to the @code{brotli}
+package, an implementation of the Brotli lossless compression algorithm.")))
+
+(define-public python-google-brotli
+ (deprecated-package "python-google-brotli" python-brotli))
(define-public ucl
(package
(patches (search-patches "upx-CVE-2021-20285.patch"))))
(build-system gnu-build-system)
(native-inputs
- `(("perl" ,perl)))
+ (list perl))
(inputs
- `(("ucl" ,ucl)
- ("zlib" ,zlib)))
+ (list ucl zlib))
(arguments
`(#:make-flags
(list "all")
download times, and other distribution and storage costs.")
(license license:gpl2+)))
-(define-public quazip
+(define-public quazip-0
(package
(name "quazip")
(version "0.9.1")
(arguments
`(#:tests? #f)) ;no test
(native-inputs
- `(("doxygen" ,doxygen)))
+ (list doxygen))
(inputs
- `(("qtbase" ,qtbase)
- ("zlib" ,zlib)))
+ (list qtbase-5 zlib))
(home-page "https://stachenov.github.io/quazip/index.html")
(synopsis "Qt/C++ wrapper for Minizip")
(description "QuaZIP is a simple C++ wrapper over Gilles Vollant's
whatever you would like to use on your zipped files.
QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both
-reading from and writing to ZIP archives. ")
+reading from and writing to ZIP archives.")
;; Project is distributed under LGPL, but "quazip/z*" "quazip/unzip.*" are
;; distributed under zlib terms.
(license (list license:lgpl2.1+ license:zlib))))
+(define-public quazip
+ (package
+ (inherit quazip-0)
+ (name "quazip")
+ (version "1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stachenov/quazip")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1dwld7jxhjz9l33lrqwvklazdy7ygi6n1m4ry1n1sk5dnschrhby"))))))
+
+(define-public zchunk
+ (package
+ (name "zchunk")
+ (version "1.1.16")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zchunk/zchunk")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nlzwnv6wh2yjyyv27f81jnvmk7psgpbnw7dsdp7frfkya569hgv"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/zck_gen_zdict.c"
+ (("/usr/bin/zstd")
+ (string-append (assoc-ref inputs "zstd")
+ "/bin/zstd"))))))))
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list curl zstd))
+ (propagated-inputs
+ `(("zstd:lib" ,zstd "lib"))) ;in Requires.private of zck.pc
+ (home-page "https://github.com/zchunk/zchunk")
+ (synopsis "Compressed file format for efficient deltas")
+ (description "The zchunk compressed file format allows splitting a file
+into independent chunks. This makes it possible to retrieve only changed
+chunks when downloading a new version of the file, and also makes zchunk files
+efficient over rsync. Along with the library, this package provides the
+following utilities:
+@table @command
+@item unzck
+To decompress a zchunk file.
+@item zck
+To compress a new zchunk file, or re-compress an existing one.
+@item zck_delta_size
+To calculate the difference between two zchunk files.
+@item zck_gen_zdict
+To create a dictionary for a zchunk file.
+@item zck_read_header
+To read a zchunk header.
+@item zckdl
+To download a zchunk file.
+@end table")
+ (license license:bsd-2)))
+
(define-public zutils
(package
(name "zutils")
make-flags))))))
(native-inputs
;; Needed to extract the source tarball and run the test suite.
- `(("lzip" ,lzip)))
+ (list lzip))
(home-page "https://www.nongnu.org/zutils/zutils.html")
(synopsis "Utilities that transparently operate on compressed files")
(description
(bin (string-append (assoc-ref %outputs "out") "/bin"))
(target (string-append bin "/" name))
(python (string-append (assoc-ref %build-inputs "python") "/bin"))
- (7z (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z"))
- (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip")))
+ (7z (search-input-file %build-inputs "/bin/7z"))
+ (unzip (search-input-file %build-inputs "/bin/unzip")))
(setenv "PATH" (string-append (getenv "PATH") ":" python))
(mkdir-p bin)
(copy-file source target)
(define-public ncompress
(package
(name "ncompress")
- (version "4.2.4.6")
+ (version "5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1a4yir1ilafz0nzxdwigj204j4yy2zljbc501nsaqqm3dxdap8zn"))))
+ "090kksxrlqnsdc76fzz2j2ajc98mhmfwyn163ca2ia9niqmlpcm0"))))
(arguments
- '(#:make-flags (list "CC=gcc"
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "BINDIR=" %output "/bin")
(string-append "MANDIR=" %output "/share/man/man1"))
#:phases (modify-phases %standard-phases
- (delete 'configure))))
+ (delete 'configure)))) ; no configure script
(build-system gnu-build-system)
(home-page "https://github.com/vapier/ncompress/")
(synopsis "Original Lempel-Ziv compress/uncompress programs")
(base32 "00adrjpxqlaccrwjf65w3vhxfswdj0as8aj263c6f9b85llypc5v"))))
(build-system glib-or-gtk-build-system)
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("intltool" ,intltool)
- ("libxslt" ,libxslt)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal intltool libxslt pkg-config))
(inputs
- `(("adwaita-icon-theme" ,adwaita-icon-theme) ; hard-coded theme
- ("gtk+" ,gtk+)))
+ (list adwaita-icon-theme ; hard-coded theme
+ gtk+))
(home-page "https://github.com/ib/xarchiver")
(synopsis "Graphical front-end for archive operations")
(description "Xarchiver is a front-end to various command line archiving
(base32
"1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70"))))
(build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ '("-DDEACTIVATE_AVX2=ON"
+ "-DPREFER_EXTERNAL_LZ4=ON"
+ "-DPREFER_EXTERNAL_SNAPPY=ON"
+ "-DPREFER_EXTERNAL_ZLIB=ON"
+ "-DPREFER_EXTERNAL_ZSTD=ON")))
+ (inputs
+ `(("lz4" ,lz4)
+ ("snappy" ,snappy)
+ ("zlib" ,zlib)
+ ("zstd:lib" ,zstd "lib")))
(home-page "https://blosc.org")
(synopsis "Blocking, shuffling and lossless compression library")
(description
to their original, binary CD format.")
(license license:gpl3+)))
+(define-public libdeflate
+ (package
+ (name "libdeflate")
+ (version "1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ebiggers/libdeflate")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nw1zhr2s6ffcc3s0n5wsshvjb6pmybwapagli135zzn2fx1pdiz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ (list zlib))
+ (home-page "https://github.com/ebiggers/libdeflate")
+ (synopsis "Library for DEFLATE/zlib/gzip compression and decompression")
+ (description "Libdeflate is a library for fast, whole-buffer DEFLATE-based
+compression and decompression. The supported formats are:
+
+@enumerate
+@item DEFLATE (raw)
+@item zlib (a.k.a. DEFLATE with a zlib wrapper)
+@item gzip (a.k.a. DEFLATE with a gzip wrapper)
+@end enumerate
+")
+ (license license:expat)))
+
(define-public tarlz
(package
(name "tarlz")
- (version "0.19")
+ (version "0.21")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/tarlz/"
"tarlz-" version ".tar.lz"))
(sha256
- (base32 "09xal55973ivzpaja93jcc1pfla8gb3vrk8dx7pj9qvvz5aynf9n"))))
+ (base32 "1x5dw03lcwfigcv97cg70gkbkfycjmv1012s9lwnl4izvl9235qg"))))
(build-system gnu-build-system)
(native-inputs
- `(("lzip" ,lzip)))
+ (list lzip))
(inputs
- `(("lzlib" ,lzlib)))
+ (list lzlib))
(home-page "https://www.nongnu.org/lzip/tarlz.html")
(synopsis "Combination of the tar archiver and the lzip compressor")
(description
tar tools like GNU tar, which treat it like any other tar.lz archive. Tarlz
can append files to the end of such compressed archives.")
(license license:gpl2+)))
+
+(define-public libcbor
+ (package
+ (name "libcbor")
+ (version "0.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PJK/libcbor")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "01dv4vxcmbvpphqy16vqiwh25wx11x630js5wfnx7cryarsh9ld7"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:configure-flags
+ (let* ((out (assoc-ref %outputs "out"))
+ (lib (string-append out "/lib")))
+ (list
+ "-DCMAKE_BUILD_TYPE=Release"
+ "-DBUILD_SHARED_LIBS=ON"
+ "-DCBOR_CUSTOM_ALLOC=ON"
+ (string-append "-DCMAKE_INSTALL_LIBDIR=" lib)
+ (string-append "-DCMAKE_INSTALL_RPATH=" lib)))))
+ (synopsis "The C library for parsing and generating CBOR")
+ (description
+ "The Concise Binary Object Representation (CBOR) is a data format whose
+design goals include the possibility of extremely small code size, fairly
+small message size, and extensibility without the need for version
+negotiation. These design goals make it different from earlier binary
+serializations such as ASN.1 and MessagePack.")
+ (license license:expat)
+ (home-page "https://github.com/PJK/libcbor")))
+
+(define-public fcrackzip
+ (package
+ (name "fcrackzip")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://oldhome.schmorp.de/marc/data/"
+ "fcrackzip-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l1qsk949vnz18k4vjf3ppq8p497966x4c7f2yx18x8pk35whn2a"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases
+ '(modify-phases %standard-phases
+ (add-after 'unpack 'fix-reference-to-unzip
+ (lambda _
+ (substitute* "main.c"
+ (("\"unzip")
+ (string-append "\"" (which "unzip")))))))))
+ (inputs
+ (list perl unzip))
+ (home-page "http://oldhome.schmorp.de/marc/fcrackzip.html")
+ (synopsis "Zip password cracker")
+ (description "Fcrackzip is a Zip file password cracker.")
+ (license license:gpl2+)))