diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-06-15 23:08:05 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-06-16 09:34:32 +0200 |
commit | 07c8a98c3b45dca9fd36af7c4a300d3af58734dd (patch) | |
tree | 1d2db14446ae9f6560ce0b8cb5398559bc9c2180 /guix/utils.scm | |
parent | b78997495474e07083744c1f3ce506ee04488548 (diff) | |
download | gnu-guix-07c8a98c3b45dca9fd36af7c4a300d3af58734dd.tar gnu-guix-07c8a98c3b45dca9fd36af7c4a300d3af58734dd.tar.gz |
gexp: Move 'current-source-directory' to (guix utils).
* guix/gexp.scm (extract-directory, current-source-directory): Move to...
* guix/utils.scm (extract-directory, current-source-directory):
... here. New procedures.
Diffstat (limited to 'guix/utils.scm')
-rw-r--r-- | guix/utils.scm | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/guix/utils.scm b/guix/utils.scm index 2d8bfd84b0..19fd0b0844 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -53,6 +53,8 @@ substitute-keyword-arguments ensure-keyword-arguments + current-source-directory + <location> location location? @@ -700,6 +702,19 @@ output port, and PROC's result is returned." ;;; Source location. ;;; +(define (extract-directory properties) + "Extract the directory name from source location PROPERTIES." + (match (assq 'filename properties) + (('filename . (? string? file-name)) + (dirname file-name)) + (_ + #f))) + +(define-syntax-rule (current-source-directory) + "Expand to the directory of the current source file or #f if it could not +be determined." + (extract-directory (current-source-location))) + ;; A source location. (define-record-type <location> (make-location file line column) |