;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; 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 © 2020 Léo Le Bouter <lle-bout@zaclys.net>
;;; 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 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
(define-public xz
(package
(name "xz")
- (version "5.2.4")
+ (version "5.2.5")
(source (origin
(method url-fetch)
(uri (list (string-append "http://tukaani.org/xz/xz-" version
version ".tar.gz")))
(sha256
(base32
- "0ibi2zsfaz6l756spjwc5rayf4ckgc9hwmy8qinppcyk4svz64mm"))))
+ "045s9agl3bpv3swlwydhgsqh7791957vmgw2plw8f1rks07r3x7n"))))
(build-system gnu-build-system)
(arguments
`(#: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
(define-public lzip
(package
(name "lzip")
- (version "1.21")
+ (version "1.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzip-"
version ".tar.gz"))
(sha256
(base32
- "12qdcw5k1cx77brv9yxi1h4dzwibhfmdpigrj43nfk8nscwm12z4"))))
+ "0j59hx72258334rmkwn57ahr6s69nlrx0a5ip1jw2fbiwr12sd63"))))
(build-system gnu-build-system)
(home-page "https://www.nongnu.org/lzip/lzip.html")
(synopsis "Lossless data compressor based on the LZMA algorithm")
(string-append "extern " all)))))))
(build-system gnu-build-system)
(native-inputs
- `(("which" ,which)))
+ (list which))
(arguments
`(#:phases
(modify-phases %standard-phases
(("/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"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Fix build with -fno-common (default in GCC 10).
- ;; Remove for squashfs-tools > 4.4.
- (substitute* "squashfs-tools/mksquashfs.h"
- (("struct cache \\*bwriter_buffer" all)
- (string-append "extern " all)))))))
+ (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.8")
+ (version "0.1.9")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "18qkyg19r7fxzv93kar5n808n3582ygjmqwa7rnyg5y4b6hnwihl"))))
+ (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
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-third_party-subprojects
- (lambda* (#:key inputs #:allow-other-keys)
+ (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 inputs input)))
+ (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.
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.4")
+ (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 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr"))))
- (replacement zstd/fixed)
+ (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 'remove-bogus-check
+ (lambda _
+ ;; lib/Makefile falsely claims that no .pc file can be created.
+ (substitute* "lib/Makefile"
+ (("error configured .*dir ")
+ "true "))
+ #t))
+ (add-after 'unpack 'patch-command-file-names
+ ;; Don't require hard requirements to be in $PATH.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (our (lambda (name) (string-append out "/bin/" name))))
+ (substitute* "programs/zstdgrep"
+ (("(:-)(grep)" _ prefix command)
+ (string-append prefix (which command)))
+ (("(:-)(zstdcat)" _ prefix command)
+ (string-append prefix (our command))))
+ (substitute* "programs/zstdless"
+ (("zstdcat" command)
+ (our command))))))
(delete 'configure) ;no configure script
(add-after 'install 'adjust-library-locations
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure the pkg-config file refers to the right output.
(substitute* (string-append shared-libs "/pkgconfig/libzstd.pc")
(("^prefix=.*")
- (string-append "prefix=" lib "\n")))
-
- #t))))
+ ;; Note: The .pc file expects a trailing slash for 'prefix'.
+ (string-append "prefix=" lib "/\n")))))))
#:make-flags
- ;; TODO: Integrate in next rebuild cycle.
- (list ,(if (%current-target-system)
- (string-append "CC=" (cc-for-target))
- "CC=gcc")
- (string-append "PREFIX=" (assoc-ref %outputs "out"))
- (string-append "LIBDIR=" (assoc-ref %outputs "lib") "/lib")
- (string-append "INCLUDEDIR=" (assoc-ref %outputs "lib") "/include")
+ (list ,(string-append "CC=" (cc-for-target))
+ (string-append "prefix=" (assoc-ref %outputs "out"))
+ (string-append "libdir=" (assoc-ref %outputs "lib") "/lib")
+ (string-append "includedir=" (assoc-ref %outputs "lib") "/include")
+ ;; Auto-detection is over-engineered and buggy.
+ "PCLIBDIR=lib"
+ "PCINCDIR=include"
;; Skip auto-detection of, and creating a dependency on, the build
;; environment's ‘xz’ for what amounts to a dubious feature anyway.
"HAVE_LZMA=0"
license:public-domain ; zlibWrapper/examples/fitblk*
license:zlib)))) ; zlibWrapper/{gz*.c,gzguts.h}
-(define zstd/fixed
- (package
- (inherit zstd)
- (source
- (origin
- (inherit (package-source zstd))
- (patches
- (search-patches
- ;; From Ubuntu focal-security
- "zstd-CVE-2021-24031_CVE-2021-24032.patch"))))))
-
(define-public pzstd
(package/inherit zstd
(name "pzstd")
(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"))
(define-public zziplib
(package
(name "zziplib")
- (version "0.13.69")
+ (version "0.13.72")
(home-page "https://github.com/gdraheim/zziplib")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
- (patches (search-patches "zziplib-CVE-2018-16548.patch"))
(sha256
(base32
- "0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92"))))
- (replacement zziplib/fixed)
- (build-system gnu-build-system)
- (arguments
- `(#:phases (modify-phases %standard-phases
- (add-before 'check 'make-files-writable
- (lambda _
- (for-each make-file-writable
- (find-files "test" #:directories? #t))
- #t)))
-
- ;; XXX: The default test target attempts to download external resources and
- ;; fails without error: <https://github.com/gdraheim/zziplib/issues/53>.
- ;; To prevent confusing log messages, just run a simple zip test that works.
- #:test-target "check-readme"))
+ "0i6bpa2b13z19alm6ig80364dnin1w28cvif18k6wkkb0w3dzp8y"))))
+ (build-system cmake-build-system)
(inputs
- `(("zlib" ,zlib)))
- (native-inputs `(("perl" ,perl) ; for the documentation
- ("pkg-config" ,pkg-config)
- ;; for the documentation; Python 3 not supported,
- ;; http://forums.gentoo.org/viewtopic-t-863161-start-0.html
- ("python" ,python-2)
- ("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.")
;; files carry the Zlib license; see "docs/copying.html" for details.
(license (list license:lgpl2.0+ license:mpl1.1))))
-(define-public zziplib/fixed
- (package
- (inherit zziplib)
- (name "zziplib")
- (version "0.13.72")
- (home-page "https://github.com/gdraheim/zziplib")
- (source (origin
- (method git-fetch)
- (uri (git-reference (url home-page)
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0i6bpa2b13z19alm6ig80364dnin1w28cvif18k6wkkb0w3dzp8y"))))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'install-compatibility-symlinks
- (lambda* (#:key outputs #:allow-other-keys)
- (with-directory-excursion
- (string-append (assoc-ref outputs "out") "/lib")
- (map (lambda (lib new-symlink)
- (symlink lib new-symlink))
- (list "libzzip.so.13" "libzzipfseeko.so.13"
- "libzzipmmapped.so.13" "libzzipwrap.so.13")
- (list "libzzip-0.so.13" "libzzipfseeko-0.so.13"
- "libzzipmmapped-0.so.13" "libzzipwrap-0.so.13")))
- #t)))))
- (native-inputs
- `(("python" ,python)
- ,@(alist-delete "python"
- (package-native-inputs zziplib))))
- (build-system cmake-build-system)))
-
(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 "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 "google-brotli")
+ (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+)))