|
| 1 | +# m33mu-ci: Devuan testing CI image for Zephyr + m33mu |
| 2 | +FROM docker.io/devuan/devuan:testing |
| 3 | + |
| 4 | +ENV DEBIAN_FRONTEND=noninteractive |
| 5 | + |
| 6 | +# ---- Base build tooling + deps (as provided) ---- |
| 7 | +RUN apt-get update && apt-get install -y --no-install-recommends \ |
| 8 | + ca-certificates curl wget xz-utils file \ |
| 9 | + git build-essential pkg-config \ |
| 10 | + cmake ninja-build \ |
| 11 | + python3 python3-pip python3-venv python3-full \ |
| 12 | + gcc-arm-none-eabi \ |
| 13 | + binutils-arm-none-eabi \ |
| 14 | + libstdc++-arm-none-eabi-dev \ |
| 15 | + libstdc++-arm-none-eabi-newlib \ |
| 16 | + gdb-multiarch \ |
| 17 | + libtpms-dev vde2 \ |
| 18 | + libcapstone-dev \ |
| 19 | + libwolfssl-dev \ |
| 20 | + libvdeplug-dev \ |
| 21 | + vde-switch \ |
| 22 | + libdw-dev libelf-dev \ |
| 23 | + libncurses-dev \ |
| 24 | + && rm -rf /var/lib/apt/lists/* \ |
| 25 | + && apt-get clean |
| 26 | + |
| 27 | +# ---- Zephyr SDK ---- |
| 28 | +#ARG ZEPHYR_SDK_VERSION=0.17.4 |
| 29 | +#ARG ZEPHYR_SDK_ARCH=linux-x86_64 |
| 30 | +# |
| 31 | +#RUN set -eux; \ |
| 32 | +# cd /tmp; \ |
| 33 | +# wget -q "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${ZEPHYR_SDK_VERSION}/zephyr-sdk-${ZEPHYR_SDK_VERSION}_${ZEPHYR_SDK_ARCH}.tar.xz"; \ |
| 34 | +# wget -q "https://github.com/zephyrproject-rtos/sdk-ng/releases/download/v${ZEPHYR_SDK_VERSION}/sha256.sum"; \ |
| 35 | +# grep "zephyr-sdk-${ZEPHYR_SDK_VERSION}_${ZEPHYR_SDK_ARCH}.tar.xz" sha256.sum | sha256sum -c -; \ |
| 36 | +# mkdir -p /opt; \ |
| 37 | +# tar -C /opt -xf "zephyr-sdk-${ZEPHYR_SDK_VERSION}_${ZEPHYR_SDK_ARCH}.tar.xz"; \ |
| 38 | +# rm -f "zephyr-sdk-${ZEPHYR_SDK_VERSION}_${ZEPHYR_SDK_ARCH}.tar.xz" sha256.sum |
| 39 | +# |
| 40 | +#ENV ZEPHYR_TOOLCHAIN_VARIANT=zephyr |
| 41 | +#ENV ZEPHYR_SDK_INSTALL_DIR=/opt/zephyr-sdk-${ZEPHYR_SDK_VERSION} |
| 42 | +# |
| 43 | +## ---- Python venv for west (avoids PEP 668 externally-managed-environment) ---- |
| 44 | +#ENV VIRTUAL_ENV=/opt/venv |
| 45 | +#ENV PATH="${VIRTUAL_ENV}/bin:${PATH}" |
| 46 | +# |
| 47 | +#RUN python3 -m venv "${VIRTUAL_ENV}" \ |
| 48 | +# && "${VIRTUAL_ENV}/bin/pip" install --no-cache-dir --upgrade pip setuptools wheel \ |
| 49 | +# && "${VIRTUAL_ENV}/bin/pip" install --no-cache-dir west |
| 50 | + |
| 51 | + |
| 52 | +# ---- m33mu: clone, build, install ---- |
| 53 | +RUN set -eux; \ |
| 54 | + git clone --depth 1 https://github.com/danielinux/m33mu.git /tmp/m33mu; \ |
| 55 | + cmake -S /tmp/m33mu -B /tmp/m33mu/build; \ |
| 56 | + cmake --build /tmp/m33mu/build -j"$(nproc)"; \ |
| 57 | + if [ -f /tmp/m33mu/build/m33mu ]; then \ |
| 58 | + install -m 0755 /tmp/m33mu/build/m33mu /usr/local/bin/m33mu; \ |
| 59 | + fi; \ |
| 60 | + rm -rf /tmp/m33mu |
| 61 | + |
| 62 | +WORKDIR /workspace |
0 commit comments