guix-commits
[Top][All Lists]
Advanced

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

02/02: utils: Use Guile-zlib for gzip compression and decompression.


From: guix-commits
Subject: 02/02: utils: Use Guile-zlib for gzip compression and decompression.
Date: Fri, 12 Mar 2021 10:07:40 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit a04aef2430645357d7796969d4b6453478ff8a3f
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Mar 12 14:38:10 2021 +0100

    utils: Use Guile-zlib for gzip compression and decompression.
    
    Fixes <https://bugs.gnu.org/46967>.
    
    * guix/utils.scm (decompressed-port): Call 'make-zlib-input-port'
    instead of invoking %GZIP.
    (compressed-output-port): Call 'make-zlib-output-port' instead of
    invoking %GZIP.
    * doc/guix.texi (Requirements): Require Guile-zlib >= 0.1.0.
---
 doc/guix.texi  | 3 ++-
 guix/utils.scm | 7 +++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 77aafaf..4cf241c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -831,7 +831,8 @@ Guile,, gnutls-guile, GnuTLS-Guile});
 @item
 @uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 
0.1.0
 or later;
-@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib};
+@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib},
+version 0.1.0 or later;
 @item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
 @item @uref{https://www.nongnu.org/guile-avahi/, Guile-Avahi};
 @item
diff --git a/guix/utils.scm b/guix/utils.scm
index 1625cab..21e3460 100644
--- a/guix/utils.scm
+++ b/guix/utils.scm
@@ -45,6 +45,7 @@
   #:use-module (ice-9 match)
   #:use-module (ice-9 format)
   #:use-module ((ice-9 iconv) #:prefix iconv:)
+  #:autoload   (zlib) (make-zlib-input-port make-zlib-output-port)
   #:use-module (system foreign)
   #:re-export (<location>                         ;for backwards compatibility
                location
@@ -231,7 +232,8 @@ a symbol such as 'xz."
     ((or #f 'none) (values input '()))
     ('bzip2        (filtered-port `(,%bzip2 "-dc") input))
     ('xz           (filtered-port `(,%xz "-dc") input))
-    ('gzip         (filtered-port `(,%gzip "-dc") input))
+    ('gzip         (values (make-zlib-input-port input #:format 'gzip)
+                           '()))
     ('lzip         (values (lzip-port 'make-lzip-input-port input)
                            '()))
     ('zstd         (values (zstd-port 'make-zstd-input-port input)
@@ -292,7 +294,8 @@ program--e.g., '(\"--fast\")."
     ((or #f 'none) (values output '()))
     ('bzip2        (filtered-output-port `(,%bzip2 "-c" ,@options) output))
     ('xz           (filtered-output-port `(,%xz "-c" ,@options) output))
-    ('gzip         (filtered-output-port `(,%gzip "-c" ,@options) output))
+    ('gzip         (values (make-zlib-output-port output #:format 'gzip)
+                           '()))
     ('lzip         (values (lzip-port 'make-lzip-output-port output)
                            '()))
     ('zstd         (values (zstd-port 'make-zstd-output-port output)



reply via email to

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