diff options
-rw-r--r-- | gnu/packages/qt.scm | 20 |
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) |