diff --git a/Dockerfile b/Dockerfile index 93f7beb..c1d5328 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,33 @@ ARG MSMTP_VERSION=1.8.16 +ARG ALPINE_S6_VERSION=3.14-2.2.0.3 +ARG XX_VERSION=1.0.0-rc.2 -FROM --platform=${BUILDPLATFORM:-linux/amd64} crazymax/alpine-s6:3.14-2.2.0.3 AS download -RUN apk --update --no-cache add curl tar unzip xz - -ARG MSMTP_VERSION -WORKDIR /dist/msmtp -RUN curl -sSL "https://marlam.de/msmtp/releases/msmtp-$MSMTP_VERSION.tar.xz" | tar xJv --strip 1 - -FROM crazymax/alpine-s6:3.14-2.2.0.3 AS builder +FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx +FROM --platform=$BUILDPLATFORM crazymax/alpine-s6:${ALPINE_S6_VERSION} AS builder RUN apk --update --no-cache add \ - autoconf \ - automake \ - binutils \ build-base \ + clang \ + curl \ gettext-dev \ gnutls-dev \ libidn2-dev \ libgsasl-dev \ libsecret-dev \ openssl-dev \ + tar \ + unzip \ + xz \ && rm -rf /tmp/* -COPY --from=download /dist/msmtp /tmp/msmtp -WORKDIR /tmp/msmtp +ARG MSMTP_VERSION +WORKDIR /src +RUN curl -sSL "https://marlam.de/msmtp/releases/msmtp-$MSMTP_VERSION.tar.xz" | tar xJv --strip 1 + +ARG TARGETPLATFORM +ENV XX_CC_PREFER_LINKER=ld +COPY --from=xx / / RUN ./configure \ + --host=$(xx-clang --print-target-triple) \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ @@ -32,7 +36,7 @@ RUN ./configure \ && make install \ && msmtp --version -FROM crazymax/alpine-s6:3.14-2.2.0.3 +FROM crazymax/alpine-s6:${ALPINE_S6_VERSION} ENV S6_BEHAVIOUR_IF_STAGE2_FAILS="2" \ TZ="UTC" \