guix-devel
[Top][All Lists]
Advanced

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

[PATCH] gnu: compression: Add pigz


From: Jeff Mickey
Subject: [PATCH] gnu: compression: Add pigz
Date: Mon, 28 Sep 2015 14:55:56 -0700
User-agent: Notmuch/0.20.2 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-unknown-linux-gnu)

Hi folks,

This patch adds the parallel gzip implementation for guix.

  //  codemac

>From 0eadbc2557621939b29bd4cfbb562bc396871ec8 Mon Sep 17 00:00:00 2001
From: Jeff Mickey <address@hidden>
Date: Mon, 28 Sep 2015 14:53:28 -0700
Subject: [PATCH] gnu: Add pigz

* gnu/packages/compression.scm (pigz): 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 fbe5ba4..66b8726 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2015 Eric Bavier <address@hidden>
 ;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
 ;;; Copyright © 2015 Leo Famulari <address@hidden>
+;;; Copyright © 2015 Jeff Mickey <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -586,3 +587,43 @@ It is intended to be used for archival use, for live CDs, 
and for embedded
 systems where low overhead is needed.  This package allows you to create and
 extract such filesystems.")
     (license license:gpl2+)))
+
+(define-public pigz
+  (package
+    (name "pigz")
+    (version "2.3.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://zlib.net/pigz/"; name "-" version 
".tar.gz"))
+              (sha256
+               (base32
+                "172hdf26k4zmm7z8md7nl0dph2a7mhf3x7slb9bhfyff6as6g2sf"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let* ((out (assoc-ref outputs "out"))
+                           (bin (string-append out "/bin"))
+                           (man (string-append out "/share/man/man1")))
+                      (mkdir-p bin)
+                      (copy-file "pigz" (string-append bin "/pigz"))
+                      (symlink
+                       (string-append bin "/pigz")
+                       (string-append bin  "/unpigz"))
+                      (mkdir-p man)
+                      (copy-file "pigz.1" (string-append man "/pigz.1")))
+                    #t)))
+       #:make-flags (list "CC=gcc")
+       #:test-target "tests"))
+    (inputs `(("zlib" ,zlib)))
+    (home-page "http://zlib.net/pigz/";)
+    (synopsis "Parallel implementation of gzip for multi-processor,
+multi-core machines")
+    (description "A parallel implementation of gzip that is a fully functional
+replacement for gzip that exploits multiple processors and multiple cores when
+compressing data. pigz was written by Mark Adler, and uses the zlib and
+pthread libraries.")
+    (license license:bsd-3)))
-- 
2.5.0


reply via email to

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