substitute: Work around Guile 2.2 'time-monotonic' bug.
Prior to this change, half of the cached narinfos would expire immediately since they contained the number of nanoseconds instead of the number of seconds as their date. * guix/scripts/substitute.scm (time-monotonic) <guile-2.2>: Define, as a workaround.
This commit is contained in:
		
							parent
							
								
									a6c1fe8240
								
							
						
					
					
						commit
						b547349d50
					
				
					 1 changed files with 7 additions and 0 deletions
				
			
		| 
						 | 
					@ -96,6 +96,13 @@
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; Code:
 | 
					;;; Code:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(cond-expand
 | 
				
			||||||
 | 
					  (guile-2.2
 | 
				
			||||||
 | 
					   ;; Guile 2.2.2 has a bug whereby 'time-monotonic' objects have seconds and
 | 
				
			||||||
 | 
					   ;; nanoseconds swapped (fixed in Guile commit 886ac3e).  Work around it.
 | 
				
			||||||
 | 
					   (define time-monotonic time-tai))
 | 
				
			||||||
 | 
					  (else #t))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define %narinfo-cache-directory
 | 
					(define %narinfo-cache-directory
 | 
				
			||||||
  ;; A local cache of narinfos, to avoid going to the network.  Most of the
 | 
					  ;; A local cache of narinfos, to avoid going to the network.  Most of the
 | 
				
			||||||
  ;; time, 'guix substitute' is called by guix-daemon as root and stores its
 | 
					  ;; time, 'guix substitute' is called by guix-daemon as root and stores its
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue