M gnu/packages.scm => gnu/packages.scm +3 -5
@@ 61,14 61,12 @@
(define (search-patch file-name)
"Search the patch FILE-NAME."
- (with-fluids ((%file-port-name-canonicalization #f))
- (search-path (%patch-path) file-name)))
+ (search-path (%patch-path) file-name))
(define (search-bootstrap-binary file-name system)
"Search the bootstrap binary FILE-NAME for SYSTEM."
- (with-fluids ((%file-port-name-canonicalization #f))
- (search-path (%bootstrap-binaries-path)
- (string-append system "/" file-name))))
+ (search-path (%bootstrap-binaries-path)
+ (string-append system "/" file-name)))
(define %distro-module-directory
;; Absolute path of the (gnu packages ...) module root.
M guix/store.scm => guix/store.scm +8 -6
@@ 238,12 238,14 @@
"Write SIZE bytes from FILE to output port P."
(define (call-with-binary-input-file file proc)
;; Open FILE as a binary file. This avoids scan-for-encoding, and thus
- ;; avoids any initial buffering.
- (let ((port (open-file file "rb")))
- (catch #t (cut proc port)
- (lambda args
- (close-port port)
- (apply throw args)))))
+ ;; avoids any initial buffering. Disable file name canonicalization to
+ ;; avoid stat'ing like crazy.
+ (with-fluids ((%file-port-name-canonicalization #f))
+ (let ((port (open-file file "rb")))
+ (catch #t (cut proc port)
+ (lambda args
+ (close-port port)
+ (apply throw args))))))
(define (dump in size)
(define buf-size 65536)