+
+(define-public quazip
+ (package
+ (name "quazip")
+ (version "0.8.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stachenov/quazip.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1g473gnsbkvxpsv8lbsmhspn7jnq86b05zzgqh11r581v8ndvz5s"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ;no test
+ (native-inputs
+ `(("doxygen" ,doxygen)))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("zlib" ,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
+ZIP/UNZIP package that can be used to access ZIP archives. It uses
+Trolltech's Qt toolkit.
+
+QuaZIP allows you to access files inside ZIP archives using QIODevice
+API, and that means that you can also use QTextStream, QDataStream or
+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. ")
+ ;; Project is distributed under LGPL, but "quazip/z*" "quazip/unzip.*" are
+ ;; distributed under zlib terms.
+ (license (list license:lgpl2.1+ license:zlib))))
+
+(define-public zutils
+ (package
+ (name "zutils")
+ ;; Check and remove the lint-hidden-cve property when updating.
+ (version "1.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://savannah/zutils/zutils-" version ".tar.lz"))
+ (sha256
+ (base32 "0dx35mv78fgqgz6sszs05ng8ipz2xy09ry9vpmka2rmy08b7x907"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "--sysconfdir=/etc")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ (apply invoke "make" "install"
+ (string-append "sysconfdir=" (assoc-ref outputs "out")
+ "/etc")
+ make-flags))))))
+ (native-inputs
+ ;; Needed to extract the source tarball and run the test suite.
+ `(("lzip" ,lzip)))
+ (properties `((lint-hidden-cve . ("CVE-2018-1000637"))))
+ (home-page "https://www.nongnu.org/zutils/zutils.html")
+ (synopsis "Utilities that transparently operate on compressed files")
+ (description
+ "Zutils is a collection of utilities able to process any combination of
+compressed and uncompressed files transparently. If any given file, including
+standard input, is compressed, its decompressed content is used instead.
+
+@command{zcat}, @command{zcmp}, @command{zdiff}, and @command{zgrep} are
+improved replacements for the shell scripts provided by GNU gzip.
+@command{ztest} tests the integrity of supported compressed files.
+@command{zupdate} recompresses files with lzip, similar to gzip's
+@command{znew}.
+
+Supported compression formats are bzip2, gzip, lzip, and xz. Zutils uses
+external compressors: the compressor to be used for each format is configurable
+at run time, and must be installed separately.")
+ (license (list license:bsd-2 ; arg_parser.{cc,h}
+ license:gpl2+)))) ; the rest
+
+(define-public makeself-safeextract
+ (let ((commit "1a95e121fa8e3c02d307ae37b9b7834e616c3683"))
+ (package
+ (name "makeself-safeextract")
+ (version (git-version "0.0.0" "1" commit))
+ (home-page "https://github.com/ssokolow/makeself_safeextract")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1anlinaj9lvfi8bn00wp11vzqq0f9sig4fm9yrspisx31v0z4a2c"))))
+ (build-system trivial-build-system)
+ (inputs
+ `(("python" ,python-2)
+ ("p7zip" ,p7zip)
+ ("unzip" ,unzip)))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((name "makeself_safeextract")
+ (source (string-append (assoc-ref %build-inputs "source")
+ "/" name ".py"))
+ (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")))
+ (setenv "PATH" (string-append (getenv "PATH") ":" python))
+ (mkdir-p bin)
+ (copy-file source target)
+ (substitute* target
+ (("'7z'") (format #f "'~a'" 7z))
+ (("'unzip'") (format #f "'~a'" unzip)))
+ (patch-shebang target)))))
+ (synopsis "Extract makeself and mojo archives without running untrusted code")
+ (description "This package provides a script to unpack self-extracting
+archives generated by @command{makeself} or @command{mojo} without running the
+possibly untrusted extraction shell script.")
+ (license license:gpl3+))))