2019-12-05 17:28:49 +00:00
FROM ubuntu:16.04
2019-03-01 15:37:43 +00:00
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
2020-01-24 13:26:23 +00:00
build-essential \
curl \
gcc-aarch64-linux-gnu \
gcc-arm-linux-gnueabihf \
libc6-dev-arm64-cross \
libc6-dev-armhf-cross \
2020-02-20 21:52:40 +00:00
libc6-dev-i386 \
gcc-5-multilib \
2020-06-03 15:42:43 +00:00
asciidoctor \
2021-02-14 12:27:26 +00:00
musl musl-dev musl-tools \
2019-03-01 15:37:43 +00:00
&& rm -rf /var/cache/dpkg
2020-02-20 21:52:40 +00:00
RUN ln -s asm-generic/ /usr/include/asm
2019-03-01 15:37:43 +00:00
RUN useradd -ms /bin/bash user
USER user
WORKDIR /home/user
2021-02-14 12:27:26 +00:00
ENV RUST=1.50.0
2019-03-01 15:37:43 +00:00
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain ${RUST}
ENV PATH=/home/user/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN rustup target add i686-unknown-linux-gnu \
2020-01-24 13:26:23 +00:00
&& rustup target add armv7-unknown-linux-gnueabihf \
2021-02-14 12:27:26 +00:00
&& rustup target add aarch64-unknown-linux-gnu \
&& rustup target add x86_64-unknown-linux-musl \
&& rustup target add i686-unknown-linux-musl \
&& rustup target add armv7-unknown-linux-musleabihf \
&& rustup target add aarch64-unknown-linux-musl
2019-03-01 15:37:43 +00:00
RUN cargo install cargo-deb \
&& rm -rf /home/user/.cargo/{git,tmp,registry}
2021-02-14 12:27:26 +00:00
ENV UPX_VER=3.96
RUN curl https://github.com/upx/upx/releases/download/v${UPX_VER}/upx-${UPX_VER}-amd64_linux.tar.xz -Lf | tar -xJ --strip-components=1 -C /home/user/.cargo/bin
2019-03-01 15:37:43 +00:00
VOLUME /home/user/.cargo/tmp
VOLUME /home/user/.cargo/git
2021-02-14 12:27:26 +00:00
VOLUME /home/user/.cargo/registry