Merge pull request #116808 from veprbl/pr/texlive_dvipng_set_gs
texlive.bin.dvipng: refactor gs hardcoding, add a test for it
This commit is contained in:
commit
6869845ff1
@ -1,4 +1,4 @@
|
||||
{ runCommandNoCC, fetchurl, file, texlive }:
|
||||
{ runCommandNoCC, fetchurl, file, texlive, writeShellScript }:
|
||||
|
||||
{
|
||||
chktex = runCommandNoCC "texlive-test-chktex" {
|
||||
@ -17,7 +17,7 @@
|
||||
'';
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/75605
|
||||
dvipng = runCommandNoCC "texlive-test-dvipng" {
|
||||
dvipng.basic = runCommandNoCC "texlive-test-dvipng-basic" {
|
||||
nativeBuildInputs = [ file texlive.combined.scheme-medium ];
|
||||
input = fetchurl {
|
||||
name = "test_dvipng.tex";
|
||||
@ -38,6 +38,47 @@
|
||||
mv document*.png "$out"/
|
||||
'';
|
||||
|
||||
# test dvipng's limited capability to render postscript specials via GS
|
||||
dvipng.ghostscript = runCommandNoCC "texlive-test-ghostscript" {
|
||||
nativeBuildInputs = [ file (with texlive; combine { inherit scheme-small dvipng; }) ];
|
||||
input = builtins.toFile "postscript-sample.tex" ''
|
||||
\documentclass{minimal}
|
||||
\begin{document}
|
||||
Ni
|
||||
\special{ps:
|
||||
newpath
|
||||
0 0 moveto
|
||||
7 7 rlineto
|
||||
0 7 moveto
|
||||
7 -7 rlineto
|
||||
stroke
|
||||
showpage
|
||||
}
|
||||
\end{document}
|
||||
'';
|
||||
gs_trap = writeShellScript "gs_trap.sh" ''
|
||||
exit 1
|
||||
'';
|
||||
} ''
|
||||
cp "$gs_trap" ./gs
|
||||
export PATH=$PWD:$PATH
|
||||
# check that the trap works
|
||||
gs && exit 1
|
||||
|
||||
cp "$input" ./document.tex
|
||||
|
||||
latex document.tex
|
||||
dvipng -T 1in,1in -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 ];
|
||||
|
@ -281,12 +281,9 @@ dvipng = stdenv.mkDerivation {
|
||||
configureFlags = common.configureFlags
|
||||
++ [ "--with-system-kpathsea" "--with-gs=yes" "--disable-debug" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
GS="${ghostscript}/bin/gs";
|
||||
|
||||
# I didn't manage to hardcode gs location by configureFlags
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/dvipng" --prefix PATH : '${ghostscript}/bin'
|
||||
'';
|
||||
enableParallelBuilding = true;
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user