FROM ghcr.io/llnl/radiuss:clang-19-ubuntu-24.04
LABEL maintainer="chapman39@llnl.gov"
ARG branch=develop
ENV llvm_version="19"
ENV spec="+devtools+enzyme %clang_${llvm_version}"

SHELL ["/bin/bash", "-c"]
RUN sudo apt-get update -y
RUN sudo apt-get install gettext gfortran-$(gcc -dumpversion) libopenblas-dev \
                         lsb-release lua5.2 lua5.2-dev ssh -fy

# Install enzyme-related packages
RUN sudo apt-get install llvm-${llvm_version}-dev libzstd-dev libclang-${llvm_version}-dev -fy;

# Install devtool-related packages
# NOTE: Skipping this can significantly save disk space
RUN sudo apt-get install libclang-rt-${llvm_version}-dev clang-tidy-${llvm_version} cppcheck graphviz python3-sphinx texlive-full -fy; \
    sudo wget https://github.com/doxygen/doxygen/releases/download/Release_1_9_8/doxygen-1.9.8.linux.bin.tar.gz; \
    sudo tar -xf doxygen-1.9.8.linux.bin.tar.gz; \
    cd doxygen-1.9.8 && sudo make && sudo make install && doxygen --version;

RUN sudo useradd -m -s /bin/bash -G sudo smith
WORKDIR "/home/smith"
USER smith

RUN git clone --recursive --branch $branch --single-branch --depth 1 https://github.com/LLNL/smith.git smith_repo

WORKDIR "/home/smith/smith_repo"
RUN ./scripts/docker/setup-smith.sh
