summaryrefslogtreecommitdiff
path: root/guix/import
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2023-05-19 23:27:38 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-07-18 18:12:39 +0200
commit31cd9a50402ac64e83fce35a7c789613d6ad156a (patch)
tree07aa727a7803dc4725c61d141b6e45f5e924efc9 /guix/import
parentc09a05d06cda29ee13047b5e2e969d778494b49b (diff)
guix: import: Handle native inputs in texlive importer.
* guix/import/texlive.scm (tlpdb->package): Add TEXLIVE-METAFONT as a native input whenever font metrics are to be generated. * tests/texlive.scm (%fake-tlpdb): Add test data. ("texlive->guix-package, with METAFONT files"): New test.
Diffstat (limited to 'guix/import')
-rw-r--r--guix/import/texlive.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/guix/import/texlive.scm b/guix/import/texlive.scm
index 33a0e7d1d9..fd772d3133 100644
--- a/guix/import/texlive.scm
+++ b/guix/import/texlive.scm
@@ -315,6 +315,21 @@ of those files are returned that are unexpectedly installed."
'((outputs '("out" "doc")))
'())
(build-system texlive-build-system)
+ ;; Texlive build system generates font metrics whenever a font metrics
+ ;; file has the same base name as a Metafont file.
+ ,@(or (and-let* ((runfiles (assoc-ref data 'runfiles))
+ (metrics
+ (filter-map (lambda (f)
+ (and (string-suffix? ".tfm" f)
+ (basename f ".tfm")))
+ runfiles))
+ ((not (null? metrics)))
+ ((any (lambda (f)
+ (and (string-suffix? ".mf" f)
+ (member (basename f ".mf") metrics)))
+ runfiles)))
+ '((native-inputs (list texlive-metafont))))
+ '())
,@(match filtered-depends
(() '())
(inputs