canokey-qemu

Details
Source
FROM stagex/pallet-gcc-cmake-busybox AS build
ARG VERSION
ARG CANOKEY_CORE_SOURCE
ARG CANOKEY_CRYPTO_SOURCE
ARG MBEDTLS_SOURCE
ARG LITTLEFS_SOURCE
ARG TINYCBOR_SOURCE

COPY --from=stagex/core-openssl . /
COPY --from=stagex/core-make . /
COPY --from=stagex/core-zlib . /

ADD fetch/${VERSION}.tar.gz .
RUN mv canokey-qemu* canokey-qemu
ADD fetch/${CANOKEY_CORE_SOURCE} .
RUN rm -rf canokey-qemu/canokey-core
RUN mv canokey-core* canokey-qemu/canokey-core
ADD fetch/${CANOKEY_CRYPTO_SOURCE} .
RUN rm -rf canokey-qemu/canokey-core/canokey-crypto
RUN mv canokey-crypto* canokey-qemu/canokey-core/canokey-crypto
ADD fetch/${MBEDTLS_SOURCE} .
RUN rm -rf canokey-qemu/canokey-core/canokey-crypto/mbedtls
RUN mv mbedtls* canokey-qemu/canokey-core/canokey-crypto/mbedtls
ADD fetch/${LITTLEFS_SOURCE} .
RUN rm -rf canokey-qemu/canokey-core/littlefs
RUN mv littlefs* canokey-qemu/canokey-core/littlefs
ADD fetch/${TINYCBOR_SOURCE} .
RUN rm -rf canokey-qemu/canokey-core/tinycbor
RUN mv tinycbor* canokey-qemu/canokey-core/tinycbor
COPY <<-EOF /usr/bin/git
    #!/bin/sh
    echo ${VERSION}
EOF
RUN chmod +x /usr/bin/git

RUN --network=none <<-EOF
        set -eux
        cd canokey-qemu
        mkdir build/
        cd build
        cmake -DCMAKE_INSTALL_PREFIX=/usr \
            -DCMAKE_INSTALL_LIBDIR=lib ..
        make -j "$(nproc)"
        make DESTDIR=/rootfs install
EOF
FROM stagex/core-filesystem AS package
COPY --from=build /rootfs/ /