;;; Copyright © 2015, 2016, 2017, 2018, 2020 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 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; 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 © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
+;;; Copyright © 2020, 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
+ #: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 qt)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xml)
#:use-module (ice-9 match)
- #:use-module ((srfi srfi-1) #:select (last)))
+ #:use-module (srfi srfi-1))
(define-public zlib
(package
(define-public lziprecover
(package
(name "lziprecover")
- (version "1.21")
+ (version "1.22")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lziprecover/"
"lziprecover-" version ".tar.gz"))
(sha256
(base32
- "094w2z8fz41yaq0gkyr61cl7pb1d7kchpl5dka7rvm3qvbb7ncd2"))))
+ "0qh8dnhr5rly2k9dnx43qqynqwqzi5kfb15pyd29qwppfl4qm5gx"))))
(build-system gnu-build-system)
(home-page "https://www.nongnu.org/lzip/lziprecover.html")
(synopsis "Recover and decompress data from damaged lzip files")
("python" ,python)
("valgrind" ,valgrind)))
(arguments
- `(#:test-target "test"
+ `(;; Not designed for parallel testing.
+ ;; See https://github.com/lz4/lz4/issues/957#issuecomment-737419821
+ #:parallel-tests? #f
+ #:test-target "test"
#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(define-public pigz
(package
(name "pigz")
- (version "2.4")
+ (version "2.6")
(source (origin
(method url-fetch)
(uri (string-append "http://zlib.net/pigz/"
name "-" version ".tar.gz"))
(sha256
(base32
- "0wsgw5vwl23jrnpsvd8v3xcp5k4waw5mk0164fynjhkv58i1dy54"))))
+ "0z9avc4mifwcpj3qdsf9m2rjw9jx03b2r9pj0c4xgla9fh6ppv9f"))))
(build-system gnu-build-system)
(arguments
`(#:phases
tarballs.")
(license license:bsd-2)))
-(define-public bsdiff
- (package
- (name "bsdiff")
- (version "4.3")
- (home-page "https://www.daemonology.net/bsdiff/")
- (source (origin
- (method url-fetch)
- (uri (string-append home-page name "-" version ".tar.gz"))
- (sha256
- (base32
- "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags (list "INSTALL=install"
- (string-append "CC=" ,(cc-for-target))
- (string-append "PREFIX=" (assoc-ref %outputs "out")))
- #:phases (modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'fix-Makefile
- (lambda _
- (substitute* "Makefile"
- ;; Adjust syntax to make it compatible with GNU Make.
- (("^\\.") "")
- ;; Help install(1) create the target directory.
- (("\\$\\{PREFIX\\}") "-D -t ${PREFIX}"))
- #t)))
- #:tests? #f)) ;no tests
- (inputs
- `(("bzip2" ,bzip2)))
- (synopsis "Patch binary files")
- (description
- "@command{bsdiff} and @command{bspatch} are tools for building and
-applying patches to binary files. By using suffix sorting (specifically
-Larsson and Sadakane's @code{qsufsort}) and taking advantage of how
-executable files change, bsdiff routinely produces binary patches 50-80%
-smaller than those produced by @code{Xdelta}.")
- (license license:bsd-2)))
-
(define-public cabextract
(package
(name "cabextract")
;; Some source files specify gpl2+, lgpl2+, however COPYING is gpl3.
(license license:gpl3+)))
+(define-public libjcat
+ (package
+ (name "libjcat")
+ (version "0.1.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/hughsie/libjcat")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1a2z34m8611xvna9kwch8ralxx7c9mk4rm9vrxx7p9hr8sbqbsaz"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("gobject-introspection" ,gobject-introspection)
+ ("help2man" ,help2man)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("git" ,git)
+ ("glib" ,glib)
+ ("gnupg" ,gnupg)
+ ("gnutls" ,gnutls)
+ ("gpgme" ,gpgme)
+ ("json-glib" ,json-glib)
+ ("vala" ,vala)))
+ (home-page "https://github.com/hughsie/libjcat")
+ (synopsis "Library for reading and writing Jcat files")
+ (description
+ "This library allows reading and writing gzip-compressed JSON catalog
+files, which can be used to store GPG, PKCS-7 and SHA-256 checksums for each
+file.")
+ (license license:lgpl2.1+)))
+
(define-public xdelta
(package
(name "xdelta")
(define-public lrzip
(package
(name "lrzip")
- (version "0.631")
+ (version "0.641")
(source
(origin
(method url-fetch)
(uri (string-append
- "http://ck.kolivas.org/apps/lrzip/lrzip-" version ".tar.bz2"))
+ "http://ck.kolivas.org/apps/lrzip/lrzip-" version ".tar.xz"))
(sha256
- (base32
- "0mb449vmmwpkalq732jdyginvql57nxyd31sszb108yps1lf448d"))
- (patches (search-patches "lrzip-CVE-2017-8842.patch"))))
+ (base32 "0ziyanspd96dc3lp2qdcylc7aq8dhb511jhqrhxvlp502fjqjqrc"))))
(build-system gnu-build-system)
(native-inputs
`(;; nasm is only required when building for 32-bit x86 platforms
("perl" ,perl)))
(inputs
`(("bzip2" ,bzip2)
+ ("lz4" ,lz4)
("lzo" ,lzo)
("zlib" ,zlib)))
(home-page "http://ck.kolivas.org/apps/lrzip/")
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
+ ;; Enable PIC, so it can be used in shared libraries.
+ (add-after 'unpack 'use-pic
+ (lambda _
+ (substitute* "Makefile"
+ (("CPPFLAGS = " all) (string-append all "-fPIC ")))
+ #t))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
"v" version "/zstd-" version ".tar.gz"))
(sha256
(base32 "05ckxap00qvc0j51d3ci38150cxsw82w7s9zgd5fgzspnzmp1vsr"))))
+ (replacement zstd/fixed)
(build-system gnu-build-system)
(outputs '("out" ;1.2MiB executables and documentation
"lib" ;1.2MiB shared library and headers
license:public-domain ; zlibWrapper/examples/fitblk*
license:zlib)))) ; zlibWrapper/{gz*.c,gzguts.h}
-(define-public pzstd
+(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")
- (version (package-version zstd))
- (source (package-source zstd))
- (build-system gnu-build-system)
+ (outputs '("out"))
(inputs
`(,@(if (%current-target-system)
`(("googletest" ,googletest))
"unzip-overflow-on-invalid-input.patch"
"unzip-format-secure.patch"
"unzip-overflow-long-fsize.patch"))))
+ (replacement unzip/fixed)
(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"))
(sha256
(base32
"0fbk9k7ryas2wh2ykwkvm1pbi40i88rfvc3dydh9xyd7w2jcki92"))))
+ (replacement zziplib/fixed)
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; 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")
(define-public lunzip
(package
(name "lunzip")
- (version "1.11")
+ (version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lunzip/"
"lunzip-" version ".tar.gz"))
(sha256
- (base32 "19zq3gmlbia2krq4k4zs1j0xjdv7nsdzqvfb0pyca5n53h2mzb91"))))
+ (base32 "1liaynyy3qcs29hfk1pnb7i9r1mnmpw557j5v356qsv6qnm4lnz5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(define-public clzip
(package
(name "clzip")
- (version "1.11")
+ (version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/clzip/"
"clzip-" version ".tar.gz"))
(sha256
- (base32 "1h14dmc9fi10gcdpdpbgq1bwvcxvivppilj64pf720x8mw915mfr"))))
+ (base32 "1s7yidqvmxi61hh569h5aci816l6qkffjgx0zx57qyyq0qq2pjgw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(define-public lzlib
(package
(name "lzlib")
- (version "1.11")
+ (version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/lzlib/"
"lzlib-" version ".tar.gz"))
(sha256
- (base32 "0djdj4sg33rzi4k84cygvnp09bfsv6i8wy2k7i67rayib63myp3c"))))
+ (base32 "1c9pwd6by8is4z8bs6j306jyy6pgm2dvsn4fr7fg2b5m5qj88pcf"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(define-public plzip
(package
(name "plzip")
- (version "1.8")
+ (version "1.9")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/plzip/"
"plzip-" version ".tar.gz"))
(sha256
- (base32 "04indil809qgfmz776imb3dnhkysh7zk28jcv3mw0ahl2lyaxbzd"))))
+ (base32 "19zinpx7hssl6r3vilpvq2s7wha3545xan8b0vcvsxnyipdx3n0l"))))
(build-system gnu-build-system)
(inputs
`(("lzlib" ,lzlib)))
(define-public google-brotli
(package
(name "google-brotli")
- (version "1.0.7")
+ (version "1.0.9")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1811b55wdfg4kbsjcgh1kc938g118jpvif97ilgrmbls25dfpvvw"))))
+ (base32 "1fikasxf7r2dwlk8mv8w7nmjkn0jw5ic31ky3mvpkdzwgd4xfndl"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Cherry-picked from upstream since the latest release
+ ;; https://github.com/google/brotli/commit/09b0992b6acb7faa6fd3b23f9bc036ea117230fc
+ (substitute* (find-files "scripts" "^lib.*pc\\.in")
+ (("-R\\$\\{libdir\\} ") ""))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:phases
version "/upx-" version "-src.tar.xz"))
(sha256
(base32
- "051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7"))))
+ "051pk5jk8fcfg5mpgzj43z5p4cn7jy5jbyshyn78dwjqr7slsxs7"))
+ (patches (search-patches "upx-CVE-2021-20285.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
(define-public zutils
(package
(name "zutils")
- (version "1.9")
+ (version "1.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/zutils/zutils-" version ".tar.lz"))
(sha256
- (base32 "0y2wm8wqr1wi1b1fv45dn50njv4q81p6ifx0279ji1bq56qkrn2r"))))
+ (base32 "15dimqp8zlqaaa2l46r22srp1py38mlmn69ph1j5fmrd54w43m0d"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(define-public xarchiver
(package
(name "xarchiver")
- (version "0.5.4.15")
+ (version "0.5.4.17")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0a3y54r5zp2c0cqm77r07qrl1vh200wvqmbhm35diy22fvkq5mwc"))))
+ (base32 "00adrjpxqlaccrwjf65w3vhxfswdj0as8aj263c6f9b85llypc5v"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
(define-public tarlz
(package
(name "tarlz")
- (version "0.17")
+ (version "0.19")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/tarlz/"
"tarlz-" version ".tar.lz"))
(sha256
- (base32 "0gpdm6z9pdr5bn31kxg73wm686hhpb5pdf5782pbl5a4xqqhqj90"))))
+ (base32 "09xal55973ivzpaja93jcc1pfla8gb3vrk8dx7pj9qvvz5aynf9n"))))
(build-system gnu-build-system)
(native-inputs
`(("lzip" ,lzip)))