mirror of
https://github.com/infiniteCable2/opendbc.git
synced 2026-02-18 21:13:51 +08:00
46 lines
1.4 KiB
Bash
Executable File
46 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
|
|
|
# TODO: why doesn't uv do this?
|
|
export PYTHONPATH=$BASEDIR
|
|
|
|
# *** dependencies install ***
|
|
if [ "$(uname -s)" = "Linux" ]; then
|
|
if ! command -v "mull-runner-18" > /dev/null 2>&1; then
|
|
curl -1sLf 'https://dl.cloudsmith.io/public/mull-project/mull-stable/setup.deb.sh' | sudo -E bash
|
|
sudo apt-get update && sudo apt-get install -y clang-18 mull-18
|
|
fi
|
|
elif [ "$(uname -s)" = "Darwin" ]; then
|
|
if ! brew list llvm@18 &>/dev/null; then
|
|
brew install llvm@18
|
|
fi
|
|
if [ ! -f "$BASEDIR/.mull/bin/mull-runner-18" ]; then
|
|
MULL_VERSION="0.26.1"
|
|
MULL_ZIP="Mull-18-${MULL_VERSION}-LLVM-18.1-macOS-arm64-14.7.4.zip"
|
|
MULL_DIR="Mull-18-${MULL_VERSION}-LLVM-18.1-macOS-arm64-14.7.4"
|
|
curl -LO "https://github.com/mull-project/mull/releases/download/${MULL_VERSION}/${MULL_ZIP}"
|
|
unzip -o "$MULL_ZIP"
|
|
mv "$MULL_DIR" "$BASEDIR/.mull"
|
|
rm "$MULL_ZIP"
|
|
fi
|
|
export PATH="$BASEDIR/.mull/bin:$PATH"
|
|
fi
|
|
|
|
if ! command -v uv &>/dev/null; then
|
|
echo "'uv' is not installed. Installing 'uv'..."
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
|
|
# must source this after install on some platforms
|
|
if [ -f $HOME/.local/bin/env ]; then
|
|
source $HOME/.local/bin/env
|
|
fi
|
|
fi
|
|
|
|
export UV_PROJECT_ENVIRONMENT="$BASEDIR/.venv"
|
|
uv sync --all-extras --inexact
|
|
source "$PYTHONPATH/.venv/bin/activate"
|
|
|
|
$BASEDIR/opendbc/safety/tests/misra/install.sh
|