summaryrefslogtreecommitdiff
path: root/guix/import/texlive.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2023-03-29 21:06:07 +0200
committerRicardo Wurmus <rekado@elephly.net>2023-03-29 21:07:39 +0200
commit739c257378239c3b4eb73d0b7cc05dd7a5c5f823 (patch)
treeabaf6b37a01dd77fd8bdc0c0990dd6de00473a9b /guix/import/texlive.scm
parentb849a47bdbd84d68c7f608c26770dc93fbc52e0c (diff)
import/texlive: tlpdb->package: Ignore files outside of texmf-dist.
* guix/import/texlive.scm (tlpdb->package): Ignore files outside of texmf-dist because the code assumes that this is the prefix for all files.
Diffstat (limited to 'guix/import/texlive.scm')
-rw-r--r--guix/import/texlive.scm14
1 files changed, 9 insertions, 5 deletions
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index 17c17f690c..81f9177443 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -246,11 +246,15 @@ of those files are returned that are unexpectedly installed."
(define (tlpdb->package name version package-database)
(and-let* ((data (assoc-ref package-database name))
(dirs (files->directories
- (map (lambda (dir)
- (string-drop dir (string-length "texmf-dist/")))
- (append (or (assoc-ref data 'docfiles) (list))
- (or (assoc-ref data 'runfiles) (list))
- (or (assoc-ref data 'srcfiles) (list))))))
+ (filter-map (lambda (dir)
+ ;; Ignore any file not starting with the
+ ;; expected prefix. Nothing good can come
+ ;; from this.
+ (and (string-prefix? "texmf-dist/" dir)
+ (string-drop dir (string-length "texmf-dist/"))))
+ (append (or (assoc-ref data 'docfiles) (list))
+ (or (assoc-ref data 'runfiles) (list))
+ (or (assoc-ref data 'srcfiles) (list))))))
(name (guix-name name))
;; TODO: we're ignoring the VERSION argument because that
;; information is distributed across %texlive-tag and