From 88411e33871cb4ff39332f69e46639b6aded454e Mon Sep 17 00:00:00 2001 From: "Darryl L. Miles" Date: Wed, 22 Jul 2026 15:09:28 +0000 Subject: [PATCH] appimage: install texlive so the images regenerate + ship docs The AppImage builders already shipped the pre-built PostScript documentation (each Dockerfile runs "make install", and INSTALL_CAD_DIRS includes doc/), but they did not install latex/dvips, so the docs were never regenerated from source. Install texlive (latex + dvips + recommended fonts) before the magic build in all four EL variants (yum on EL7, dnf on EL8/9/10), so configure reports "LaTeX docs: yes" and the default "make" regenerates the docs into the build before "make install" ships them. The install is non-fatal (|| echo): if a texlive package is unavailable on a given EL release it falls back to the pre-built PostScript, so the release image build can never be broken by documentation, and docs are shipped either way. NOTE: not build-tested here (no Docker/EL toolchain available). The package names (texlive-latex, texlive-dvips, texlive-collection-fontsrecommended) should be validated on each EL image; the non-fatal guard protects the tag-triggered release builds in the meantime. Co-Authored-By: Claude Opus 4.8 (1M context) --- appimage/10/Dockerfile | 8 ++++++++ appimage/7/Dockerfile | 8 ++++++++ appimage/8/Dockerfile | 8 ++++++++ appimage/9/Dockerfile | 8 ++++++++ 4 files changed, 32 insertions(+) diff --git a/appimage/10/Dockerfile b/appimage/10/Dockerfile index 5b07d652..8c076fd4 100644 --- a/appimage/10/Dockerfile +++ b/appimage/10/Dockerfile @@ -18,6 +18,14 @@ RUN dnf install -y python3 zlib-devel ncurses-devel readline-devel cairo-devel f && rpm -qa | sort \ && echo "" +# LaTeX + dvips (optional). When present, the default "make" regenerates the +# PostScript documentation from source (configure prints "LaTeX docs: yes"); +# otherwise the pre-built PostScript shipped in the source tree is installed. +# Kept non-fatal so an unavailable package can never break the release image -- +# the documentation is shipped either way. +RUN dnf install -y texlive-latex texlive-dvips texlive-collection-fontsrecommended \ + || echo "texlive unavailable; shipping the pre-built PostScript documentation" + # Tcl/Tk WORKDIR /tcl RUN set -eux; \ diff --git a/appimage/7/Dockerfile b/appimage/7/Dockerfile index b30b1aac..f4111387 100644 --- a/appimage/7/Dockerfile +++ b/appimage/7/Dockerfile @@ -28,6 +28,14 @@ RUN yum install -y cairo-devel freeglut-devel gcc make git tcsh \ && rpm -qa | sort \ && echo "" +# LaTeX + dvips (optional). When present, the default "make" regenerates the +# PostScript documentation from source (configure prints "LaTeX docs: yes"); +# otherwise the pre-built PostScript shipped in the source tree is installed. +# Kept non-fatal so an unavailable package can never break the release image -- +# the documentation is shipped either way. +RUN yum install -y texlive-latex texlive-dvips texlive-collection-fontsrecommended \ + || echo "texlive unavailable; shipping the pre-built PostScript documentation" + # Tcl/Tk WORKDIR /tcl RUN set -eux; \ diff --git a/appimage/8/Dockerfile b/appimage/8/Dockerfile index ca9e079a..d1760b68 100644 --- a/appimage/8/Dockerfile +++ b/appimage/8/Dockerfile @@ -17,6 +17,14 @@ RUN dnf install -y python311 zlib-devel ncurses-devel readline-devel cairo-devel && rpm -qa | sort \ && echo "" +# LaTeX + dvips (optional). When present, the default "make" regenerates the +# PostScript documentation from source (configure prints "LaTeX docs: yes"); +# otherwise the pre-built PostScript shipped in the source tree is installed. +# Kept non-fatal so an unavailable package can never break the release image -- +# the documentation is shipped either way. +RUN dnf install -y texlive-latex texlive-dvips texlive-collection-fontsrecommended \ + || echo "texlive unavailable; shipping the pre-built PostScript documentation" + # Tcl/Tk WORKDIR /tcl RUN set -eux; \ diff --git a/appimage/9/Dockerfile b/appimage/9/Dockerfile index a257bfdb..11cbe3f8 100644 --- a/appimage/9/Dockerfile +++ b/appimage/9/Dockerfile @@ -18,6 +18,14 @@ RUN dnf install -y python311 zlib-devel ncurses-devel readline-devel cairo-devel && rpm -qa | sort \ && echo "" +# LaTeX + dvips (optional). When present, the default "make" regenerates the +# PostScript documentation from source (configure prints "LaTeX docs: yes"); +# otherwise the pre-built PostScript shipped in the source tree is installed. +# Kept non-fatal so an unavailable package can never break the release image -- +# the documentation is shipped either way. +RUN dnf install -y texlive-latex texlive-dvips texlive-collection-fontsrecommended \ + || echo "texlive unavailable; shipping the pre-built PostScript documentation" + # Tcl/Tk WORKDIR /tcl RUN set -eux; \