# Agent Name: environment-dockerfile
#
# Part of the rlvgl project.
# Developed by Softoboros Technology Inc.
# Licensed under the BSD 1-Clause License.
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
# Install base languages and build tools
RUN apt-get update && apt-get install -y \
build-essential \
curl \
wget \
git \
nano \
vim \
python3 \
python3-venv \
python3-pip \
cargo \
cmake \
ninja-build \
llvm-dev \
libclang-dev \
clang \
librlottie0-1 \
libsdl2-dev \
xvfb \
libxrender1 \
libfreetype6-dev \
libx11-dev \
libxext-dev \
libgtk-3-dev \
librlottie-dev \
pkg-config \
&& sudo rm -rf /var/lib/apt/lists/*
# Install Rust from rustup (more control, avoids apt rustc issues)
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly
ENV PATH="/root/.cargo/bin:$PATH"
RUN rustup component add rust-src llvm-tools-preview
RUN rustup target add thumbv7em-none-eabihf
# Create and activate Python venv
WORKDIR /opt/rlvgl
#RUN python3 -m venv /opt/venv
#ENV PATH="/opt/venv/bin:$PATH"
# Cache dependencies
#COPY Cargo.toml .
#RUN cargo fetch
# Copy everything and build
#COPY . .
#RUN git submodule update --init --recursive
#RUN pip install -r requirements.txt && cd ..
#RUN cargo build --release
# build compiled items.
#RUN cargo clean && cargo fetch && cargo build -Znext-lockfile-bump --locked && cd ..
CMD ["bash"]