diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2023-07-01 21:40:42 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2023-07-18 18:16:43 +0200 |
commit | 944ace71947682e727dcf94faba425be66fbd703 (patch) | |
tree | cbc58d6a0bed019efe03a85fbd8a0d301a3a9794 /guix/import | |
parent | fc91998274bd747668d1497aa799c8c1ec523738 (diff) |
guix: Fix sub-directories in texlive importer locations.
* guix/import/texlive.scm (files->locations): When removing a sub-directory,
make sure to actually remove the sub-directory and not the parent.
Diffstat (limited to 'guix/import')
-rw-r--r-- | guix/import/texlive.scm | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm index 3b5c7192b1..8f90be0c7b 100644 --- a/guix/import/texlive.scm +++ b/guix/import/texlive.scm @@ -352,7 +352,8 @@ of those files are returned that are unexpectedly installed." (map strip-directory-prefix existing) files)))) (define (files->locations files) - (define name->parts (cut string-split <> #\/)) + (define (trim-filename entry) + (string-join (drop-right (string-split entry #\/) 1) "/" 'suffix)) ;; Generic locations are shared by multiple packages. Provide the full file ;; name to make so as to extract only the files related to the package being ;; imported. @@ -362,13 +363,10 @@ of those files are returned that are unexpectedly installed." texlive-generic-locations)) files))) (append generic - (map (cut string-join <> "/" 'suffix) - (delete-duplicates (map (lambda (file) - (drop-right (name->parts file) 1)) - (sort specific string<)) - ;; Remove sub-directories, i.e. more - ;; specific entries with the same prefix. - (lambda (x y) (every equal? x y))))))) + ;; Remove sub-directories, i.e., more specific entries with the + ;; same prefix. + (delete-duplicates (sort (map trim-filename specific) string<) + string-prefix?)))) (define (tlpdb->package name version package-database) (and-let* ((data (assoc-ref package-database name)) |