From 739c257378239c3b4eb73d0b7cc05dd7a5c5f823 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 29 Mar 2023 21:06:07 +0200 Subject: 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. --- guix/import/texlive.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'guix/import/texlive.scm') 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 @@ (define name->parts (cut string-split <> #\/)) (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 -- cgit v1.2.3