1{ lib, runCommand, junicode, texliveBasic }:
2let
3 texliveWithJunicode = texliveBasic.withPackages (p: [ p.xetex junicode ]);
4
5 texTest = { package, tex, fonttype, file }:
6 lib.attrsets.nameValuePair "${package}-${tex}-${fonttype}" (
7 runCommand "${package}-test-${tex}-${fonttype}.pdf"
8 {
9 nativeBuildInputs = [ texliveWithJunicode ];
10 inherit tex fonttype file;
11 } ''
12 substituteAll $file test.tex
13 HOME=$PWD $tex test.tex
14 cp test.pdf $out
15 '');
16in
17builtins.listToAttrs (
18 lib.mapCartesianProduct texTest
19 {
20 tex = [ "xelatex" "lualatex" ];
21 fonttype = [ "ttf" "otf" ];
22 package = [ "junicode" ];
23 file = [ ./test.tex ];
24 }
25 ++
26 [
27 (texTest {
28 package = "junicodevf";
29 fonttype = "ttf";
30 tex = "lualatex";
31 file = ./test-vf.tex;
32 })
33 ]
34)