# syntax = docker/dockerfile:1.11-labs

FROM input AS install
ARG rust_target
ARG CARGO_TARGET_DIR
ARG cargo_target_profile
ARG install_prefix
ARG assert_linkage=""

WORKDIR /
COPY --link --from=input . .

WORKDIR ${install_prefix}
ENV src_path="${CARGO_TARGET_DIR}/${rust_target}/${cargo_target_profile}/tuwunel"
ENV dst_path="${install_prefix}/bin/tuwunel"
COPY --from=bins $src_path $dst_path
RUN <<EOF
    ldd -v "${dst_path}"
    ret=$?
    if [ "$ret" = "0" ] && [ "$assert_linkage" = "static" ]; then
        echo "($ret) expected a static binary"
        exit 1
    elif [ "$ret" != "0" ] && [ "$assert_linkage" = "dynamic" ]; then
        echo "($ret) expected a dynamic binary"
        exit 1
    fi

    set -eux
    du -h "${dst_path}"
    sha1sum "${dst_path}"
EOF
