mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
store: Really disable file name canonicalization for derivation inputs.
* guix/store.scm (write-contents)[call-with-binary-input-file]: Set
%FILE-PORT-NAME-CANONICALIZATION to #f.
* gnu/packages.scm (search-patch, search-bootstrap-binary): Leave
%FILE-PORT-NAME-CANONICALIZATION unchanged. This reverts 9776ebb
.
This commit is contained in:
parent
238f739777
commit
128663e4c8
2 changed files with 11 additions and 11 deletions
|
@ -61,14 +61,12 @@ (define %bootstrap-binaries-path
|
|||
|
||||
(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))))
|
||||
(string-append system "/" file-name)))
|
||||
|
||||
(define %distro-module-directory
|
||||
;; Absolute path of the (gnu packages ...) module root.
|
||||
|
|
|
@ -238,12 +238,14 @@ (define (write-contents file p size)
|
|||
"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.
|
||||
;; 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)))))
|
||||
(apply throw args))))))
|
||||
|
||||
(define (dump in size)
|
||||
(define buf-size 65536)
|
||||
|
|
Loading…
Reference in a new issue