| FROM manibase |
| |
| RUN \ |
| useradd -p locked -m mani && \ |
| if grep -q main /etc/apt/sources.list; then \ |
| if ! grep -q universe /etc/apt/sources.list; then \ |
| sed -i -e 's/ main$/ main universe/' \ |
| /etc/apt/sources.list || exit 1; \ |
| fi; \ |
| else \ |
| url="http://ports.ubuntu.com/" && \ |
| cn="$(sed -ne's/DISTRIB_CODENAME=//p' /etc/lsb-release)" && \ |
| for t in "" "-updates" "-security"; do \ |
| echo "deb ${url} ${cn}${t} main universe" \ |
| >>/etc/apt/sources.list || exit 1; \ |
| done; \ |
| fi && \ |
| apt-get -qq update && \ |
| apt-get -qq upgrade && \ |
| apt-get -qqy install gcc make git doxygen ccache pkg-config meson \ |
| libpci-dev libftdi1-dev libusb-1.0-0-dev && \ |
| { apt-get -qqy install libjaylink-dev libgpiod-dev || true; } && \ |
| apt-get clean |
| |
| RUN mkdir -p -m 1777 /ccache |
| |
| ENV GIT_SSL_NO_VERIFY=1 |
| USER mani |
| |
| ARG ORIGIN=https://review.sourcearcade.org/flashprog.git |
| RUN \ |
| cd && \ |
| mkdir .ccache && chown mani:mani .ccache && \ |
| git clone ${ORIGIN} flashprog |
| |
| ARG IDENT=mani |
| ARG CCACHE_MAX=32M |
| RUN \ |
| ccache --set-config cache_dir=/ccache/${IDENT} && \ |
| ccache --set-config max_size=${CCACHE_MAX} |
| |
| ENV DEVSHELL /bin/bash |
| COPY mani-wrapper.sh /home/mani/ |
| ENTRYPOINT ["/bin/sh", "/home/mani/mani-wrapper.sh"] |