12set -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"}}7CARGO_FEATURES=${PEACH_NOISE_CORE_FEATURES:-}8910. "$SCRIPT_DIR/rust-toolchain.sh"11require_pinned_rust_toolchain1213if [ ! -f "$CORE_REPOSITORY/Cargo.toml" ] || [ ! -f "$CORE_REPOSITORY/Cargo.lock" ]; then14 echo "Canonical Peach Noise core manifest/lock not found: $CORE_REPOSITORY" >&215 exit 116fi1718if [ -n "$CARGO_FEATURES" ]; then19 (cd "$CORE_REPOSITORY" && cargo build --locked --release --features "$CARGO_FEATURES")20else21 (cd "$CORE_REPOSITORY" && cargo build --locked --release)22fi2324PROVENANCE_DIRECTORY="$ANDROID_REPOSITORY/build/provenance"25mkdir -p "$PROVENANCE_DIRECTORY"26HOST_LIBRARY="$CORE_REPOSITORY/target/release/libpeach_noise_core.dylib"27{28 echo "rustc=$PINNED_RUSTC_VERSION"29 echo "cargo=$PINNED_CARGO_VERSION"30 echo "cargo_toml_sha256=$(hash_file "$CORE_REPOSITORY/Cargo.toml")"31 echo "cargo_lock_sha256=$(hash_file "$CORE_REPOSITORY/Cargo.lock")"32 echo "rust_sources_sha256=$(hash_rust_sources "$CORE_REPOSITORY/src")"33 echo "target=aarch64-apple-darwin"34 echo "host_library_sha256=$(hash_file "$HOST_LIBRARY")"35} > "$PROVENANCE_DIRECTORY/noise-core-host.txt"36