diff options
Diffstat (limited to 'distro.scm')
-rw-r--r-- | distro.scm | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/distro.scm b/distro.scm index 760c7245e7..bbfe51c943 100644 --- a/distro.scm +++ b/distro.scm @@ -37,23 +37,31 @@ (define _ (cut gettext <> "guix")) -(define %patch-directory +(define not-colon + ;; The char set that contains all the characters but `:'. + (char-set-complement (char-set #\:))) + +(define %patch-path (make-parameter - (or (getenv "DISTRO_PATCH_DIRECTORY") - (compile-time-value (getenv "DISTRO_INSTALLED_PATCH_DIRECTORY"))))) + (or (and=> (getenv "DISTRO_PATCH_PATH") + (cut string-tokenize <> not-colon)) + (compile-time-value + (list (getenv "DISTRO_INSTALLED_PATCH_DIRECTORY")))))) -(define %bootstrap-binaries-directory +(define %bootstrap-binaries-path (make-parameter - (or (getenv "DISTRO_BOOTSTRAP_DIRECTORY") - (compile-time-value (getenv "DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY"))))) + (or (and=> (getenv "DISTRO_BOOTSTRAP_PATH") + (cut string-tokenize <> not-colon)) + (compile-time-value + (list (getenv "DISTRO_INSTALLED_BOOTSTRAP_DIRECTORY")))))) (define (search-patch file-name) "Search the patch FILE-NAME." - (search-path (list (%patch-directory)) file-name)) + (search-path (%patch-path) file-name)) (define (search-bootstrap-binary file-name system) "Search the bootstrap binary FILE-NAME for SYSTEM." - (search-path (list (%bootstrap-binaries-directory)) + (search-path (%bootstrap-binaries-path) (string-append system "/" file-name))) (define %distro-module-directory |