Use (ice-9 binary-ports) instead of (rnrs io ports).

This reduces the closure of (guix ui) from 123 to 106 modules.

* guix/derivations.scm: Use (ice-9 binary-ports) instead of (rnrs io
ports).
(map-derivation)[substitute-file]: Use 'read-string' instead of
'get-string-all'.
* guix/ftp-client.scm: Likewise.
* guix/hash.scm: Likewise.
* guix/http-client.scm: Likewise.
* guix/pki.scm (ensure-acl, current-acl): Likewise.
* guix/scripts/archive.scm (authorize-key)[read-key]: Likewise.
* guix/scripts/authenticate.scm (read-canonical-sexp)
(read-hash-data): Likewise.
* guix/scripts/download.scm: Likewise.
* guix/scripts/offload.scm (register-gc-root, remove-gc-roots)
(send-files): Likewise.
* guix/scripts/publish.scm (lazy-read-file-sexp): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/scripts/substitute.scm (check-acl-initialized): Likewise.
* guix/serialization.scm (read-maybe-utf8-string): Likewise.
* guix/scripts/hash.scm (guix-hash): Use 'force-output' instead of
'flush-output-port'.
* guix/store.scm (process-stderr): Likewise.
* guix/tests.scm: Likewise.
* guix/utils.scm: Use (ice-9 binary-ports) and autoload (rnrs io ports)
for 'make-custom-binary-input-port'.
This commit is contained in:
Ludovic Courtès 2016-10-19 14:28:56 +02:00
parent 4bb54cc42f
commit 2535635f18
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
17 changed files with 42 additions and 38 deletions

View File

@ -23,7 +23,7 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 rdelim) #:use-module (ice-9 rdelim)
@ -885,7 +885,7 @@ recursively."
(define (substitute-file file initial replacements) (define (substitute-file file initial replacements)
(define contents (define contents
(with-fluids ((%default-port-encoding #f)) (with-fluids ((%default-port-encoding #f))
(call-with-input-file file get-string-all))) (call-with-input-file file read-string)))
(let ((updated (substitute contents initial replacements))) (let ((updated (substitute contents initial replacements)))
(if (string=? updated contents) (if (string=? updated contents)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,7 +22,7 @@
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-31) #:use-module (srfi srfi-31)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -19,7 +19,7 @@
(define-module (guix hash) (define-module (guix hash)
#:use-module (guix gcrypt) #:use-module (guix gcrypt)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (system foreign) #:use-module (system foreign)
#:use-module ((guix build utils) #:select (dump-port)) #:use-module ((guix build utils) #:select (dump-port))
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)

View File

@ -28,7 +28,7 @@
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (guix utils) #:use-module (guix utils)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,7 +22,8 @@
#:use-module ((guix utils) #:select (with-atomic-file-output)) #:use-module ((guix utils) #:select (with-atomic-file-output))
#:use-module ((guix build utils) #:select (mkdir-p)) #:use-module ((guix build utils) #:select (mkdir-p))
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (rnrs io ports) #:use-module (ice-9 rdelim)
#:use-module (ice-9 binary-ports)
#:export (%public-key-file #:export (%public-key-file
%private-key-file %private-key-file
%acl-file %acl-file
@ -80,7 +81,7 @@ element in KEYS must be a canonical sexp with type 'public-key'."
(when (file-exists? %public-key-file) (when (file-exists? %public-key-file)
(let ((public-key (call-with-input-file %public-key-file (let ((public-key (call-with-input-file %public-key-file
(compose string->canonical-sexp (compose string->canonical-sexp
get-string-all)))) read-string))))
(mkdir-p (dirname %acl-file)) (mkdir-p (dirname %acl-file))
(with-atomic-file-output %acl-file (with-atomic-file-output %acl-file
(lambda (port) (lambda (port)
@ -99,7 +100,7 @@ element in KEYS must be a canonical sexp with type 'public-key'."
(call-with-input-file %acl-file (call-with-input-file %acl-file
(compose canonical-sexp->sexp (compose canonical-sexp->sexp
string->canonical-sexp string->canonical-sexp
get-string-all)) read-string))
(public-keys->acl '()))) ; the empty ACL (public-keys->acl '()))) ; the empty ACL
(define (acl->public-keys acl) (define (acl->public-keys acl)

View File

@ -40,7 +40,7 @@
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-37) #:use-module (srfi srfi-37)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:export (guix-archive)) #:export (guix-archive))
@ -290,7 +290,7 @@ the input port."
(define (read-key) (define (read-key)
(catch 'gcry-error (catch 'gcry-error
(lambda () (lambda ()
(string->canonical-sexp (get-string-all (current-input-port)))) (string->canonical-sexp (read-string (current-input-port))))
(lambda (key proc err) (lambda (key proc err)
(leave (_ "failed to read public key: ~a: ~a~%") (leave (_ "failed to read public key: ~a: ~a~%")
(error-source err) (error-string err))))) (error-source err) (error-string err)))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -22,7 +22,8 @@
#:use-module (guix pk-crypto) #:use-module (guix pk-crypto)
#:use-module (guix pki) #:use-module (guix pki)
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:export (guix-authenticate)) #:export (guix-authenticate))
@ -36,12 +37,12 @@
(define read-canonical-sexp (define read-canonical-sexp
;; Read a gcrypt sexp from a port and return it. ;; Read a gcrypt sexp from a port and return it.
(compose string->canonical-sexp get-string-all)) (compose string->canonical-sexp read-string))
(define (read-hash-data port key-type) (define (read-hash-data port key-type)
"Read sha256 hash data from PORT and return it as a gcrypt sexp. KEY-TYPE "Read sha256 hash data from PORT and return it as a gcrypt sexp. KEY-TYPE
is a symbol representing the type of public key algo being used." is a symbol representing the type of public key algo being used."
(let* ((hex (get-string-all port)) (let* ((hex (read-string port))
(bv (base16-string->bytevector (string-trim-both hex)))) (bv (base16-string->bytevector (string-trim-both hex))))
(bytevector->hash-data bv #:key-type key-type))) (bytevector->hash-data bv #:key-type key-type)))

View File

@ -31,7 +31,7 @@
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-37) #:use-module (srfi srfi-37)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:export (guix-download)) #:export (guix-download))

View File

@ -25,7 +25,7 @@
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (guix scripts) #:use-module (guix scripts)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (rnrs files) #:use-module (rnrs files)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
@ -137,7 +137,7 @@ and 'hexadecimal' can be used as well).\n"))
(if (assoc-ref opts 'recursive?) (if (assoc-ref opts 'recursive?)
(let-values (((port get-hash) (open-sha256-port))) (let-values (((port get-hash) (open-sha256-port)))
(write-file file port #:select? select?) (write-file file port #:select? select?)
(flush-output-port port) (force-output port)
(get-hash)) (get-hash))
(call-with-input-file file port-sha256)))) (call-with-input-file file port-sha256))))

View File

@ -21,7 +21,8 @@
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix derivations) #:use-module (guix derivations)
#:use-module (guix serialization) #:use-module ((guix serialization)
#:select (nar-error? nar-error-file))
#:use-module (guix nar) #:use-module (guix nar)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module ((guix build syscalls) #:select (fcntl-flock)) #:use-module ((guix build syscalls) #:select (fcntl-flock))
@ -37,7 +38,7 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:export (build-machine #:export (build-machine
build-requirements build-requirements
guix-offload)) guix-offload))
@ -336,7 +337,7 @@ hook."
(let ((pipe (remote-pipe machine OPEN_READ (let ((pipe (remote-pipe machine OPEN_READ
`("guile" "-c" ,(object->string script))))) `("guile" "-c" ,(object->string script)))))
(get-string-all pipe) (read-string pipe)
(let ((status (close-pipe pipe))) (let ((status (close-pipe pipe)))
(unless (zero? status) (unless (zero? status)
;; Better be safe than sorry: if we ignore the error here, then FILE ;; Better be safe than sorry: if we ignore the error here, then FILE
@ -368,7 +369,7 @@ hook."
(let ((pipe (remote-pipe machine OPEN_READ (let ((pipe (remote-pipe machine OPEN_READ
`("guile" "-c" ,(object->string script))))) `("guile" "-c" ,(object->string script)))))
(get-string-all pipe) (read-string pipe)
(close-pipe pipe))) (close-pipe pipe)))
(define* (offload drv machine (define* (offload drv machine
@ -462,7 +463,7 @@ success, #f otherwise."
'("guix" "archive" "--missing"))) '("guix" "archive" "--missing")))
(open-input-string files))) (open-input-string files)))
((result) ((result)
(get-string-all missing))) (read-string missing)))
(for-each waitpid pids) (for-each waitpid pids)
(string-tokenize result))) (string-tokenize result)))

View File

@ -23,7 +23,7 @@
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (rnrs io ports) #:use-module (ice-9 rdelim)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-2) #:use-module (srfi srfi-2)
@ -46,7 +46,7 @@
#:use-module (guix pki) #:use-module (guix pki)
#:use-module (guix pk-crypto) #:use-module (guix pk-crypto)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix serialization) #:use-module ((guix serialization) #:select (write-file))
#:use-module (guix zlib) #:use-module (guix zlib)
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (guix scripts) #:use-module (guix scripts)
@ -167,7 +167,7 @@ compression disabled~%"))
(delay (delay
(call-with-input-file file (call-with-input-file file
(compose string->canonical-sexp (compose string->canonical-sexp
get-string-all)))) read-string))))
(define %private-key (define %private-key
(lazy-read-file-sexp %private-key-file)) (lazy-read-file-sexp %private-key-file))

View File

@ -50,7 +50,7 @@
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-37) #:use-module (srfi srfi-37)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:export (guix-refresh #:export (guix-refresh
%updaters)) %updaters))

View File

@ -24,7 +24,7 @@
#:use-module (guix combinators) #:use-module (guix combinators)
#:use-module (guix config) #:use-module (guix config)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix serialization) #:use-module ((guix serialization) #:select (restore-file))
#:use-module (guix hash) #:use-module (guix hash)
#:use-module (guix base32) #:use-module (guix base32)
#:use-module (guix base64) #:use-module (guix base64)
@ -43,7 +43,6 @@
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:use-module (ice-9 ftw) #:use-module (ice-9 ftw)
#:use-module (ice-9 binary-ports) #:use-module (ice-9 binary-ports)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
@ -938,7 +937,7 @@ DESTINATION as a nar file. Verify the substitute against ACL."
(and (file-exists? %public-key-file) (and (file-exists? %public-key-file)
(let ((key (call-with-input-file %public-key-file (let ((key (call-with-input-file %public-key-file
(compose string->canonical-sexp (compose string->canonical-sexp
get-string-all)))) read-string))))
(match acl (match acl
((thing) ((thing)
(equal? (canonical-sexp->string thing) (equal? (canonical-sexp->string thing)

View File

@ -19,11 +19,12 @@
(define-module (guix serialization) (define-module (guix serialization)
#:use-module (guix combinators) #:use-module (guix combinators)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (srfi srfi-35) #:use-module (srfi srfi-35)
#:use-module (ice-9 binary-ports)
#:use-module ((ice-9 rdelim) #:prefix rdelim:)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 ftw) #:use-module (ice-9 ftw)
#:export (write-int read-int #:export (write-int read-int
@ -143,7 +144,7 @@ substitute invalid byte sequences with question marks. This is a
(port (open-bytevector-input-port bv))) (port (open-bytevector-input-port bv)))
(set-port-encoding! port "UTF-8") (set-port-encoding! port "UTF-8")
(set-port-conversion-strategy! port 'substitute) (set-port-conversion-strategy! port 'substitute)
(get-string-all port))) (rdelim:read-string port)))
(define (write-string-list l p) (define (write-string-list l p)
(write-int (length l) p) (write-int (length l) p)

View File

@ -25,7 +25,7 @@
#:autoload (guix base32) (bytevector->base32-string) #:autoload (guix base32) (bytevector->base32-string)
#:autoload (guix build syscalls) (terminal-columns) #:autoload (guix build syscalls) (terminal-columns)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu) #:use-module (srfi srfi-9 gnu)
@ -481,7 +481,7 @@ encoding conversion errors."
(let ((s (read-maybe-utf8-string p))) (let ((s (read-maybe-utf8-string p)))
(display s (current-build-output-port)) (display s (current-build-output-port))
(when (string-any %newlines s) (when (string-any %newlines s)
(flush-output-port (current-build-output-port))) (force-output (current-build-output-port)))
#f)) #f))
((= k %stderr-error) ((= k %stderr-error)
;; Report an error. ;; Report an error.

View File

@ -27,7 +27,7 @@
#:use-module (gnu packages bootstrap) #:use-module (gnu packages bootstrap)
#:use-module (srfi srfi-34) #:use-module (srfi srfi-34)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:use-module (web uri) #:use-module (web uri)
#:export (open-connection-for-tests #:export (open-connection-for-tests
random-text random-text

View File

@ -30,7 +30,8 @@
#:use-module (srfi srfi-39) #:use-module (srfi srfi-39)
#:use-module (srfi srfi-60) #:use-module (srfi srfi-60)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (rnrs io ports) #:use-module (ice-9 binary-ports)
#:autoload (rnrs io ports) (make-custom-binary-input-port)
#:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!)) #:use-module ((rnrs bytevectors) #:select (bytevector-u8-set!))
#:use-module (guix combinators) #:use-module (guix combinators)
#:use-module ((guix build utils) #:select (dump-port)) #:use-module ((guix build utils) #:select (dump-port))