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))