clyde 0.8.0

A cross-platform package manager for prebuilt applications
#!/bin/bash
set -euo pipefail

CROSS_VERSION=0.2.4

. $(dirname $0)/functions.sh

init_system_vars

setup_cross() {
    CARGO_CMD=$(command -v cross || true)
    if [ -z "$CARGO_CMD" ] ; then
        echo "Installing cross $CROSS_VERSION"
        # Use --locked because of https://github.com/cross-rs/cross/issues/1177
        cargo install cross --version $CROSS_VERSION --locked
    fi
    CARGO_CMD=$(command -v cross || true)
    if [ -z "$CARGO_CMD" ] ; then
        die "Failed to install cross"
    fi
    echo "Using cross: CARGO_CMD=$CARGO_CMD"
}

if [ "$OS_NAME" = "linux" ]; then
    export RUSTFLAGS='-C target-feature=+crt-static'
    rustup target add $CARGO_BUILD_TARGET
    setup_cross
else
    CARGO_CMD=cargo
fi

$CARGO_CMD build --verbose --release

# On Linux, it's important to ship a static binary. Check this is the case.
if [ "$OS_NAME" = "linux" ]; then
    ldd "$EXE_DIR/clyde" | grep -q statically
fi