summaryrefslogtreecommitdiff
path: root/guix/build/gnu-build-system.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/build/gnu-build-system.scm')
-rw-r--r--guix/build/gnu-build-system.scm38
1 files changed, 13 insertions, 25 deletions
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index 8fc6f86507..94a7d6bca8 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -48,34 +48,22 @@
#f
dir))
-(define* (set-paths #:key inputs (path-exclusions '())
+(define* (set-paths #:key inputs (search-paths '())
#:allow-other-keys)
- (define (relevant-input-directories env-var)
- ;; Return the subset of INPUTS that should be considered when setting
- ;; ENV-VAR.
- (match (assoc-ref path-exclusions env-var)
- (#f
- (map cdr inputs))
- ((excluded ...)
- (filter-map (match-lambda
- ((name . dir)
- (and (not (member name excluded))
- dir)))
- inputs))))
+ (define input-directories
+ (match inputs
+ (((_ . dir) ...)
+ dir)))
- (set-path-environment-variable "PATH" '("bin")
- (relevant-input-directories "PATH"))
- (set-path-environment-variable "CPATH" '("include")
- (relevant-input-directories "CPATH"))
- (set-path-environment-variable "LIBRARY_PATH" '("lib" "lib64")
- (relevant-input-directories "LIBRARY_PATH"))
+ (set-path-environment-variable "PATH" '("bin" "sbin")
+ input-directories)
- ;; FIXME: Eventually move this to the `search-paths' field of the
- ;; `pkg-config' package.
- (set-path-environment-variable "PKG_CONFIG_PATH"
- '("lib/pkgconfig" "lib64/pkgconfig"
- "share/pkgconfig")
- (relevant-input-directories "PKG_CONFIG_PATH"))
+ (for-each (match-lambda
+ ((env-var (directories ...) separator)
+ (set-path-environment-variable env-var directories
+ input-directories
+ #:separator separator)))
+ search-paths)
;; Dump the environment variables as a shell script, for handy debugging.
(system "export > environment-variables"))