diff options
author | Arun Isaac | 2024-09-13 04:26:52 +0100 |
---|---|---|
committer | Arun Isaac | 2024-09-13 04:30:56 +0100 |
commit | 66f6a98fe2c8ef35bfa62284ac0979be6f20c052 (patch) | |
tree | f4771ac726d1376f29c90a1cf1373897f8c07913 | |
parent | 99f1bcc440b81aefde733149598cfa6c396bcde9 (diff) | |
download | ravanan-66f6a98fe2c8ef35bfa62284ac0979be6f20c052.tar.gz ravanan-66f6a98fe2c8ef35bfa62284ac0979be6f20c052.tar.lz ravanan-66f6a98fe2c8ef35bfa62284ac0979be6f20c052.zip |
command-line-tool: Do not embed stdout-filename outside main body.
stdout-output->value cannot access the inputs variable, and thus
will fail when stdout-filename is a parameter reference that needs to
be evaluated. To avoid this, pass it in as an argument.
*
ravanan/command-line-tool.scm (build-command-line-tool-script)[stdout-output->value]:
Accept stdout-filename as argument instead of G-expression embedding.
Pass stdout-filename as argument to stdout-output->value.
-rw-r--r-- | ravanan/command-line-tool.scm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ravanan/command-line-tool.scm b/ravanan/command-line-tool.scm index 5170df4..7a50ee3 100644 --- a/ravanan/command-line-tool.scm +++ b/ravanan/command-line-tool.scm @@ -830,6 +830,7 @@ named @var{name} with @var{inputs} using tools from Guix manifest #~(append (map (cut stdout-output->value workflow-output-directory stdout-directory + #$stdout-filename <>) '#$stdout-outputs) (map (cut other-output->value @@ -943,21 +944,22 @@ directory of the workflow." (define (stdout-output->value workflow-output-directory stdout-directory + stdout-filename output) (cons (assoc-ref output "id") (path->value - (if (string=? #$stdout-filename + (if (string=? stdout-filename (file-name-join* stdout-directory "stdout")) ;; If stdout filename is unspecified, rename it to a ;; hash of its contents. (let ((hashed-filename (file-name-join* stdout-directory - (sha1-hash #$stdout-filename)))) - (rename-file #$stdout-filename + (sha1-hash stdout-filename)))) + (rename-file stdout-filename hashed-filename) hashed-filename) ;; Else, return the stdout filename as it is. - #$stdout-filename) + stdout-filename) workflow-output-directory %nothing))) |