guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/06: gnu: Add pzstd.


From: Tobias Geerinckx-Rice
Subject: 06/06: gnu: Add pzstd.
Date: Thu, 16 Mar 2017 01:33:54 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit 0f03c5316819385f3a4047ae50736b3db760f451
Author: Tobias Geerinckx-Rice <address@hidden>
Date:   Mon Feb 20 22:31:35 2017 +0100

    gnu: Add pzstd.
    
    * gnu/packages/compression.scm (pzstd): New variable.
---
 gnu/packages/compression.scm | 41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index d106ff2..d19ba22 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -45,6 +45,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
@@ -1217,3 +1218,43 @@ speed.")
                    license:bsd-2         ; quite a few files have but 2 clauses
                    license:public-domain ; zlibWrapper/examples/fitblk*
                    license:zlib))))      ; zlibWrapper/{gz*.c,gzguts.h}
+
+(define-public pzstd
+  (package
+    (name "pzstd")
+    (version (package-version zstd))
+    (source (package-source zstd))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("googletest", googletest)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'enter-subdirectory
+           (lambda _ (chdir "contrib/pzstd")))
+         (delete 'configure)            ; no configure script
+         (add-before 'check 'compile-tests
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (zero? (apply system* "make" "tests" make-flags))))
+         (add-after 'install 'install-documentation
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (string-append out "/share/doc/" ,name)))
+               (mkdir-p doc)
+               (install-file "README.md" doc)
+               #t))))
+       #:make-flags
+       (list "CC=gcc"
+             (string-append "PREFIX=" (assoc-ref %outputs "out")))))
+    (home-page (package-home-page zstd))
+    (synopsis "Threaded implementation of the Zstandard compression algorithm")
+    (description "Parallel Zstandard (PZstandard or @command{pzstd}) is a
+multi-threaded implementation of the @uref{http://zstd.net/, Zstandard
+compression algorithm}.  It is fully compatible with the original Zstandard 
file
+format and command-line interface, and can be used as a drop-in replacement.
+
+Compression is distributed over multiple processor cores to improve 
performance,
+as is the decompression of data compressed in this manner.  Data compressed by
+other implementations will only be decompressed by two threads: one performing
+the actual decompression, the other input and output.")
+    (license (package-license zstd))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]