[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#49421] [PATCH] profiles: Optimise 'fonts-dir-file'.
From: |
Maxime Devos |
Subject: |
[bug#49421] [PATCH] profiles: Optimise 'fonts-dir-file'. |
Date: |
Thu, 15 Jul 2021 20:48:09 +0200 |
User-agent: |
Evolution 3.34.2 |
> (Also, the manual annotation would go away once 'gs-fonts' is renamed.
> I'll run "echo /gnu/store/*/share/fonts > atchie-fonts" though to see
> if there are other packages not following the convention.)
Scheme code:
(use-modules (ice-9 ftw) (srfi srfi-1))
(define (has-share/fonts? o)
(file-exists? (string-append "/gnu/store/" o "/share/fonts")))
(define t (scandir "/gnu/store" has-share/fonts?))
(define t2 (map (lambda (x) (substring x 33)) t))
(define t3 (delete-duplicates t2))
(define (fonty? x) (string-prefix? "font-" x))
(partition (lambda (x) (string-prefix? "font-" x)) t3)
Output on my system:
$1 = ("font-alias-1.0.3" [...])
$2 = ("fonts-dir" "profile" "mate-1.24.1" "denemo-2.5.0" "mate-1.24.0"
"gs-fonts-8.11")
"fonts-dir", "profile" and "gs-fonts" are expected.
"mate" uses "union-build" and has "font-cantarell" in 'inputs'.
Apparently "denemo" has some font files as well.
Something will need to be figured out for these cases,
if the approach of my patch is followed.
I think it's better to optimise 'union-build' and the store deduplication
code though (maybe subdirectories can be process concurrently, to maximise I/O
utilisation?). That should improve performance outside the 'fonts-dir-file' hook
as well.
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part