2020-08-07 09:51:41 +03:00
FROM ubuntu:18.04
2021-04-30 13:36:17 +03:00
# hadolint ignore=DL3008
RUN apt-get update && \
DEBIAN_FRONTEND = noninteractive apt-get install -y --no-install-recommends \
2020-10-20 05:58:22 +03:00
software-properties-common \
gpg-agent \
2020-08-30 20:23:12 +03:00
make \
2021-04-18 11:18:33 +03:00
cmake \
2020-08-30 20:23:12 +03:00
autoconf \
automake \
libtool \
2021-04-18 11:18:33 +03:00
libusb-1.0 \
libusb-1.0-0-dev \
libgtk-3-dev pandoc \
2020-08-30 20:23:12 +03:00
curl \
wget \
g++ \
2021-04-18 11:18:33 +03:00
gcc \
2020-08-30 20:23:12 +03:00
unzip \
build-essential \
python \
python-pip \
2020-10-26 20:00:17 +03:00
python3 \
imagemagick \
2021-02-15 02:53:17 +03:00
srecord \
Display and UI implementation (#169)
* Menu app. Lib: add mlib submodule.
* Menu: new startup lib dependency definition
* Menu: hierarchy in menu. Cube: fix heap1/4 inconsistency, stack protection.
* GUI: rendering pipeline initial version.
* GUI: layered widget composing, FURI record. Menu: FURI record, api.
* GUI: input dispatching. Menu: switch to input from GUI.
* GUI, MENU: code style cleanup, fix type conversion warnings.
* GUI, Menu: syntax check.
* Makefile: check and reinit submodules, format.
* Menu: lock on event processing. Makefile: proper submodule initialization.
* Menu: fix stack corruption by queue.
* GUI: refactor.
* Makefile: format rule fix, st-util pid.
* GUI, Menu, FURI: format with clang-format.
* GUI, MENU: locks in critical sections, fix stack corruption, ready signaling.
* Makefile: clang format rule cleanup.
* GUI,MENU: migrate to new API.
* Applications: PRODUCTION_HW variable, skip drivers build on local target.
* refactor production build
* add git to dockerfile
* GUI: uncomment lock block
Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
2020-10-14 13:21:55 +03:00
git \
2021-04-18 11:18:33 +03:00
pkg-config \
dfu-util \
2020-09-30 02:18:30 +03:00
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2021-04-30 13:36:17 +03:00
SHELL [ "/bin/bash" , "-eo" , "pipefail" , "-c" ]
RUN wget --progress= dot:giga -O - "https://apt.llvm.org/llvm-snapshot.gpg.key" | apt-key add - && add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main"
2020-10-20 05:58:22 +03:00
2021-04-30 13:36:17 +03:00
# hadolint ignore=DL3008
RUN apt-get update && \
apt-get install -y --no-install-recommends \
2020-10-20 13:41:00 +03:00
libclang-12-dev \
clang-format-12 \
2020-10-20 05:58:22 +03:00
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2021-02-25 11:36:32 +03:00
# install arm-none-eabi
2021-04-30 13:36:17 +03:00
# hadolint ignore=DL3003
RUN wget --progress= dot:giga "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2" && \
2021-02-25 11:36:32 +03:00
tar xjf gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 && \
2021-04-30 13:36:17 +03:00
rm gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2 && \
2021-02-25 11:36:32 +03:00
cd gcc-arm-none-eabi-10-2020-q4-major/bin/ && \
2021-04-30 13:36:17 +03:00
for file in * ; do ln -s " ${ PWD } / ${ file } " " /usr/bin/ ${ file } " ; done && \
2021-04-18 11:18:33 +03:00
cd / && arm-none-eabi-gcc -v && arm-none-eabi-gdb -v
2021-02-25 11:36:32 +03:00
2021-02-12 13:04:35 +03:00
# install hex2dfu
2021-04-30 13:36:17 +03:00
# hadolint ignore=DL3003
RUN wget --progress= dot:giga "https://github.com/rusdacent/hex2dfu/archive/master.zip" --output-document= hex2dfu.zip && \
2021-02-12 13:04:35 +03:00
unzip hex2dfu.zip && \
2021-04-30 13:36:17 +03:00
rm hex2dfu.zip && \
2021-02-12 13:04:35 +03:00
cd hex2dfu-master && gcc hex2dfu.c ED25519/*.c -o hex2dfu && \
2021-04-30 13:36:17 +03:00
ln -s " ${ PWD } /hex2dfu " /usr/bin/hex2dfu
2021-02-12 13:04:35 +03:00
2021-04-18 11:18:33 +03:00
# install openocd
2021-04-30 13:36:17 +03:00
# hadolint ignore=DL3003
2021-04-18 11:18:33 +03:00
RUN git clone --depth 1 --branch v0.11.0 https://github.com/ntfreak/openocd.git && \
2021-04-30 02:20:33 +03:00
cd openocd && ./bootstrap && ./configure && make install && \
2021-04-30 13:36:17 +03:00
cd .. && rm -rf openocd && \
2021-04-18 11:18:33 +03:00
openocd --version
2020-09-30 02:18:30 +03:00
COPY entrypoint.sh syntax_check.sh /
2020-08-26 13:08:20 +03:00
2020-09-30 02:18:30 +03:00
RUN chmod +x /syntax_check.sh
2020-08-30 20:23:12 +03:00
2020-08-31 23:12:18 +03:00
ENTRYPOINT [ "/entrypoint.sh" ]