# syntax = docker/dockerfile:1.11-labs FROM input AS deps ARG sys_target ARG rust_toolchain ARG RUSTUP_HOME ARG CARGO_HOME ARG CARGO_TARGET ARG CARGO_TARGET_DIR ARG CARGO_TARGET_CACHE ARG CARGO_BUILD_RUSTFLAGS ARG CARGO_PROFILE_test_DEBUG ARG CARGO_PROFILE_bench_DEBUG ARG CARGO_PROFILE_bench_LTO ARG CARGO_PROFILE_bench_CODEGEN_UNITS ARG cargo_profile ARG cargo_features ARG cargo_spec_features ARG cook_args ARG git_checkout WORKDIR /usr/lib/${sys_target} COPY --from=rocksdb . . WORKDIR /usr/src/tuwunel COPY --from=recipe recipe.json . ENV CARGO_TARGET_DIR="${CARGO_TARGET_DIR}" ENV CARGO_BUILD_RUSTFLAGS="${CARGO_BUILD_RUSTFLAGS}" ENV CARGO_PROFILE_test_DEBUG="${CARGO_PROFILE_test_DEBUG}" ENV CARGO_PROFILE_bench_DEBUG="${CARGO_PROFILE_bench_DEBUG}" ENV CARGO_PROFILE_bench_LTO="${CARGO_PROFILE_bench_LTO}" ENV CARGO_PROFILE_bench_CODEGEN_UNITS="${CARGO_PROFILE_bench_CODEGEN_UNITS}" RUN \ --mount=type=cache,dst=${RUSTUP_HOME},sharing=locked \ --mount=type=cache,dst=${CARGO_HOME},sharing=locked \ --mount=type=cache,dst=${CARGO_TARGET_DIR},sharing=locked \ --mount=type=cache,dst=${CARGO_TARGET_DIR}/deps,id=${CARGO_TARGET_CACHE}/deps,sharing=shared \ --mount=type=cache,dst=${CARGO_TARGET_DIR}/build,id=${CARGO_TARGET_CACHE}/build,sharing=shared \ --mount=type=cache,dst=${CARGO_TARGET_DIR}/incremental,id=${CARGO_TARGET_CACHE}/incremental,sharing=shared \ --mount=type=cache,dst=${CARGO_TARGET_DIR}/.fingerprint,id=${CARGO_TARGET_CACHE}/fingerprint,sharing=shared \ <