aboutsummaryrefslogtreecommitdiff
path: root/guix/profiles.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-07-09 10:44:36 +0200
committerLudovic Courtès <ludo@gnu.org>2018-07-11 00:52:36 +0200
commitf03df3ee75d1209fb9782999bd04378c58e9f0f1 (patch)
tree38f3e7590cb02677c4e943e5fbf16cf915e54177 /guix/profiles.scm
parent1dec269176fd809483a751da174c2d5ea66ed58a (diff)
downloadgnu-guix-f03df3ee75d1209fb9782999bd04378c58e9f0f1.tar
gnu-guix-f03df3ee75d1209fb9782999bd04378c58e9f0f1.tar.gz
profiles: Factorize 'manifest-search-paths'.
* guix/profiles.scm (manifest-search-paths): New procedure. (profile-derivation)[builder]: Use it. * guix/build/profiles.scm (build-etc/profile): Remove $PATH.
Diffstat (limited to 'guix/profiles.scm')
-rw-r--r--guix/profiles.scm12
1 files changed, 10 insertions, 2 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index e6b77e8d38..88228f1558 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -91,6 +91,7 @@
manifest-lookup
manifest-installed?
manifest-matching-entries
+ manifest-search-paths
manifest-transaction
manifest-transaction?
@@ -545,6 +546,14 @@ no match.."
(filter matches? (manifest-entries manifest)))
+(define (manifest-search-paths manifest)
+ "Return the list of search path specifications that apply to MANIFEST,
+including the search path specification for $PATH."
+ (delete-duplicates
+ (cons $PATH
+ (append-map manifest-entry-search-paths
+ (manifest-entries manifest)))))
+
;;;
;;; Manifest transactions.
@@ -1367,8 +1376,7 @@ are cross-built for TARGET."
(map sexp->search-path-specification
(delete-duplicates
'#$(map search-path-specification->sexp
- (append-map manifest-entry-search-paths
- (manifest-entries manifest))))))
+ (manifest-search-paths manifest)))))
(build-profile #$output '#$inputs
#:symlink #$(if relative-symlinks?