build-system: copy-build-system: Keep symlinks symbolic.
guix/build/copy-build-system.scm (install)[install-file]: Read symlinks as is done in install-simple through copy-recursively. Signed-off-by: Pierre Neidhardt <mail@ambrevar.xyz>
This commit is contained in:
		
							parent
							
								
									2e76ddd67f
								
							
						
					
					
						commit
						a3b1f878df
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		| 
						 | 
					@ -91,7 +91,13 @@ if TARGET ends with a '/', the source is installed underneath."
 | 
				
			||||||
                                   file))))
 | 
					                                   file))))
 | 
				
			||||||
      (format (current-output-port) "`~a' -> `~a'~%" file dest)
 | 
					      (format (current-output-port) "`~a' -> `~a'~%" file dest)
 | 
				
			||||||
      (mkdir-p (dirname dest))
 | 
					      (mkdir-p (dirname dest))
 | 
				
			||||||
      (copy-file file dest)))
 | 
					      (let ((stat (lstat file)))
 | 
				
			||||||
 | 
					        (case (stat:type stat)
 | 
				
			||||||
 | 
					          ((symlink)
 | 
				
			||||||
 | 
					           (let ((target (readlink file)))
 | 
				
			||||||
 | 
					             (symlink target dest)))
 | 
				
			||||||
 | 
					          (else
 | 
				
			||||||
 | 
					           (copy-file file dest))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  (define* (make-file-predicate suffixes matches-regexp #:optional (default-value #t))
 | 
					  (define* (make-file-predicate suffixes matches-regexp #:optional (default-value #t))
 | 
				
			||||||
    "Return a predicate that returns #t if its file argument matches the
 | 
					    "Return a predicate that returns #t if its file argument matches the
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue