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
___________________________________________________________________________________

Reply via email to