Skip to content

Commit 3a339d8

Browse files
committed
Reorganize to be able to build PDF
1 parent 392de45 commit 3a339d8

File tree

1 file changed

+44
-17
lines changed

1 file changed

+44
-17
lines changed

docker/Dockerfile-dev+debug

Lines changed: 44 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:focal
1+
vFROM ubuntu:focal
22

33
ENV TZ=US/Eastern
44
ENV MATHICS_HOME=/usr/src/app
@@ -13,43 +13,70 @@ RUN chmod +x /entrypoint.sh
1313
COPY requirements.txt ./
1414
RUN apt-get update
1515
RUN apt-get install -qq apt-utils
16+
1617
# we need libsqlite3-dev now if ubuntu doesn't come with that, we'll need
1718
# to build our own Python
1819
# Leave out inkscape for now.
19-
RUN DEBIAN_FRONTEND="noninteractive" TZ="US/Eastern" apt-get install -qq liblapack-dev llvm-10 llvm-10-dev gfortran maria libmysqlclient-dev sqlite3 python3-pip python3-setuptools git python3-matplotlib python-matplotlib-data x11-apps asymptote w3m latexmk texlive-xetex lmodern texlive-latex-extra texlive-fonts-recommended nodejs npm
20+
21+
# inxi and mesa-utils might be optional
22+
# npm puls in nodejs, but we'll be explicit.
23+
# llvm-11 and llvm-11-dev might work?
24+
25+
# Install lots of packages
26+
RUN DEBIAN_FRONTEND="noninteractive" TZ="US/Eastern" apt-get install -qq liblapack-dev llvm-10 llvm-10-dev gfortran maria libmysqlclient-dev sqlite3 python3-pip python3-setuptools git python3-numpy python3-matplotlib python-matplotlib-data x11-apps asymptote w3m latexmk texlive-xetex lmodern texlive-latex-extra texlive-fonts-recommended nodejs npm xserver-xorg-video-all libgl1-mesa-glx libgl1-mesa-dri mesa-utils evince
27+
2028
RUN pip install --no-cache-dir -r requirements.txt
2129
COPY requirements-mathicsscript.txt ./
2230
RUN pip install --no-cache-dir -r requirements-mathicsscript.txt
2331

32+
################
33+
# Mathics core #
34+
################
2435
# RUN pip install "Mathics3[full]>=3.1.0"
2536
RUN pip install git+git://github.com/mathics/Mathics.git#egg=Mathics3[full]
2637

27-
# Some time later, build mathics.pdf
28-
# We need to work around inkscape crashing due to a lack of an X11 connection.
29-
# RUN git clone https://github.com/mathics/Mathics.git
30-
# RUN (cd Mathics && ${PYTHON} ./setup.py develop && make doc)
38+
RUN git clone https://github.com/mathics/Mathics.git
39+
COPY tex-images/*.pdf Mathics/mathics/doc/tex/
40+
ENV DOC_LATEX_FILE=/usr/src/app/Mathics/mathics/doc/tex/documentation.tex
41+
RUN (cd Mathics && ${PYTHON} ./setup.py develop)
42+
RUN (cd Mathics && make texdoc || /bin/true)
3143

32-
# RUN DEBIAN_FRONTEND="noninteractive" TZ="US/Eastern" apt-get install -qq texlive-font-utils latexmk texlive-xetex lmodern inkscape texlive-latex-extra texlive-fonts-recommended asymptote
33-
# RUN SANDBOX=t ${PYTHON} /usr/local/lib/python3.8/dist-packages/mathics/docpipeline.py -ot
34-
# ... run latex
35-
RUN ${PYTHON} -m pip install -e git://github.com/Mathics3/mathics-django#egg=Mathics-Django[full]
44+
#####################
45+
# Mathics Pymathics #
46+
#####################
3647

37-
RUN pip install pymathics-natlang
3848
RUN pip install pymathics-graph
39-
RUN (cd src/mathics-django && npm install && make)
40-
RUN (cd src/mathics-django && ${PYTHON} mathics_django/docpipeline.py -o)
41-
RUN mkdir -p /usr/src/app/.local/var/mathics && cp -v /root/.local/var/mathics/doc_data.pcl /usr/src/app/.local/var/mathics/doc_data.pcl
49+
50+
# natlang installs spacy so this should come first
51+
RUN pip install pymathics-natlang
52+
RUN ${PYTHON} -m spacy download en
53+
RUN ${PYTHON} -m nltk.downloader wordnet omw
54+
55+
##################
56+
# Mathicsscript #
57+
##################
4258

4359
RUN ${PYTHON} -m pip install -e git://github.com/Mathics3/mathicsscript#egg=mathicsscript[full]
4460
RUN (cd src/mathicsscript && make)
4561

46-
RUN ${PYTHON} -m nltk.downloader wordnet omw
47-
RUN ${PYTHON} -m spacy download en
62+
##################
63+
# Mathics Django #
64+
##################
65+
RUN ${PYTHON} -m pip install -e git://github.com/Mathics3/mathics-django#egg=Mathics-Django[full]
66+
67+
RUN (cd src/mathics-django && npm install && make)
68+
RUN (cd src/mathics-django && ${PYTHON} mathics_django/docpipeline.py -o)
69+
RUN mkdir -p /usr/src/app/.local/var/mathics && cp -v /root/.local/var/mathics/doc_data.pcl /usr/src/app/.local/var/mathics/doc_data.pcl
4870

49-
# debug stuff
71+
##################
72+
# debug stuff #
73+
##################
5074
RUN apt-get install -qq emacs
5175
RUN pip install trepan3k
5276

77+
##################
78+
# Finish up #
79+
##################
5380
EXPOSE 8000
5481

5582
RUN groupadd mathics && \

0 commit comments

Comments
 (0)