Hi Bruce,
thanks for your suggestions. Since I wanted to play with a solution
similar to the one posted by Adityam on his blog
https://adityam.github.io/context-blog/post/markdown-with-gpp/
I ended up with a custom Docker image to have gpp, pandoc and context in
the same environment. Here's the Dockerfile, if one wants to try it out
(or to improve it!)
FROM pandoc/core:latest
# Build GPP
ARG GPP_VERSION=2.28
WORKDIR /build
RUN apk -U upgrade && \
apk add build-base wget && \
wget -q
https://github.com/logological/gpp/releases/download/${GPP_VERSION}/gpp-${GPP_VERSION}.tar.bz2
&& \
tar -xvjf gpp-${GPP_VERSION}.tar.bz2 && \
cd gpp-${GPP_VERSION} && \
./configure && \
make && \
make install
# Install ConTeXt LMTX
WORKDIR /opt
ENV PATH=/opt/context/tex/texmf-linuxmusl-64/bin:opt/context/bin:$PATH
RUN apk add unzip curl libc6-compat ca-certificates rsync && \
wget -q
https://lmtx.pragma-ade.com/install-lmtx/context-linux-64.zip && \
unzip context-linux-64.zip -d context && \
cd context && \
chmod 755 install.sh && \
./install.sh && \
cd tex && \
mtxrun --script install-modules --install filter && \
context --generate
ENTRYPOINT ["/opt/context/tex/texmf-linuxmusl-64/bin/context"]
WORKDIR /data
# Quick test
RUN gpp --version && \
pandoc --version && \
context --version
# Last cleanup
RUN apk del unzip curl wget build-base libc6-compat ca-certificates rsync
In the spirit of the context world, I think a good name for this image
could be context-gppd ;)
Best regards,
MR
On 4/10/25 22:49, Bruce Horrocks wrote:
On 10 Apr 2025, at 13:14, Marco Riggirello <marco.riggirello...@gmail.com>
wrote:
installing modules into the docker image is not possible since the curl command
is not part of the image. If I run
$ docker run --rm --entrypoint "" contextgarden/context:lmtx /bin/sh -c "cd /context/tex/
&& mtxrun --script install-module --install filter"
Hi Marco,
I don't know who produces the contextgarden/context:lmtx build (presumably it's now
part of the build farm?) but according to
<https://hub.docker.com/r/contextgarden/context> it is supposed to have all
modules already installed.
However, running
$ docker run --rm --entrypoint "" contextgarden/context:lmtx /bin/sh -c "cd /context/tex
&& mtxrun --script install-modules --installed"
suggests that there aren't any installed. So maybe Hans could prod whoever
supports the build farm to look into it?
In the meantime, if you build your own container image using the Dockerfile on the
Wiki
<https://wiki.contextgarden.net/Installing_ConTeXt_LMTX_into_a_Docker_container>
it is easy to include 'curl' - just add it after 'unzip' - however that doesn't seem
to fix your problem since:
$ docker build -t context .
$ docker run --rm --entrypoint "" context /bin/sh -c "cd /opt/context/tex/ && mtxrun
--script install-module --install filter"
appears to do something and there is no obvious error message in the visible
output, but
$ docker run --rm --entrypoint "" context /bin/sh -c "cd /opt/context/tex && mtxrun
--script install-modules --installed"
shows that the filter module still wasn't installed.
Sorry I can't help you any further right now - I'm not familiar enough with the
install script to be able to quickly zero in on the problem
Regards,
—
Bruce Horrocks
Hampshire, UK
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________