about summary refs log tree commit diff
path: root/nixpkgs/pkgs/test/texlive/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/test/texlive/default.nix')
-rw-r--r--nixpkgs/pkgs/test/texlive/default.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/test/texlive/default.nix b/nixpkgs/pkgs/test/texlive/default.nix
new file mode 100644
index 000000000000..30d0026c848d
--- /dev/null
+++ b/nixpkgs/pkgs/test/texlive/default.nix
@@ -0,0 +1,66 @@
+{ runCommandNoCC, fetchurl, file, texlive }:
+
+{
+  chktex = runCommandNoCC "texlive-test-chktex" {
+    nativeBuildInputs = [
+      (with texlive; combine { inherit scheme-infraonly chktex; })
+    ];
+    input = builtins.toFile "chktex-sample.tex" ''
+      \documentclass{article}
+      \begin{document}
+        \LaTeX is great
+      \end{document}
+    '';
+  } ''
+    chktex -v -nall -w1 "$input" 2>&1 | tee "$out"
+    grep "One warning printed" "$out"
+  '';
+
+  # https://github.com/NixOS/nixpkgs/issues/75605
+  dvipng = runCommandNoCC "texlive-test-dvipng" {
+    nativeBuildInputs = [ file texlive.combined.scheme-medium ];
+    input = fetchurl {
+      name = "test_dvipng.tex";
+      url = "http://git.savannah.nongnu.org/cgit/dvipng.git/plain/test_dvipng.tex?id=b872753590a18605260078f56cbd6f28d39dc035";
+      sha256 = "1pjpf1jvwj2pv5crzdgcrzvbmn7kfmgxa39pcvskl4pa0c9hl88n";
+    };
+  } ''
+    cp "$input" ./document.tex
+
+    latex document.tex
+    dvipng -T tight -strict -picky document.dvi
+    for f in document*.png; do
+      file "$f" | tee output
+      grep PNG output
+    done
+
+    mkdir "$out"
+    mv document*.png "$out"/
+  '';
+
+  # https://github.com/NixOS/nixpkgs/issues/75070
+  dvisvgm = runCommandNoCC "texlive-test-dvisvgm" {
+    nativeBuildInputs = [ file texlive.combined.scheme-medium ];
+    input = builtins.toFile "dvisvgm-sample.tex" ''
+      \documentclass{article}
+      \begin{document}
+        mwe
+      \end{document}
+    '';
+  } ''
+    cp "$input" ./document.tex
+
+    latex document.tex
+    dvisvgm document.dvi -n -o document_dvi.svg
+    cat document_dvi.svg
+    file document_dvi.svg | grep SVG
+
+    pdflatex document.tex
+    dvisvgm -P document.pdf -n -o document_pdf.svg
+    cat document_pdf.svg
+    file document_pdf.svg | grep SVG
+
+    mkdir "$out"
+    mv document*.svg "$out"/
+  '';
+}