diff options
Diffstat (limited to 'gnu/packages/compression.scm')
-rw-r--r-- | gnu/packages/compression.scm | 99 |
1 files changed, 78 insertions, 21 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index cc91bcfaa4..719cd36235 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -4,7 +4,7 @@ ;;; 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 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> @@ -78,6 +78,7 @@ #: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) @@ -857,22 +858,23 @@ time for compression ratio.") (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))))))) + (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 "0697fv8n6739mcyn57jclzwwbbqwpvjdfkv1qh9s56lvyqnplwaw")) + (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))))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -881,18 +883,25 @@ time for compression ratio.") "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 @@ -1172,6 +1181,54 @@ for most inputs, but the resulting compressed files are anywhere from 20% to 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* (string-append (assoc-ref inputs "libcxx+libcxxabi") + "/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 + `(("libcxx+libcxxabi" ,libcxx+libcxxabi-6) + ("libcxxabi" ,libcxxabi-6))))) + (define-public p7zip (package (name "p7zip") @@ -2134,7 +2191,7 @@ download times, and other distribution and storage costs.") (native-inputs `(("doxygen" ,doxygen))) (inputs - `(("qtbase" ,qtbase) + `(("qtbase" ,qtbase-5) ("zlib" ,zlib))) (home-page "https://stachenov.github.io/quazip/index.html") (synopsis "Qt/C++ wrapper for Minizip") |