diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2023-03-29 21:06:07 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2023-03-29 21:07:39 +0200 |
commit | 739c257378239c3b4eb73d0b7cc05dd7a5c5f823 (patch) | |
tree | abaf6b37a01dd77fd8bdc0c0990dd6de00473a9b | |
parent | b849a47bdbd84d68c7f608c26770dc93fbc52e0c (diff) | |
download | guix-739c257378239c3b4eb73d0b7cc05dd7a5c5f823.tar.gz guix-739c257378239c3b4eb73d0b7cc05dd7a5c5f823.zip |
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.scm | 14 |
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 |