FROM alpine:edge # Download ARM toolkit. RUN apk add --no-cache gcc-arm-none-eabi gcc # Create volume /havoc/bin for compiled firmware binaries VOLUME /havoc WORKDIR /havoc/firmware # Fetch dependencies from APK RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories RUN apk update -U RUN apk add --no-cache git tar wget cmake curl bzip2 lz4 make RUN apk add --no-cache dfu-util ccache icu-data-full RUN apk add --no-cache python3 py3-pip py3-yaml RUN apk add --no-cache py3-pyyaml-env-tag RUN apk add --no-cache g++ gcc clang clang-static clang-dev llvm-dev llvm-static ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 # Configure CCACHE RUN mkdir ~/bin && cd ~/bin && \ for tool in gcc g++ cpp c++;do ln -s $(which ccache) arm-none-eabi-$tool;done CMD cd .. && cd build && \ cmake .. && make firmware