On Sun, May 02, 2021 at 09:26:06AM +0900, Akira Yokosawa wrote: > 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. That reduces my build time (after "make clean") from 2m11 to 1m:43, so well worthwhile, thank you! Queued and pushed, and a big "thank you!!!" on behalf of perfbook dockerfile users everywhere! ;-) Thanx, Paul > 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 >