packages: Add 'search-auxiliary-file'.
Suggested-by: Ludovic Courtès <ludo@gnu.org> at <http://lists.gnu.org/archive/html/guix-devel/2016-12/msg01174.html>. * gnu/packages.scm (%auxiliary-files-path): New variable. (search-auxiliary-file): New procedure.
This commit is contained in:
		
							parent
							
								
									2982889d68
								
							
						
					
					
						commit
						96eaa55ffb
					
				
					 1 changed files with 18 additions and 6 deletions
				
			
		|  | @ -2,7 +2,7 @@ | |||
| ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> | ||||
| ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> | ||||
| ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> | ||||
| ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> | ||||
| ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> | ||||
| ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> | ||||
| ;;; | ||||
| ;;; This file is part of GNU Guix. | ||||
|  | @ -40,8 +40,10 @@ | |||
|   #:use-module (srfi srfi-39) | ||||
|   #:export (search-patch | ||||
|             search-patches | ||||
|             search-auxiliary-file | ||||
|             search-bootstrap-binary | ||||
|             %patch-path | ||||
|             %auxiliary-files-path | ||||
|             %bootstrap-binaries-path | ||||
|             %package-module-path | ||||
| 
 | ||||
|  | @ -62,17 +64,27 @@ | |||
| ;;; | ||||
| ;;; Code: | ||||
| 
 | ||||
| ;; By default, we store patches and bootstrap binaries alongside Guile | ||||
| ;; modules.  This is so that these extra files can be found without | ||||
| ;; requiring a special setup, such as a specific installation directory | ||||
| ;; and an extra environment variable.  One advantage of this setup is | ||||
| ;; that everything just works in an auto-compilation setting. | ||||
| ;; By default, we store patches, auxiliary files and bootstrap binaries | ||||
| ;; alongside Guile modules.  This is so that these extra files can be | ||||
| ;; found without requiring a special setup, such as a specific | ||||
| ;; installation directory and an extra environment variable.  One | ||||
| ;; advantage of this setup is that everything just works in an | ||||
| ;; auto-compilation setting. | ||||
| 
 | ||||
| (define %bootstrap-binaries-path | ||||
|   (make-parameter | ||||
|    (map (cut string-append <> "/gnu/packages/bootstrap") | ||||
|         %load-path))) | ||||
| 
 | ||||
| (define %auxiliary-files-path | ||||
|   (make-parameter | ||||
|    (map (cut string-append <> "/gnu/packages/aux-files") | ||||
|         %load-path))) | ||||
| 
 | ||||
| (define (search-auxiliary-file file-name) | ||||
|   "Search the auxiliary FILE-NAME.  Return #f if not found." | ||||
|   (search-path (%auxiliary-files-path) file-name)) | ||||
| 
 | ||||
| (define (search-patch file-name) | ||||
|   "Search the patch FILE-NAME.  Raise an error if not found." | ||||
|   (or (search-path (%patch-path) file-name) | ||||
|  |  | |||
		Reference in a new issue