49 lines
1.6 KiB
Docker
49 lines
1.6 KiB
Docker
|
FROM toxchat/c-toxcore:sources AS src
|
||
|
FROM ubuntu:18.04
|
||
|
|
||
|
RUN apt-get update && \
|
||
|
DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \
|
||
|
bison \
|
||
|
ccache \
|
||
|
cmake \
|
||
|
flex \
|
||
|
git \
|
||
|
gperf \
|
||
|
libncurses-dev \
|
||
|
ninja-build \
|
||
|
python \
|
||
|
python-cryptography \
|
||
|
python-future \
|
||
|
python-pip \
|
||
|
python-pyparsing \
|
||
|
python-serial \
|
||
|
python-setuptools \
|
||
|
wget \
|
||
|
&& apt-get clean \
|
||
|
&& rm -rf /var/lib/apt/lists/*
|
||
|
|
||
|
ENV ESP32_TARBALL=xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0 \
|
||
|
IDF_PATH="/root/esp/esp-idf" \
|
||
|
PATH="/root/esp/esp-idf/tools:/root/esp/xtensa-esp32-elf/bin:$PATH"
|
||
|
WORKDIR /root/esp
|
||
|
RUN wget -q https://dl.espressif.com/dl/$ESP32_TARBALL.tar.gz \
|
||
|
&& tar zxf $ESP32_TARBALL.tar.gz \
|
||
|
&& rm -f $ESP32_TARBALL.tar.gz \
|
||
|
&& git clone -b v3.3 --recursive --depth=1 --shallow-submodules https://github.com/espressif/esp-idf
|
||
|
|
||
|
# Build a hello world first, so the OS and libsodium etc. are compiled.
|
||
|
WORKDIR /root/esp/toxcore
|
||
|
COPY other/docker/esp32/CMakeLists.txt /root/esp/toxcore/
|
||
|
COPY other/docker/esp32/hello/ /root/esp/toxcore/main/
|
||
|
RUN idf.py build
|
||
|
|
||
|
# Then copy over the actual toxcore sources and build those.
|
||
|
COPY --from=src /src/third_party/cmp/ /root/esp/toxcore/main/third_party/cmp/
|
||
|
COPY --from=src /src/toxencryptsave/defines.h /root/esp/toxcore/main/toxencryptsave/
|
||
|
COPY --from=src /src/toxcore/ /root/esp/toxcore/main/toxcore/
|
||
|
COPY other/docker/esp32/toxcore/CMakeLists.txt /root/esp/toxcore/main/
|
||
|
COPY other/docker/esp32/toxcore/toxcore_main.cc /root/esp/toxcore/main/other/docker/esp32/main/
|
||
|
RUN idf.py build
|
||
|
RUN ls -lh build/toxcore.bin \
|
||
|
&& shasum build/toxcore.bin
|