summary refs log tree commit diff
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
parentb849a47bdbd84d68c7f608c26770dc93fbc52e0c (diff)
downloadguix-739c257378239c3b4eb73d0b7cc05dd7a5c5f823.tar.gz
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.
-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