[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25843: [PATCH 2/2] gnu: Add pzstd.
From: |
Tobias Geerinckx-Rice |
Subject: |
bug#25843: [PATCH 2/2] gnu: Add pzstd. |
Date: |
Thu, 23 Feb 2017 03:14:29 +0100 |
* gnu/packages/compression.scm (pzstd): New variable.
---
gnu/packages/compression.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 9870158..a6a978d 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)
@@ -1169,3 +1170,38 @@ zlib. In most scenarios, both compression and
decompression can be performed in
trade-off between compression ratio and speed, without affecting decompression
speed.")
(license license:bsd-3)))
+
+(define-public pzstd
+ (package (inherit zstd)
+ (name "pzstd")
+ (native-inputs
+ `(("googletest", googletest)))
+ (arguments
+ ;; The top-level Makefile uses a ‘test’ target, this one a normal ‘check’.
+ (strip-keyword-arguments
+ '(#:test-target)
+ (substitute-keyword-arguments (package-arguments zstd)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'unpack 'enter-subdirectory
+ (lambda _ (chdir "contrib/pzstd")))
+ (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))))))))
+ (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 split between two threads: one performing
the
+actual decompression, the other input and output.")))
--
2.9.3
bug#25843: [PATCH 1/2] gnu: Add zstd., Marius Bakke, 2017/02/23