aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/qt.scm20
1 files changed, 7 insertions, 13 deletions
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 31acacff80..0f5e1c3530 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -2284,8 +2284,7 @@ using the Enchant spell-checking library.")
#~(begin
(define preserved-club
;; Prefix exceptions with ./ for comparison with ftw.
- (map (lambda (member)
- (string-append "./" member))
+ (map (cut string-append "./" <>)
preserved-third-party-files))
(define protected (make-regexp "\\.(gn|gyp)i?$"))
(define (empty? dir)
@@ -2298,17 +2297,12 @@ using the Enchant spell-checking library.")
(define (parents child)
;; Return all parent directories of CHILD up to and including
;; the closest "third_party".
- (let* ((dirs (match (string-split child #\/)
- ((dirs ... last) dirs)))
- (closest (list-index (lambda (dir)
- (string=? "third_party" dir))
- (reverse dirs)))
- (delim (- (length dirs) closest)))
- (fold (lambda (dir prev)
- (cons (string-append (car prev) "/" dir)
- prev))
- (list (string-join (list-head dirs delim) "/"))
- (list-tail dirs delim))))
+ (let loop ((parent (dirname child))
+ (parents '()))
+ (if (string=? "third_party" (basename parent))
+ (cons parent parents)
+ (loop (dirname parent)
+ (cons parent parents)))))
(define (remove-loudly file)
(format #t "deleting ~a...~%" file)
(force-output)