From 96eaa55ffb9877c319df09d158fca31034d8f0a2 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 17 Feb 2017 13:17:03 +0300 Subject: [PATCH] packages: Add 'search-auxiliary-file'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Suggested-by: Ludovic Courtès at . * gnu/packages.scm (%auxiliary-files-path): New variable. (search-auxiliary-file): New procedure. --- gnu/packages.scm | 24 ++++++++++++++++++------ 1 file 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 ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2014 Eric Bavier -;;; Copyright © 2016 Alex Kost +;;; Copyright © 2016, 2017 Alex Kost ;;; Copyright © 2016 Mathieu Lirzin ;;; ;;; This file is part of GNU Guix. @@ -40,8 +40,10 @@ (define-module (gnu packages) #: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 @@ (define-module (gnu packages) ;;; ;;; 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)