# check=skip=FromPlatformFlagConstDisallowed
FROM --platform=linux/amd64 python:3.13-slim

SHELL ["/bin/bash", "-o", "pipefail", "-c"]

WORKDIR /app

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
      ca-certificates curl wget git \
      build-essential pkg-config \
      z3 libz3-dev \
      eprover \
      cvc4 \
      opam \
      libgmp-dev \
      default-jre \
      tzdata && \
    rm -rf /var/lib/apt/lists/*

COPY requirements.txt ./requirements.txt
RUN python -m pip install --upgrade pip && \
    python -m pip install -r requirements.txt

RUN opam init --disable-sandboxing -y && \
    eval $(opam env) && \
    opam switch create coq-8.20 ocaml-base-compiler.5.2.1 && \
    eval $(opam env --switch=coq-8.20)
RUN opam repo add coq-released https://coq.inria.fr/opam/released && \
    opam install -y coq.8.20.0 && \
    opam install -y coq-hammer
RUN opam install -y z3_tptp --no-depexts && eval $(opam env)

RUN wget https://github.com/vprover/vampire/releases/download/v4.9casc2024/vampire -O /usr/local/bin/vampire && \
    chmod +x /usr/local/bin/vampire

COPY src/ /app/src/
COPY data/ /app/data/
COPY README.md /app/README.md

RUN echo 'eval $(opam env)' >> /root/.bashrc

CMD ["/bin/bash"]
