# Dockerfile
#
# Copyright 2024-2025 MicroEJ Corp. All rights reserved.
# MicroEJ Corp. PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.

FROM --platform=linux/amd64 ubuntu:22.04

USER root

ARG DEBIAN_FRONTEND=noninteractive

RUN : \
  && apt-get update \
  && apt-get install -y \
  sudo curl rsync \
  && curl -s https://apt.kitware.com/kitware-archive.sh | bash \
  && apt-get update \
  && apt-get install -y \
  cmake ninja-build gperf expect \
  python2 \
  python3 python3-pip xz-utils file \
  && apt-get autoremove -y \
  && apt-get autoclean -y \
  && rm -rf /var/lib/apt/lists/* \
  && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 \
  && :

ENV PATH="$PATH"

COPY requirements*.txt /tmp/
RUN : \
  && pip3 install west \
  && pip3 install -r /tmp/requirements.txt \
  && :

USER 1000

RUN curl 'https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2' | tar xjf - -C /tmp/ \
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/arm-none-eabi/lib/thumb/nofp \
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/arm-none-eabi/lib/thumb/v6* \
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/arm-none-eabi/lib/thumb/v7* \
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/arm-none-eabi/lib/thumb/v8-a* \
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/lib/gcc/arm-none-eabi/9.3.1/thumb/nofp \ 
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/lib/gcc/arm-none-eabi/9.3.1/thumb/v6* \ 
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/lib/gcc/arm-none-eabi/9.3.1/thumb/v7* \ 
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/lib/gcc/arm-none-eabi/9.3.1/thumb/v8-a* \ 
   && rm  -Rf /tmp/gcc-arm-none-eabi-9-2020-q2-update/share/doc 

ENV ZEPHYR_TOOLCHAIN_VARIANT="gnuarmemb"
ENV GNUARMEMB_TOOLCHAIN_PATH="/tmp/gcc-arm-none-eabi-9-2020-q2-update/"
ENV PATH="/tmp/.local/bin:$GNUARMEMB_TOOLCHAIN_PATH/bin:$PATH"