diff options
author | Alex Kost <alezost@gmail.com> | 2017-02-17 13:17:03 +0300 |
---|---|---|
committer | Alex Kost <alezost@gmail.com> | 2017-02-27 16:44:57 +0300 |
commit | 96eaa55ffb9877c319df09d158fca31034d8f0a2 (patch) | |
tree | c2e5de23f040b65c74d4d2a32378dba1b7dfd06f | |
parent | 2982889d6826af13dd4e4983d4abd530a970662a (diff) | |
download | guix-96eaa55ffb9877c319df09d158fca31034d8f0a2.tar.gz |
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.
-rw-r--r-- | gnu/packages.scm | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/gnu/packages.scm b/gnu/packages.scm index 0aa289d56c..10ca3bb314 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -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) |