mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-08 16:06:16 -05:00
utils: Add 'every*'.
* guix/build/gnu-build-system.scm (every*): Move to... * guix/build/utils.scm (every*): ... here. New procedure.
This commit is contained in:
parent
29aca449c7
commit
57aff6476e
2 changed files with 14 additions and 12 deletions
|
@ -409,18 +409,6 @@ (define (strip-dir dir)
|
|||
strip-directories)))
|
||||
outputs))))
|
||||
|
||||
(define (every* pred lst)
|
||||
"This is like 'every', but process all the elements of LST instead of
|
||||
stopping as soon as PRED returns false. This is useful when PRED has side
|
||||
effects, such as displaying warnings or error messages."
|
||||
(let loop ((lst lst)
|
||||
(result #t))
|
||||
(match lst
|
||||
(()
|
||||
result)
|
||||
((head . tail)
|
||||
(loop tail (and (pred head) result))))))
|
||||
|
||||
(define* (validate-runpath #:key
|
||||
(validate-runpath? #t)
|
||||
(elf-directories '("lib" "lib64" "libexec"
|
||||
|
|
|
@ -59,10 +59,12 @@ (define-module (guix build utils)
|
|||
list->search-path-as-string
|
||||
which
|
||||
|
||||
every*
|
||||
alist-cons-before
|
||||
alist-cons-after
|
||||
alist-replace
|
||||
modify-phases
|
||||
|
||||
with-atomic-file-replacement
|
||||
substitute
|
||||
substitute*
|
||||
|
@ -454,6 +456,18 @@ (define (which program)
|
|||
;;; phases.
|
||||
;;;
|
||||
|
||||
(define (every* pred lst)
|
||||
"This is like 'every', but process all the elements of LST instead of
|
||||
stopping as soon as PRED returns false. This is useful when PRED has side
|
||||
effects, such as displaying warnings or error messages."
|
||||
(let loop ((lst lst)
|
||||
(result #t))
|
||||
(match lst
|
||||
(()
|
||||
result)
|
||||
((head . tail)
|
||||
(loop tail (and (pred head) result))))))
|
||||
|
||||
(define* (alist-cons-before reference key value alist
|
||||
#:optional (key=? equal?))
|
||||
"Insert the KEY/VALUE pair before the first occurrence of a pair whose key
|
||||
|
|
Loading…
Reference in a new issue