aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2025-06-26 16:34:14 +0100
committerArun Isaac2025-06-26 16:34:14 +0100
commit34b3e70b2163eff64a233c6e22546089b8e74174 (patch)
treeeedb87d40ebb0b9f1c5f00160b5b6b027fb25a98
parentb1d0adffa2db71048a2d0d325aa5f8cfceaf37a5 (diff)
downloadravanan-34b3e70b2163eff64a233c6e22546089b8e74174.tar.gz
ravanan-34b3e70b2163eff64a233c6e22546089b8e74174.tar.lz
ravanan-34b3e70b2163eff64a233c6e22546089b8e74174.zip
command-line-tool: Return all search path S-exps as monadic values.
In the interest of consistency, return search path S-expressions from both manifest-file->search-path-sexps and software-packages->search-path-sexps as monadic values. * ravanan/command-line-tool.scm (software-packages->search-path-sexps): Return monadic value. * ravanan/command-line-tool.scm (build-command-line-tool-script): Use monadic values from software-packages->search-path-sexps.
-rw-r--r--ravanan/command-line-tool.scm24
1 files changed, 13 insertions, 11 deletions
diff --git a/ravanan/command-line-tool.scm b/ravanan/command-line-tool.scm
index 33fd957..aac910a 100644
--- a/ravanan/command-line-tool.scm
+++ b/ravanan/command-line-tool.scm
@@ -514,10 +514,12 @@ packages in @var{inferior} unless it is @code{#f}."
(define (software-packages->search-path-sexps packages inferior)
"Return a list of search path S-expressions for a profile with @var{packages}.
@var{packages} is a vector of @code{SoftwarePackage} assocation lists as defined
-in the CWL standard. Look up packages in @var{inferior} unless it is @code{#f}."
- (map search-path-specification->sexp
- (manifest-search-paths
- (software-packages->manifest packages inferior))))
+in the CWL standard. Look up packages in @var{inferior} unless it is @code{#f}.
+Return value is monadic."
+ (mbegin %store-monad
+ (return (map search-path-specification->sexp
+ (manifest-search-paths
+ (software-packages->manifest packages inferior))))))
(define (software-packages->profile-derivation packages inferior)
"Return a derivation to build a profile with @var{packages}. @var{packages} is a
@@ -952,14 +954,14 @@ directory of the workflow."
value)))
(evaluate-search-paths
(map sexp->search-path-specification
- '#$(match packages
- (#()
- (run-with-store guix-store
+ '#$(run-with-store guix-store
+ (match packages
+ (#()
(manifest-file->search-path-sexps manifest-file
- inferior)))
- (_
- (software-packages->search-path-sexps packages
- inferior))))
+ inferior))
+ (_
+ (software-packages->search-path-sexps packages
+ inferior)))))
'(#$(run-with-store guix-store
(match packages
;; No package specifications; try the manifest