Remove assorted Guile 2.0.5 workarounds.
* guix/scripts/authenticate.scm (%default-port-conversion-strategy): Remove. * guix/scripts/substitute.scm (fetch): Remove 2.0.5 special cases. * guix/serialization.scm (write-file): Remove 'scandir' workaround. * guix/ui.scm (command-files): Likewise.master
parent
47c66da00b
commit
09d809db6a
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -82,12 +82,6 @@ to stdout upon success."
|
|||
(leave (_ "error: corrupt signature data: ~a~%")
|
||||
(canonical-sexp->string signature)))))
|
||||
|
||||
(define %default-port-conversion-strategy
|
||||
;; This fluid is in Guile > 2.0.5.
|
||||
(if (defined? '%default-port-conversion-strategy)
|
||||
(@ (guile) %default-port-conversion-strategy)
|
||||
(make-fluid #f)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Entry point with 'openssl'-compatible interface. We support this
|
||||
|
|
|
@ -157,15 +157,12 @@ to the caller without emitting an error message."
|
|||
(leave (_ "download from '~a' failed: ~a, ~s~%")
|
||||
(uri->string (http-get-error-uri c))
|
||||
code (http-get-error-reason c))))))
|
||||
;; On Guile 2.0.5, `http-fetch' fetches the whole thing at once. So
|
||||
;; honor TIMEOUT? to disable the timeout when fetching a nar.
|
||||
;;
|
||||
;; Test this with:
|
||||
;; sudo tc qdisc add dev eth0 root netem delay 1500ms
|
||||
;; and then cancel with:
|
||||
;; sudo tc qdisc del dev eth0 root
|
||||
(let ((port #f))
|
||||
(with-timeout (if (or timeout? (guile-version>? "2.0.5"))
|
||||
(with-timeout (if timeout?
|
||||
%fetch-timeout
|
||||
0)
|
||||
(begin
|
||||
|
@ -649,17 +646,9 @@ PORT. REPORT-PROGRESS is a two-argument procedure such as that returned by
|
|||
;; XXX: We're not in control, so we always return anyway.
|
||||
n))
|
||||
|
||||
;; Since `http-fetch' in Guile 2.0.5 returns all the data once it's done,
|
||||
;; don't pretend to report any progress in that case.
|
||||
(if (guile-version>? "2.0.5")
|
||||
(make-custom-binary-input-port "progress-port-proc"
|
||||
read! #f #f
|
||||
(cut close-port port))
|
||||
(begin
|
||||
(format (current-error-port) (_ "Downloading, please wait...~%"))
|
||||
(format (current-error-port)
|
||||
(_ "(Please consider upgrading Guile to get proper progress report.)~%"))
|
||||
port)))
|
||||
(make-custom-binary-input-port "progress-port-proc"
|
||||
read! #f #f
|
||||
(cut close-port port)))
|
||||
|
||||
(define-syntax with-networking
|
||||
(syntax-rules ()
|
||||
|
|
|
@ -279,17 +279,11 @@ sub-directories of FILE as needed."
|
|||
(write-string "type" p)
|
||||
(write-string "directory" p)
|
||||
(let ((entries
|
||||
;; NOTE: Guile 2.0.5's 'scandir' returns all subdirectories
|
||||
;; unconditionally, including "." and "..", regardless of the
|
||||
;; 'select?' predicate passed to it, so we have to filter
|
||||
;; those out externally.
|
||||
(filter (negate (cut member <> '("." "..")))
|
||||
;; 'scandir' defaults to 'string-locale<?' to sort
|
||||
;; files, but this happens to be case-insensitive (at
|
||||
;; least in 'en_US' locale on libc 2.18.) Conversely,
|
||||
;; we want files to be sorted in a case-sensitive
|
||||
;; fashion.
|
||||
(scandir f (const #t) string<?))))
|
||||
;; 'scandir' defaults to 'string-locale<?' to sort files, but
|
||||
;; this happens to be case-insensitive (at least in 'en_US'
|
||||
;; locale on libc 2.18.) Conversely, we want files to be
|
||||
;; sorted in a case-sensitive fashion.
|
||||
(scandir f (negate (cut member <> '("." ".."))) string<?)))
|
||||
(for-each (lambda (e)
|
||||
(let ((f (string-append f "/" e)))
|
||||
(write-string "entry" p)
|
||||
|
|
|
@ -852,11 +852,8 @@ parameter of 'args-fold'."
|
|||
(define dot-scm?
|
||||
(cut string-suffix? ".scm" <>))
|
||||
|
||||
;; In Guile 2.0.5 `scandir' would return "." and ".." regardless even though
|
||||
;; they don't match `dot-scm?'. Work around it by doing additional
|
||||
;; filtering.
|
||||
(if directory
|
||||
(filter dot-scm? (scandir directory dot-scm?))
|
||||
(scandir directory dot-scm?)
|
||||
'()))
|
||||
|
||||
(define (commands)
|
||||
|
|
Reference in New Issue