[PATCH -perfbook] docker: Downgrade latexpand to v1.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The latest version of latexpand (v1.6) is much slower than the
one found on Ubuntu Bionic.
It is caused by the internal use of "kpsewitch" and other improvements.
As perfbook's LaTeX code base uses a lot of \input{}s, the runtime of
laetxpand becomes excessively long.

Comparison of "rm autodate.tex; time make perfbook_flat.tex":

latexpand v1.3:  real  0m1.031s

latexpand v1.6:  real  0m16.266s

For perfbook, latexpand v1.3 is good enough.
To reduce build time, install latexpand v1.3 in docker images.

Also add Dockerfile.bionic, which is based on ubuntu:bionic and
add a couple of up-to-date LaTeX packages and a2ping under
/usr/local/share and /usr/local/bin.

Note: On the host, you can download it from

    https://gitlab.com/latexpand/latexpand/-/archive/v1.3/latexpand-v1.3.tar.gz

, and put it into your own bin directory.

Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
---
 docker/Dockerfile        |  5 +++++
 docker/Dockerfile.bionic | 40 ++++++++++++++++++++++++++++++++++++++++
 docker/Dockerfile.fedora |  4 ++++
 3 files changed, 49 insertions(+)
 create mode 100644 docker/Dockerfile.bionic

diff --git a/docker/Dockerfile b/docker/Dockerfile
index a5afe6ea..7527e08b 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -12,6 +12,11 @@ RUN apt-get update && apt-get install -y fig2ps inkscape xfig graphviz psutils \
     rm -rf /var/lib/apt/lists/*
 COPY steel-city-comic.regular.ttf /usr/local/share/fonts/
 RUN fc-cache /usr/local/share/fonts/
+RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
+WORKDIR /opt
+RUN curl https://gitlab.com/latexpand/latexpand/-/archive/v1.3/latexpand-v1.3.tar.gz -o - | tar xfz - && \
+    sed -i -e 's/@LATEXPAND_VERSION@/v1.3/' latexpand-v1.3/latexpand && \
+    cp latexpand-v1.3/latexpand /usr/local/bin
 ARG uid=1000
 ARG gid=1000
 ARG user=perfbook
diff --git a/docker/Dockerfile.bionic b/docker/Dockerfile.bionic
new file mode 100644
index 00000000..56e6280e
--- /dev/null
+++ b/docker/Dockerfile.bionic
@@ -0,0 +1,40 @@
+FROM ubuntu:bionic
+
+RUN apt-get update && apt-get install -y locales && \
+    localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 && \
+    rm -rf /var/lib/apt/lists/*
+ENV LANG en_US.utf8
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=UTC apt-get install -y tzdata && \
+    rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y fig2ps inkscape xfig graphviz psutils \
+    texlive-publishers texlive-pstricks texlive-science texlive-fonts-extra \
+    make nano vim git && \
+    rm -rf /var/lib/apt/lists/*
+COPY steel-city-comic.regular.ttf /usr/local/share/fonts/
+RUN fc-cache /usr/local/share/fonts/
+RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
+WORKDIR /opt
+RUN curl https://mirrors.ctan.org/macros/latex/contrib/cleveref.zip -L -O && unzip cleveref.zip && \
+    curl https://mirrors.ctan.org/macros/latex/contrib/epigraph.zip -L -O && unzip epigraph.zip && \
+    curl https://mirrors.ctan.org/macros/latex/contrib/glossaries-extra.zip -L -O && unzip glossaries-extra.zip && \
+    cd cleveref; latex cleveref.ins; cd .. && \
+    mkdir -p /usr/local/share/texmf/tex/latex/cleveref && \
+    cp cleveref/cleveref.sty /usr/local/share/texmf/tex/latex/cleveref && \
+    cd epigraph; latex epigraph.ins; cd .. && \
+    mkdir -p /usr/local/share/texmf/tex/latex/epigraph && \
+    cp epigraph/epigraph.sty /usr/local/share/texmf/tex/latex/epigraph && \
+    cd glossaries-extra; latex glossaries-extra.ins; cd .. && \
+    mkdir -p /usr/local/share/texmf/tex/latex/glossaries-extra && \
+    cp glossaries-extra/*.sty /usr/local/share/texmf/tex/latex/glossaries-extra && \
+    texhash /usr/local/share/texmf && \
+    curl https://mirrors.ctan.org/graphics/a2ping.zip -L -O && unzip a2ping.zip && \
+    cp a2ping/a2ping.pl /usr/local/bin/a2ping
+ARG uid=1000
+ARG gid=1000
+ARG user=perfbook
+ARG group=perfbook
+RUN groupadd -g $gid $group && useradd -u $uid -g $gid -m $user
+VOLUME /work
+USER $uid:$gid
+WORKDIR /work
+CMD /bin/bash
diff --git a/docker/Dockerfile.fedora b/docker/Dockerfile.fedora
index 4a3ab855..33add84d 100644
--- a/docker/Dockerfile.fedora
+++ b/docker/Dockerfile.fedora
@@ -10,6 +10,10 @@ RUN dnf -y update && dnf install -y --setopt=tsflags=nodocs \
     mktexlsr
 COPY steel-city-comic.regular.ttf /usr/local/share/fonts/
 RUN fc-cache /usr/local/share/fonts/
+WORKDIR /opt
+RUN curl https://gitlab.com/latexpand/latexpand/-/archive/v1.3/latexpand-v1.3.tar.gz -o - | tar xfz - && \
+    sed -i -e 's/@LATEXPAND_VERSION@/v1.3/' latexpand-v1.3/latexpand && \
+    cp latexpand-v1.3/latexpand /usr/local/bin
 ARG uid=1000
 ARG gid=1000
 ARG user=perfbook
-- 
2.17.1




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux