utils: 'current-source-directory' returns the absolute directory name.
* guix/utils.scm (current-source-directory): When FILE-NAME is relative, use 'search-path' to determine the absolute file name.
This commit is contained in:
		
							parent
							
								
									5dbae738f0
								
							
						
					
					
						commit
						d4dd37fc46
					
				
					 1 changed files with 8 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -704,12 +704,18 @@ output port, and PROC's result is returned."
 | 
			
		|||
 | 
			
		||||
(define-syntax current-source-directory
 | 
			
		||||
  (lambda (s)
 | 
			
		||||
    "Return the current directory name or #f if it could not be determined."
 | 
			
		||||
    "Return the absolute name of the current directory, or #f if it could not
 | 
			
		||||
be determined."
 | 
			
		||||
    (syntax-case s ()
 | 
			
		||||
      ((_)
 | 
			
		||||
       (match (assq 'filename (syntax-source s))
 | 
			
		||||
         (('filename . (? string? file-name))
 | 
			
		||||
          (dirname file-name))
 | 
			
		||||
          ;; If %FILE-PORT-NAME-CANONICALIZATION is 'relative, then FILE-NAME
 | 
			
		||||
          ;; can be relative.  In that case, we try to find out the absolute
 | 
			
		||||
          ;; file name by looking at %LOAD-PATH.
 | 
			
		||||
          (if (string-prefix? "/" file-name)
 | 
			
		||||
              (dirname file-name)
 | 
			
		||||
              (and=> (search-path %load-path file-name) dirname)))
 | 
			
		||||
         (_
 | 
			
		||||
          #f))))))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue