Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. FROM ubuntu:18.04
  2. RUN apt-get update && apt-get install -y git wget libncurses-dev flex bison gperf \
  3. python python-pip python-setuptools python-serial python-click \
  4. python-cryptography python-future python-pyparsing \
  5. python-pyelftools cmake ninja-build ccache libusb-1.0
  6. RUN mkdir /workspace
  7. WORKDIR /workspace
  8. # Download and checkout known good esp-idf commit
  9. RUN git clone --recursive https://github.com/espressif/esp-idf.git esp-idf
  10. RUN cd esp-idf && git checkout 4dac7c7df885adaa86a5c79f2adeaf8d68667349
  11. RUN git clone https://github.com/sle118/squeezelite-esp32.git
  12. # Download GCC 5.2.0
  13. RUN wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
  14. RUN tar -xzf xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
  15. RUN rm xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
  16. # Patch I2S in esp-idf
  17. RUN cp /workspace/squeezelite-esp32/idf-patch/i2s.c /workspace/esp-idf/components/driver/i2s.c
  18. RUN rm -r /workspace/squeezelite-esp32
  19. RUN mkdir /workspace/squeezelite-esp32
  20. # Setup PATH to use esp-idf and gcc-5.2.0
  21. RUN touch /root/.bashrc && \
  22. echo export PATH="\$PATH:/workspace/xtensa-esp32-elf/bin" >> /root/.bashrc && \
  23. echo export IDF_PATH=/workspace/esp-idf >> /root/.bashrc
  24. # OPTIONAL: Install vim for text editing in Bash
  25. RUN apt-get update && apt-get install -y vim
  26. WORKDIR /workspace/squeezelite-esp32
  27. CMD ["bash"]