FROM alpine AS builder
WORKDIR /build
COPY . .
RUN apk add --no-cache sbcl curl alpine-sdk
RUN { curl 'https://beta.quicklisp.org/quicklisp.lisp' \
    ; echo '(in-package #:cl-user)' \
    ; echo '(quicklisp-quickstart:install :path "/quicklisp/")' \
    ; echo '(ql-dist:install-dist "http://dist.shirakumo.org/shirakumo.txt" :prompt NIL)' \
    ; echo '(push "/build/" ql:*local-project-directories*)' \
    ; echo '(ql:quickload :cl-markless/standalone)' \
    ; }| sbcl --disable-ldb --lose-on-corruption --disable-debugger
RUN { echo '(load "/quicklisp/setup.lisp")' \
    ; echo '(push "/build/" ql:*local-project-directories*)' \
    ; echo '(asdf:make :cl-markless/standalone)' \
    ; }| sbcl --disable-ldb --lose-on-corruption --disable-debugger

FROM alpine
COPY --from=builder /build/bin/cl-markless /bin/
ENV PATH=/usr/local/texlive/bin/x86_64-linuxmusl:$PATH
RUN { echo 'selected_scheme scheme-minimal' \
    ; echo 'TEXDIR /usr/local/texlive' \
    ; echo 'TEXMFCONFIG ~/.texlive/texmf-config' \
    ; echo 'TEXMFHOME ~/texmf' \
    ; echo 'TEXMFLOCAL /usr/local/texlive/texmf-local' \
    ; echo 'TEXMFSYSCONFIG /usr/local/texlive/texmf-config' \
    ; echo 'TEXMFSYSVAR /usr/local/texlive/texmf-var' \
    ; echo 'TEXMFVAR ~/.texlive/texmf-var' \
    ; echo 'option_doc 0' \
    ; echo 'option_src 0' \
    ; } >> /tmp/texlive-profile.txt \
    && apk --no-cache add git py3-pygments bash zstd-libs \
    && apk --no-cache add gpg xz wget perl tar fontconfig-dev \
    && wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz \
    && mkdir /tmp/install-tl \
    && tar -xzf install-tl-unx.tar.gz -C /tmp/install-tl --strip-components=1 \
    && /tmp/install-tl/install-tl --profile=/tmp/texlive-profile.txt \
    && tlmgr update --self \
    && tlmgr install collection-basic collection-fontsrecommended latex latex-bin float listings ulem floatflt grffile graphics upquote lineno enumitem glossaries hyperref fontspec xcolor cancel caption underscore csquotes tools tcolorbox geometry minted ragged2e epstopdf-pkg beamer \
    && apk --no-cache del xz wget tar fontconfig-dev \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* install-tl-unx.tar.gz

ADD .woodpecker/plugin.sh /bin/plugin.sh
ENTRYPOINT ["/bin/plugin.sh"]
