build-rust-host.sh

1.2 KB · raw

1#!/bin/sh2set -eu34SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)5ANDROID_REPOSITORY=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)6CORE_REPOSITORY=${1:-${PEACH_NOISE_CORE_DIR:-"$ANDROID_REPOSITORY/../peach-browser/crypto-core"}}78# shellcheck source=scripts/rust-toolchain.sh9. "$SCRIPT_DIR/rust-toolchain.sh"10require_pinned_rust_toolchain1112if [ ! -f "$CORE_REPOSITORY/Cargo.toml" ] || [ ! -f "$CORE_REPOSITORY/Cargo.lock" ]; then13    echo "Canonical Peach Noise core manifest/lock not found: $CORE_REPOSITORY" >&214    exit 115fi1617(cd "$CORE_REPOSITORY" && cargo build --locked --release)1819PROVENANCE_DIRECTORY="$ANDROID_REPOSITORY/build/provenance"20mkdir -p "$PROVENANCE_DIRECTORY"21HOST_LIBRARY="$CORE_REPOSITORY/target/release/libpeach_noise_core.dylib"22{23    echo "rustc=$PINNED_RUSTC_VERSION"24    echo "cargo=$PINNED_CARGO_VERSION"25    echo "cargo_toml_sha256=$(hash_file "$CORE_REPOSITORY/Cargo.toml")"26    echo "cargo_lock_sha256=$(hash_file "$CORE_REPOSITORY/Cargo.lock")"27    echo "rust_sources_sha256=$(hash_rust_sources "$CORE_REPOSITORY/src")"28    echo "target=aarch64-apple-darwin"29    echo "host_library_sha256=$(hash_file "$HOST_LIBRARY")"30} > "$PROVENANCE_DIRECTORY/noise-core-host.txt"31