From 34b3e70b2163eff64a233c6e22546089b8e74174 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 26 Jun 2025 16:34:14 +0100 Subject: 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. --- ravanan/command-line-tool.scm | 24 +++++++++++++----------- 1 file 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 -- cgit v1.2.3