mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-19 07:43:57 +08:00
* Uncomment build_mac job
* Add PYCURL_CURL_CONFIG
* Acados universal binary
* Remove x86 macos references from sconscript
* Add missing include in cabana
* Update cereal
* Update workflow
* Remove unnecessary libpaths for darwin
* Add missing path to cached dirs
* Fix path in cache preparation step
* Add poetry caches to CI cache
* Compile acados with lower deployment target for CI
* Update cereal
* Pass -rpath in linker flags as scons doed not support RPATH on macos
* Use scons api instead of os
* @rpath in install name of acados dylibs
* SConstruct cleanup
* fix liblocationd tests by adding lib suffix based on platform
* Update cereal
* Update opendbc
* Update opendbc
* Add acados gitignore to release files
* Update cereal
* Update cereal
* Add scons_cache to build cache
* Add Caskroom to cache
* Fix typo
* Link all packages at once, instead of one by one
* Run cleanup stage using poetry
* Remove casks from cache
* Move scons cache to separate cache step
* Save scons cache only on master
* Remove restore-keys from save-scons-cache step
* Uncomment if conditions for scons save
* Add gcc-arm-embedded cask cache to cache
* Custom handling of gcc-arm-embedded toolchain cache
* Rename dep cache key
* Exclude .fseventsd from cache
* Fix glob pattern
* Remove .feventsd before caching
* Run mac_setup only if dependency cache-hit != true
* Update cereal to master
* Add overwrite flag to brew link
* Remove manual casadi build from mac_setup
* Remove restore-keys from dependency cache
* Remove linux requirement for casadi
* Restore restore-keys to dependency cache
old-commit-hash: 45a6834a74
91 lines
2.4 KiB
Bash
Executable File
91 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
|
ROOT="$(cd $DIR/../ && pwd)"
|
|
ARCH=$(uname -m)
|
|
|
|
if [[ $SHELL == "/bin/zsh" ]]; then
|
|
RC_FILE="$HOME/.zshrc"
|
|
elif [[ $SHELL == "/bin/bash" ]]; then
|
|
RC_FILE="$HOME/.bashrc"
|
|
fi
|
|
|
|
# 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)"
|
|
echo "[ ] installed brew t=$SECONDS"
|
|
|
|
# make brew available now
|
|
if [[ $ARCH == "x86_64" ]]; then
|
|
echo 'eval "$(/usr/local/homebrew/bin/brew shellenv)"' >> $RC_FILE
|
|
eval "$(/usr/local/homebrew/bin/brew shellenv)"
|
|
else
|
|
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $RC_FILE
|
|
eval "$(/opt/homebrew/bin/brew shellenv)"
|
|
fi
|
|
fi
|
|
|
|
# TODO: remove protobuf,protobuf-c,swig when casadi can be pip installed
|
|
brew bundle --file=- <<-EOS
|
|
brew "catch2"
|
|
brew "cmake"
|
|
brew "cppcheck"
|
|
brew "git-lfs"
|
|
brew "zlib"
|
|
brew "bzip2"
|
|
brew "capnp"
|
|
brew "coreutils"
|
|
brew "eigen"
|
|
brew "ffmpeg"
|
|
brew "glfw"
|
|
brew "libarchive"
|
|
brew "libusb"
|
|
brew "libtool"
|
|
brew "llvm"
|
|
brew "openssl@3.0"
|
|
brew "pyenv"
|
|
brew "qt@5"
|
|
brew "zeromq"
|
|
brew "protobuf"
|
|
brew "protobuf-c"
|
|
brew "swig"
|
|
brew "gcc@12"
|
|
cask "gcc-arm-embedded"
|
|
EOS
|
|
|
|
echo "[ ] finished brew install t=$SECONDS"
|
|
|
|
BREW_PREFIX=$(brew --prefix)
|
|
|
|
# archive backend tools for pip dependencies
|
|
export LDFLAGS="$LDFLAGS -L${BREW_PREFIX}/opt/zlib/lib"
|
|
export LDFLAGS="$LDFLAGS -L${BREW_PREFIX}/opt/bzip2/lib"
|
|
export CPPFLAGS="$CPPFLAGS -I${BREW_PREFIX}/opt/zlib/include"
|
|
export CPPFLAGS="$CPPFLAGS -I${BREW_PREFIX}/opt/bzip2/include"
|
|
|
|
# pycurl curl/openssl backend dependencies
|
|
export LDFLAGS="$LDFLAGS -L${BREW_PREFIX}/opt/openssl@3/lib"
|
|
export CPPFLAGS="$CPPFLAGS -I${BREW_PREFIX}/opt/openssl@3/include"
|
|
export PYCURL_CURL_CONFIG=/usr/bin/curl-config
|
|
export PYCURL_SSL_LIBRARY=openssl
|
|
|
|
# openpilot environment
|
|
if [ -z "$OPENPILOT_ENV" ] && [ -n "$RC_FILE" ] && [ -z "$CI" ]; then
|
|
echo "source $ROOT/tools/openpilot_env.sh" >> $RC_FILE
|
|
source "$ROOT/tools/openpilot_env.sh"
|
|
echo "Added openpilot_env to RC file: $RC_FILE"
|
|
fi
|
|
|
|
# install python dependencies
|
|
$ROOT/update_requirements.sh
|
|
eval "$(pyenv init --path)"
|
|
echo "[ ] installed python dependencies t=$SECONDS"
|
|
|
|
echo
|
|
echo "---- OPENPILOT SETUP DONE ----"
|
|
echo "Open a new shell or configure your active shell env by running:"
|
|
echo "source $RC_FILE"
|