#!/bin/bash -e
OP_ROOT = $( git rev-parse --show-toplevel)
# Install brew if required
if [ [ $( command -v brew) = = "" ] ] ; then
echo "Installing Hombrew"
/bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh) "
fi
brew bundle --file= - <<-EOS
brew "cmake"
brew "zlib"
brew "bzip2"
brew "rust"
brew "rustup-init"
brew "capnp"
brew "coreutils"
brew "eigen"
brew "ffmpeg"
brew "glfw"
brew "libarchive"
brew "libusb"
brew "libtool"
brew "llvm"
brew "openssl"
brew "pyenv"
brew "qt@5"
brew "zeromq"
cask "gcc-arm-embedded"
EOS
if [ [ $SHELL = = "/bin/zsh" ] ] ; then
RC_FILE = " $HOME /.zshrc "
elif [ [ $SHELL = = "/bin/bash" ] ] ; then
RC_FILE = " $HOME /.bash_profile "
fi
# Build requirements for macOS
# https://github.com/pyenv/pyenv/issues/1740
# https://github.com/pyca/cryptography/blob/main/docs/installation.rst
rustup-init -y
export LDFLAGS = " $LDFLAGS -L/usr/local/opt/zlib/lib "
export LDFLAGS = " $LDFLAGS -L/usr/local/opt/bzip2/lib "
export LDFLAGS = " $LDFLAGS -L/usr/local/opt/openssl@1.1/lib "
export CPPFLAGS = " $CPPFLAGS -I/usr/local/opt/zlib/include "
export CPPFLAGS = " $CPPFLAGS -I/usr/local/opt/bzip2/include "
export CPPFLAGS = " $CPPFLAGS -I/usr/local/opt/openssl@1.1/include "
export PATH = " $PATH :/usr/local/opt/openssl@1.1/bin "
export PATH = " $PATH :/usr/local/bin "
# OpenPilot environment variables
if [ -z " $OPENPILOT_ENV " ] && [ -n " $RC_FILE " ] && [ -z " $CI " ] ; then
echo " export PATH=\"\$PATH: $HOME /.cargo/bin\" " >> $RC_FILE
echo " source $OP_ROOT /tools/openpilot_env.sh " >> $RC_FILE
export PATH = " $PATH :\"\$HOME/.cargo/bin\" "
source " $OP_ROOT /tools/openpilot_env.sh "
echo " Added openpilot_env to RC file: $RC_FILE "
fi
# install python
PYENV_PYTHON_VERSION = $( cat $OP_ROOT /.python-version)
pyenv install -s ${ PYENV_PYTHON_VERSION }
pyenv rehash
eval " $( pyenv init -) "
pip install pipenv = = 2020.8.13
pipenv install --dev --deploy
echo
echo "---- FINISH OPENPILOT SETUP ----"
echo "Configure your active shell env by running:"
echo " source $RC_FILE "