FROM gekkofs/deps:0.9.4

LABEL Description="Debian-based environment suitable to build GekkoFS' documentation"

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    # install dependencies for Doxygen
    python \
    flex \
    bison \
    graphviz && \
    # install doxygen (repo version is kind of old)
    cd /tmp && curl -L https://sourceforge.net/projects/doxygen/files/rel-1.9.2/doxygen-1.9.2.src.tar.gz/download --output doxygen-1.9.2.src.tar.gz && \
    tar xvfz /tmp/doxygen-1.9.2.src.tar.gz && \
    mkdir -p /tmp/doxygen-1.9.2/build && \
    cd /tmp/doxygen-1.9.2/build && \
    cmake -G "Unix Makefiles" .. && \
    make -j8 install && \
    # install sphinx, breathe and exhale
    pip3 install \
    'sphinx' \
    sphinx_rtd_theme \
    'breathe' \
    'exhale' \
    'sphinx-copybutton' \
    'sphinx-multiversion' \
    'myst_parser'  \
    attrs && \
    # Clean apt cache to reduce image layer size
    rm -rf /var/lib/apt/lists/* && \
    rm -rf /tmp/doxygen-1.9.2 && \
    rm /tmp/doxygen-1.9.2.src.tar.gz && \
    # Clean apt caches of packages
    apt-get clean && apt-get autoclean
