blob: 111e8e82c468fc27a63735d6f34605e7c9d31916 [file] [log] [blame]
Nico Huberc5942eb2025-03-02 13:17:58 +01001FROM --platform=${BUILDPLATFORM} mani/source AS source
2
Nico Huberc0b52db2022-12-15 12:42:32 +00003FROM manibase
4
Nico Huber806cfdb2025-03-02 13:24:10 +01005ARG ADDITIONAL_PACKAGES=
Nico Huberc0b52db2022-12-15 12:42:32 +00006RUN \
7 useradd -p locked -m mani && \
8 apt-get -qq update && \
9 apt-get -qq upgrade && \
Nico Huberb115c982023-03-02 23:10:05 +000010 apt-get -qqy install gcc make git doxygen ccache pkg-config meson \
Nico Huber806cfdb2025-03-02 13:24:10 +010011 libpci-dev libftdi1-dev libusb-1.0-0-dev \
12 ${ADDITIONAL_PACKAGES} && \
Steve Markgraf61899472023-01-09 23:06:52 +010013 { apt-get -qqy install libjaylink-dev libgpiod-dev || true; } && \
Nico Huberc0b52db2022-12-15 12:42:32 +000014 apt-get clean
15
Nico Huberc5942eb2025-03-02 13:17:58 +010016COPY --from=source /source /home/mani/flashprog
17RUN chown -R mani:mani /home/mani/flashprog
18
Nico Huberfb433ba2023-03-04 19:09:47 +000019RUN mkdir -p -m 1777 /ccache
20
Nico Huberc0b52db2022-12-15 12:42:32 +000021ENV GIT_SSL_NO_VERIFY=1
22USER mani
23
Nico Huberc5942eb2025-03-02 13:17:58 +010024RUN cd && mkdir .ccache && chown mani:mani .ccache
Nico Huberc0b52db2022-12-15 12:42:32 +000025
Nico Huberfb433ba2023-03-04 19:09:47 +000026ARG IDENT=mani
27ARG CCACHE_MAX=32M
28RUN \
29 ccache --set-config cache_dir=/ccache/${IDENT} && \
30 ccache --set-config max_size=${CCACHE_MAX}
31
Nico Huberc0b52db2022-12-15 12:42:32 +000032ENV DEVSHELL /bin/bash
33COPY mani-wrapper.sh /home/mani/
34ENTRYPOINT ["/bin/sh", "/home/mani/mani-wrapper.sh"]