|
1 | | -FROM debian:bookworm@sha256:321341744acb788e251ebd374aecc1a42d60ce65da7bd4ee9207ff6be6686a62 AS base |
2 | | -RUN dpkg --add-architecture i386 && apt-get update -qq && apt-get upgrade --no-install-recommends --no-install-suggests -yqq && apt-get install --no-install-recommends --no-install-suggests -yqq git wget libncurses-dev flex bison gperf libffi-dev libssl-dev dfu-util cmake ninja-build build-essential ca-certificates ccache curl make pkg-config python3 python3-dev python3-pip python3-setuptools python3-serial python3-click python3-cryptography python3-future python3-pyparsing python3-pyelftools python3-pkg-resources python3-wheel python3-venv python3-sphinx unzip bluez-tools bluez libusb-1.0-0 clang lld clang-format libglib2.0-dev libpixman-1-dev libgcrypt20-dev virtualenv libslirp-dev gcc-multilib libc6-dev-i386 libsdl2-dev:i386 libcurl4-openssl-dev:i386 && apt-get -yqq autoremove && apt-get -yqq clean && rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* |
3 | | -RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 |
4 | | -RUN python3 -m pip install --break-system-packages --user pycodestyle |
5 | | - |
6 | | -FROM base AS esp-idf |
| 1 | +FROM debian:bookworm-slim@sha256:12c396bd585df7ec21d5679bb6a83d4878bc4415ce926c9e5ea6426d23c60bdc |
7 | 2 |
|
8 | 3 | # These ARGs are easily parseable (eg by HWI) |
9 | 4 | ARG ESP_IDF_BRANCH=v5.4 |
10 | 5 | ARG ESP_IDF_COMMIT=67c1de1eebe095d554d281952fde63c16ee2dca0 |
11 | | -RUN mkdir ~/esp && cd ~/esp && git clone --quiet --depth=1 --branch ${ESP_IDF_BRANCH} --single-branch --recursive --shallow-submodules https://github.com/espressif/esp-idf.git |
12 | | -RUN cd ~/esp/esp-idf && git checkout ${ESP_IDF_COMMIT} && ./install.sh esp32 esp32s3 |
13 | | - |
14 | | -FROM base AS esp-qemu |
15 | | - |
16 | | -# These ARGs are easily parseable (eg by HWI) |
17 | | -ARG ESP_QEMU_BRANCH=esp-develop-9.0.0-20240606 |
18 | | -ARG ESP_QEMU_COMMIT=abb5ce24386972e048b401f9eca10e90b8427a20 |
19 | | -RUN git clone --quiet --depth 1 --branch ${ESP_QEMU_BRANCH} --single-branch --shallow-submodules https://github.com/espressif/qemu.git \ |
20 | | -&& cd qemu && git checkout ${ESP_QEMU_COMMIT} |
21 | 6 |
|
22 | | -RUN cd qemu && ./configure --target-list=xtensa-softmmu --prefix=/opt \ |
23 | | - --enable-gcrypt \ |
24 | | - --disable-sanitizers \ |
25 | | - --disable-strip --disable-user \ |
26 | | - --disable-capstone --disable-vnc \ |
27 | | - --disable-sdl --disable-gtk --enable-slirp \ |
28 | | - && ninja -C build install && rm -fr /qemu |
29 | | - |
30 | | -FROM esp-idf |
31 | | -COPY --from=esp-qemu /opt /opt |
32 | | -COPY requirements.txt / |
33 | 7 | SHELL ["/bin/bash", "-c"] |
34 | | -RUN virtualenv -p python3 /venv && source /venv/bin/activate && pip install --require-hashes -r /requirements.txt |
| 8 | +COPY requirements.txt / |
| 9 | + |
| 10 | +RUN dpkg --add-architecture i386 && apt-get update -qq && apt-get upgrade --no-install-recommends --no-install-suggests -yqq && apt-get install --no-install-recommends --no-install-suggests -yqq git wget libncurses-dev flex bison gperf libffi-dev libssl-dev dfu-util cmake ninja-build build-essential ca-certificates ccache curl make pkg-config python3 python3-dev python3-pip python3-setuptools python3-serial python3-click python3-cryptography python3-future python3-pyparsing python3-pyelftools python3-pkg-resources python3-wheel python3-venv python3-sphinx unzip bluez-tools bluez libusb-1.0-0 clang lld clang-format libglib2.0 libpixman-1-0 libsdl2-2.0-0 libgcrypt20-dev virtualenv libslirp0 gcc-multilib libc6-dev-i386 libsdl2-dev:i386 libcurl4-openssl-dev:i386 libmbedtls-dev:i386 && apt-get -yqq autoremove && apt-get -yqq clean && rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* /usr/share/doc /usr/share/man /usr/share/info /usr/share/locale /usr/share/common-licenses && update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && python3 -m pip install --break-system-packages --user pycodestyle && mkdir ~/esp && cd ~/esp && git clone --quiet --depth=1 --branch ${ESP_IDF_BRANCH} --single-branch --recursive --shallow-submodules https://github.com/espressif/esp-idf.git && cd ~/esp/esp-idf && git checkout ${ESP_IDF_COMMIT} && ./install.sh esp32 esp32s3 && python ~/esp/esp-idf/tools/idf_tools.py install qemu-xtensa && virtualenv -p python3 /venv && source /venv/bin/activate && pip install --require-hashes -r /requirements.txt |
0 commit comments