scripts: system: Move save-load-path-excursion and save-environment-excursion macros to the top.
* guix/scripts/system.scm (save-load-path-excursion, save-environment-excursion): Move definitions to the top of the file. It allows to use them in the whole file. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
parent
c2e9942b8f
commit
475e2ce211
|
@ -78,6 +78,29 @@
|
||||||
;;; Installation.
|
;;; Installation.
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
(define-syntax-rule (save-load-path-excursion body ...)
|
||||||
|
"Save the current values of '%load-path' and '%load-compiled-path', run
|
||||||
|
BODY..., and restore them."
|
||||||
|
(let ((path %load-path)
|
||||||
|
(cpath %load-compiled-path))
|
||||||
|
(dynamic-wind
|
||||||
|
(const #t)
|
||||||
|
(lambda ()
|
||||||
|
body ...)
|
||||||
|
(lambda ()
|
||||||
|
(set! %load-path path)
|
||||||
|
(set! %load-compiled-path cpath)))))
|
||||||
|
|
||||||
|
(define-syntax-rule (save-environment-excursion body ...)
|
||||||
|
"Save the current environment variables, run BODY..., and restore them."
|
||||||
|
(let ((env (environ)))
|
||||||
|
(dynamic-wind
|
||||||
|
(const #t)
|
||||||
|
(lambda ()
|
||||||
|
body ...)
|
||||||
|
(lambda ()
|
||||||
|
(environ env)))))
|
||||||
|
|
||||||
(define topologically-sorted*
|
(define topologically-sorted*
|
||||||
(store-lift topologically-sorted))
|
(store-lift topologically-sorted))
|
||||||
|
|
||||||
|
@ -202,29 +225,6 @@ the ownership of '~a' may be incorrect!~%")
|
||||||
;; The system profile.
|
;; The system profile.
|
||||||
(string-append %state-directory "/profiles/system"))
|
(string-append %state-directory "/profiles/system"))
|
||||||
|
|
||||||
(define-syntax-rule (save-environment-excursion body ...)
|
|
||||||
"Save the current environment variables, run BODY..., and restore them."
|
|
||||||
(let ((env (environ)))
|
|
||||||
(dynamic-wind
|
|
||||||
(const #t)
|
|
||||||
(lambda ()
|
|
||||||
body ...)
|
|
||||||
(lambda ()
|
|
||||||
(environ env)))))
|
|
||||||
|
|
||||||
(define-syntax-rule (save-load-path-excursion body ...)
|
|
||||||
"Save the current values of '%load-path' and '%load-compiled-path', run
|
|
||||||
BODY..., and restore them."
|
|
||||||
(let ((path %load-path)
|
|
||||||
(cpath %load-compiled-path))
|
|
||||||
(dynamic-wind
|
|
||||||
(const #t)
|
|
||||||
(lambda ()
|
|
||||||
body ...)
|
|
||||||
(lambda ()
|
|
||||||
(set! %load-path path)
|
|
||||||
(set! %load-compiled-path cpath)))))
|
|
||||||
|
|
||||||
(define-syntax-rule (with-shepherd-error-handling mbody ...)
|
(define-syntax-rule (with-shepherd-error-handling mbody ...)
|
||||||
"Catch and report Shepherd errors that arise when binding MBODY, a monadic
|
"Catch and report Shepherd errors that arise when binding MBODY, a monadic
|
||||||
expression in %STORE-MONAD."
|
expression in %STORE-MONAD."
|
||||||
|
@ -622,7 +622,7 @@ output when building a system derivation, such as a disk image."
|
||||||
(operating-system-bootloader os))))
|
(operating-system-bootloader os))))
|
||||||
(grub.cfg (if (eq? 'container action)
|
(grub.cfg (if (eq? 'container action)
|
||||||
(return #f)
|
(return #f)
|
||||||
(operating-system-grub.cfg os
|
(operating-system-bootcfg os
|
||||||
(if (eq? 'init action)
|
(if (eq? 'init action)
|
||||||
'()
|
'()
|
||||||
(profile-grub-entries)))))
|
(profile-grub-entries)))))
|
||||||
|
|
Loading…
Reference in New Issue