guix_mirror_bot pushed a commit to branch master
in repository guix.

commit 65bb0d92d87a1ef951fde0c28cb258e4570fdd36
Author: Rutherther <[email protected]>
AuthorDate: Wed Jun 4 16:34:29 2025 +0200

    pack: Singularity environemt sources the profile's 'etc/profile'.
    
    Fixes #419 where the same search path is used multiple times, leading to the
    last one overriding the previous one.
    
    The solution relies on the #$profile/etc/profile file that is already 
verified
    and in case of errors, it is just one place to repair instead of repairing 
at
    multiple places, like in singularity-environment-file
    
    * guix/pack.scm (singularity-environment-file): Source #$profile/etc/profile
    
    Reported-by: Alexis Simon <[email protected]>
    Change-Id: Ic304fef99ad34d83e4e10cdd2b26d3b1802b5251
    Signed-off-by: Ludovic Courtès <[email protected]>
---
 guix/scripts/pack.scm | 23 +++++------------------
 1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm
index 857cb46af3..1d2046775c 100644
--- a/guix/scripts/pack.scm
+++ b/guix/scripts/pack.scm
@@ -312,25 +312,12 @@ added to the pack."
   "Return a shell script that defines the environment variables corresponding
 to the search paths of PROFILE."
   (define build
-    (with-extensions (list guile-gcrypt)
-      (with-imported-modules `(((guix config) => ,(make-config.scm))
-                               ,@(source-module-closure
-                                  `((guix profiles)
-                                    (guix search-paths))
-                                  #:select? not-config?))
-        #~(begin
-            (use-modules (guix profiles) (guix search-paths)
-                         (ice-9 match))
+    #~(begin
+        (use-modules (ice-9 match))
 
-            (call-with-output-file #$output
-              (lambda (port)
-                (for-each (match-lambda
-                            ((spec . value)
-                             (format port "~a=~a~%export ~a~%"
-                                     (search-path-specification-variable spec)
-                                     value
-                                     (search-path-specification-variable 
spec))))
-                          (profile-search-paths #$profile))))))))
+        (call-with-output-file #$output
+          (lambda (port)
+            (format port ". ~a/etc/profile~%" #$profile)))))
 
   (computed-file "singularity-environment.sh" build))
 

Reply via email to