FROM ubuntu:24.04 AS base ARG TARGETARCH RUN apt-get update && apt-get install -y \ git \ cmake \ gcc \ g++ \ make \ libuv1-dev \ libzmq3-dev \ libcurl4-openssl-dev \ && rm -rf /var/lib/apt/lists/* FROM base AS build ARG P2POOL_VERSION ARG TARGETARCH ARG BUILDPLATFORM ARG TARGETPLATFORM RUN git clone --recursive https://github.com/SChernykh/p2pool /src/p2pool WORKDIR /src/p2pool RUN git checkout ${P2POOL_VERSION} # Determine parallel jobs based on cross-compilation RUN mkdir build && cd build && \ if [ "$BUILDPLATFORM" != "$TARGETPLATFORM" ]; then \ MAKE_JOBS="-j2"; \ else \ MAKE_JOBS="-j$(nproc)"; \ fi && \ echo "Building with parallel jobs: $MAKE_JOBS (cross-compile: $([ "$BUILDPLATFORM" != "$TARGETPLATFORM" ] && echo yes || echo no))" && \ cmake .. -DCMAKE_BUILD_TYPE=Release -DWITH_MERGE_MINING_DONATION=OFF && \ make $MAKE_JOBS FROM scratch ARG TARGETARCH COPY --from=build /src/p2pool/build/p2pool /linux_${TARGETARCH}/p2pool