FROM debian:bookworm-slim

ENV DEBIAN_FRONTEND=noninteractive

RUN dpkg --add-architecture arm64

RUN apt-get update \
  && apt-get install -y --no-install-recommends \
    bash \
    build-essential \
    ca-certificates \
    clangd \
    cmake \
    curl \
    doxygen \
    g++-12 \
    g++-aarch64-linux-gnu \
    gcc-12 \
    gcc-aarch64-linux-gnu \
    git \
    libdrm-dev \
    libdrm-dev:arm64 \
    libegl-dev \
    libegl-dev:arm64 \
    libgbm-dev \
    libgbm-dev:arm64 \
    libgles-dev \
    libgles-dev:arm64 \
    libglvnd-dev \
    libglvnd-dev:arm64 \
    ninja-build \
    pkg-config \
    python3 \
    python3-venv \
  && rm -rf /var/lib/apt/lists/*

ENV CC=/usr/bin/gcc-12
ENV CXX=/usr/bin/g++-12

RUN python3 -m venv /opt/modulus-python

ENV PATH=/opt/modulus-python/bin:${PATH}

RUN python -m pip install --no-cache-dir \
    conan==2.26.2 \
    "pygls<2" \
    cmake-language-server

WORKDIR /workspace

RUN mkdir -p /opt && touch /opt/modulus-build-image
