forked from dante-ev/docker-texlive
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
93 lines (79 loc) · 4.41 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
FROM registry.gitlab.com/islandoftex/images/texlive:latest
LABEL \
org.opencontainers.image.title="Full TeX Live with additions" \
org.opencontainers.image.authors="Oliver Kopp <[email protected]>" \
org.opencontainers.image.source="https://github.com/dante-ev/docker-texlive" \
org.opencontainers.image.licenses="MIT"
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
TERM=dumb
ARG BUILD_DATE
ARG GITLATEXDIFF_VERSION=1.6.0
WORKDIR /home
# Fix for update-alternatives: error: error creating symbolic link '/usr/share/man/man1/rmid.1.gz.dpkg-tmp': No such file or directory
# See https://github.com/debuerreotype/docker-debian-artifacts/issues/24#issuecomment-360870939
RUN mkdir -p /usr/share/man/man1
RUN apt-get update -q && \
# Install git (Required for git-latexdiff)
apt-get install -qqy -o=Dpkg::Use-Pty=0 --no-install-recommends git wget && \
# Install Ruby's bundler
apt-get install -qqy -o=Dpkg::Use-Pty=0 ruby poppler-utils && gem install bundler && \
# openjdk-8-jre-headless is currently not available in testing
# solution by https://stackoverflow.com/a/61902164/873282
apt-get install -qqy -o=Dpkg::Use-Pty=0 software-properties-common && \
apt-get update && \
# plantuml requires java8
apt-get install -qqy -o=Dpkg::Use-Pty=0 --no-install-recommends openjdk-17-jre-headless && \
# proposal by https://github.com/sumandoc/TeXLive-2017
apt-get install -qqy -o=Dpkg::Use-Pty=0 curl libgetopt-long-descriptive-perl libdigest-perl-md5-perl fontconfig && \
# libfile-copy-recursive-perl is required by ctanify
apt-get install -qqy -o=Dpkg::Use-Pty=0 --no-install-recommends libfile-which-perl libfile-copy-recursive-perl openssh-client && \
# latexindent modules
apt-get install -qqy -o=Dpkg::Use-Pty=0 libyaml-tiny-perl libfile-homedir-perl libunicode-linebreak-perl liblog-log4perl-perl libtest-log-dispatch-perl && \
# for plantuml, we need graphviz and inkscape. For inkscape, there is no non-X11 version, so 200 MB more
apt-get install -qqy -o=Dpkg::Use-Pty=0 --no-install-recommends graphviz inkscape && \
# some more packages
apt-get install -qqy -o=Dpkg::Use-Pty=0 --no-install-recommends fonts-texgyre latexml && \
# fig2dev - tool for xfig to translate the figure to other formats
apt-get install -qqy -o=Dpkg::Use-Pty=0 fig2dev && \
# add Google's Inconsolata font (https://fonts.google.com/specimen/Inconsolata)
apt-get install -qqy -o=Dpkg::Use-Pty=0 fonts-inconsolata && \
# required by tlmgr init-usertree
apt-get install -qqy -o=Dpkg::Use-Pty=0 xzdec && \
# install bibtool
apt-get install -qqy -o=Dpkg::Use-Pty=0 bibtool && \
# install Python's pip3
apt-get install -qqy -o=Dpkg::Use-Pty=0 python3-pip && \
# install gnuplot
apt-get install -qqy -o=Dpkg::Use-Pty=0 gnuplot && \
# Removing documentation packages *after* installing them is kind of hacky,
# but it only adds some overhead while building the image.
# Source: https://github.com/aergus/dockerfiles/blob/master/latex/Dockerfile
apt-get --purge remove -qy .\*-doc$ && \
# save some space
rm -rf /var/lib/apt/lists/* && apt-get clean
# pandoc in the repositories is older - we just overwrite it with a more recent version
RUN wget https://github.com/jgm/pandoc/releases/download/3.1.2/pandoc-3.1.2-1-amd64.deb -q --output-document=/home/pandoc.deb && dpkg -i pandoc.deb && rm pandoc.deb
# get PlantUML in place
RUN wget https://deac-riga.dl.sourceforge.net/project/plantuml/1.2023.6/plantuml-jar-asl-1.2023.6.zip -q --output-document=/home/plantuml.zip && \
unzip plantuml.zip && \
rm plantuml.zip
ENV PLANTUML_JAR=/home/plantuml.jar
# install pkgcheck
RUN wget https://gitlab.com/Lotz/pkgcheck/raw/master/bin/pkgcheck -q --output-document=/usr/local/bin/pkgcheck && chmod a+x /usr/local/bin/pkgcheck
# Install IBM Plex fonts
RUN mkdir -p /tmp/fonts && \
cd /tmp/fonts && \
wget "https://github.com/IBM/plex/releases/download/v6.3.0/OpenType.zip" -q && \
unzip -q OpenType.zip && \
cp -r OpenType/* /usr/local/share/fonts && \
fc-cache -f -v && \
cd .. && \
rm -rf fonts
# install-getnonfreefronts uses that directory
#v ENV PATH="/usr/local/texlive/2023/bin/x86_64-linux:${PATH}"
# install luximono
# RUN cd /tmp && wget https://www.tug.org/fonts/getnonfreefonts/install-getnonfreefonts && texlua install-getnonfreefonts && getnonfreefonts --sys luximono
# update font index
RUN luaotfload-tool --update
WORKDIR /workdir