diff options
author | Arun Isaac | 2025-05-16 04:41:21 +0100 |
---|---|---|
committer | Arun Isaac | 2025-05-16 04:43:25 +0100 |
commit | 4c09bb5ca96ede1651db3e850094ec8f1136e81f (patch) | |
tree | 4facec5128622d97e2e1a0ea0fac286bdf17c5d2 | |
parent | 1a373c6aaf94bd1ad91311af31cf481f3b45fd8a (diff) | |
download | ravanan-4c09bb5ca96ede1651db3e850094ec8f1136e81f.tar.gz ravanan-4c09bb5ca96ede1651db3e850094ec8f1136e81f.tar.lz ravanan-4c09bb5ca96ede1651db3e850094ec8f1136e81f.zip |
command-line-tool: Copy input files into their own subdirectories.
* ravanan/command-line-tool.scm (copy-input-files-gexp): Copy input
files into their own subdirectories.
-rw-r--r-- | ravanan/command-line-tool.scm | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ravanan/command-line-tool.scm b/ravanan/command-line-tool.scm index 84b6421..137f702 100644 --- a/ravanan/command-line-tool.scm +++ b/ravanan/command-line-tool.scm @@ -493,8 +493,16 @@ The returned G-expression will reference an @code{inputs-directory} variable." ((eq? (object-type input) 'File) #~,(let ((path-in-inputs-directory - (expand-file-name #$(basename (assoc-ref input "path")) + ;; Input files may have the same filename. So, we take the + ;; additional precaution of copying input files into their own + ;; hash-prefixed subdirectories, just like they are in the + ;; ravanan store. + (expand-file-name #$(file-name-join + (take-right (file-name-split + (assoc-ref input "path")) + 2)) inputs-directory))) + (mkdir (file-dirname path-in-inputs-directory)) (copy-file #$(assoc-ref input "path") path-in-inputs-directory) (maybe-assoc-set '#$input |