ARG MONERO_VERSION=0.16.0.1 FROM alpine:3.12 AS builder ARG MONERO_VERSION RUN apk add --no-cache \ boost-dev \ build-base \ cmake \ libexecinfo-dev \ libsodium-dev \ openpgm-dev \ openssl-dev \ pkgconfig \ unbound-dev \ zeromq-dev # Extract Monero source. Mirrored because GitHub tarballs do not include # submodules. WORKDIR /workdir ADD https://distfiles.offtopica.uk/monero-${MONERO_VERSION}.tar.xz \ monero-${MONERO_VERSION}.tar.xz RUN tar xf monero-${MONERO_VERSION}.tar.xz WORKDIR monero-${MONERO_VERSION} RUN cmake \ -Bbuild \ -DBUILD_SHARED_LIBS=On \ -DCMAKE_BUILD_TYPE=Release \ -DMANUAL_SUBMODULES=On \ -DCMAKE_CXX_FLAGS='-DELPP_FEATURE_CRASH_LOG' \ && make \ -s \ -Cbuild \ -j$(nproc) \ daemon \ wallet_rpc_server # Copy binaries and required libraries to sysroot folder. RUN mkdir -p /sysroot/bin /sysroot/lib /sysroot/usr/lib \ && cp -v /lib/ld-musl-x86_64.so.1 /sysroot/lib/ \ && ldd build/bin/* \ | awk '/=>/ { print $3 }' \ | sort -u \ | xargs -I '{}' cp -v '{}' /sysroot/usr/lib/ \ && cp -v build/bin/* /sysroot/bin/ FROM scratch LABEL maintainer="Matt Smith " COPY --from=builder /sysroot/lib /lib COPY --from=builder /sysroot/usr/lib /usr/lib COPY --from=builder /sysroot/bin/ /bin