diff mbox series

[bug#54393,v2,2/3] environment: Export 'load-manifest'.

Message ID 20220331110957.31829-2-ludo@gnu.org
State Accepted
Headers show
Series [bug#54393,v2,1/3] packages: Add 'package-unique-version-prefix'. | expand

Commit Message

Ludovic Courtès March 31, 2022, 11:09 a.m. UTC
* guix/scripts/environment.scm (load-manifest): New procedure.
(options/resolve-packages): Use it.
---
 guix/scripts/environment.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm
index ec071402f4..07b54cd89b 100644
--- a/guix/scripts/environment.scm
+++ b/guix/scripts/environment.scm
@@ -56,6 +56,7 @@  (define-module (guix scripts environment)
   #:use-module (srfi srfi-37)
   #:use-module (srfi srfi-98)
   #:export (assert-container-features
+            load-manifest
             guix-environment
             guix-environment*
             show-environment-options-help
@@ -285,6 +286,11 @@  (define same-key? (cut eq? key <>))
             (_ memo)))
         '() alist))
 
+(define (load-manifest file)                      ;TODO: factorize
+  "Load the user-profile manifest (Scheme code) from FILE and return it."
+  (let ((user-module (make-user-module '((guix profiles) (gnu)))))
+    (load* file user-module)))
+
 (define (options/resolve-packages store opts)
   "Return OPTS with package specification strings replaced by manifest entries
 for the corresponding packages."
@@ -331,8 +337,7 @@  (define (packages->outputs packages mode)
                    (let ((module (make-user-module '())))
                      (packages->outputs (load* file module) mode)))
                   (('manifest . file)
-                   (let ((module (make-user-module '((guix profiles) (gnu)))))
-                     (manifest-entries (load* file module))))
+                   (manifest-entries (load-manifest file)))
                   (_ '()))
                 opts)
     manifest-entry=?)))