|
|
|
@ -2,63 +2,113 @@ |
|
|
|
|
|
|
|
|
|
OP_ROOT=$(git rev-parse --show-toplevel) |
|
|
|
|
|
|
|
|
|
sudo apt-get update && sudo apt-get install -y --no-install-recommends \ |
|
|
|
|
# Install packages present in all supported versions of Ubuntu |
|
|
|
|
function install_ubuntu_common_requirements() { |
|
|
|
|
sudo apt-get update |
|
|
|
|
sudo apt-get install -y --no-install-recommends \ |
|
|
|
|
autoconf \ |
|
|
|
|
build-essential \ |
|
|
|
|
clang \ |
|
|
|
|
cmake \ |
|
|
|
|
make \ |
|
|
|
|
cppcheck \ |
|
|
|
|
libtool \ |
|
|
|
|
libstdc++-arm-none-eabi-newlib \ |
|
|
|
|
gcc-arm-none-eabi \ |
|
|
|
|
bzip2 \ |
|
|
|
|
liblzma-dev \ |
|
|
|
|
libarchive-dev \ |
|
|
|
|
libbz2-dev \ |
|
|
|
|
capnproto \ |
|
|
|
|
cppcheck \ |
|
|
|
|
libcapnp-dev \ |
|
|
|
|
clang \ |
|
|
|
|
cmake \ |
|
|
|
|
curl \ |
|
|
|
|
ffmpeg \ |
|
|
|
|
libcurl4-openssl-dev \ |
|
|
|
|
wget \ |
|
|
|
|
git \ |
|
|
|
|
git-lfs \ |
|
|
|
|
libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev libswscale-dev libavresample-dev libavfilter-dev \ |
|
|
|
|
libarchive-dev \ |
|
|
|
|
libbz2-dev \ |
|
|
|
|
libcurl4-openssl-dev \ |
|
|
|
|
ffmpeg \ |
|
|
|
|
libavformat-dev \ |
|
|
|
|
libavcodec-dev \ |
|
|
|
|
libavdevice-dev \ |
|
|
|
|
libavutil-dev \ |
|
|
|
|
libavfilter-dev \ |
|
|
|
|
libeigen3-dev \ |
|
|
|
|
libffi-dev \ |
|
|
|
|
libglew-dev \ |
|
|
|
|
libgles2-mesa-dev \ |
|
|
|
|
libglfw3-dev \ |
|
|
|
|
libglib2.0-0 \ |
|
|
|
|
liblzma-dev \ |
|
|
|
|
libomp-dev \ |
|
|
|
|
libopencv-dev \ |
|
|
|
|
libpng16-16 \ |
|
|
|
|
libssl-dev \ |
|
|
|
|
libstdc++-arm-none-eabi-newlib \ |
|
|
|
|
libsqlite3-dev \ |
|
|
|
|
libtool \ |
|
|
|
|
libusb-1.0-0-dev \ |
|
|
|
|
libzmq3-dev \ |
|
|
|
|
libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev \ |
|
|
|
|
libsdl1.2-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev libfreetype6-dev \ |
|
|
|
|
libsdl1.2-dev \ |
|
|
|
|
libsdl-image1.2-dev \ |
|
|
|
|
libsdl-mixer1.2-dev \ |
|
|
|
|
libsdl-ttf2.0-dev \ |
|
|
|
|
libsmpeg-dev \ |
|
|
|
|
libportmidi-dev \ |
|
|
|
|
libfreetype6-dev \ |
|
|
|
|
libsystemd-dev \ |
|
|
|
|
locales \ |
|
|
|
|
opencl-headers \ |
|
|
|
|
ocl-icd-libopencl1 \ |
|
|
|
|
ocl-icd-opencl-dev \ |
|
|
|
|
opencl-headers \ |
|
|
|
|
python-dev \ |
|
|
|
|
python3-pip \ |
|
|
|
|
qml-module-qtquick2 \ |
|
|
|
|
qt5-default \ |
|
|
|
|
qtmultimedia5-dev \ |
|
|
|
|
qtwebengine5-dev \ |
|
|
|
|
qtlocation5-dev \ |
|
|
|
|
qtpositioning5-dev \ |
|
|
|
|
libqt5sql5-sqlite \ |
|
|
|
|
libqt5svg5-dev \ |
|
|
|
|
screen \ |
|
|
|
|
sudo \ |
|
|
|
|
vim \ |
|
|
|
|
wget \ |
|
|
|
|
gcc-arm-none-eabi \ |
|
|
|
|
libqt5x11extras5-dev \ |
|
|
|
|
libreadline-dev |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Install Ubuntu 21.10 packages |
|
|
|
|
function install_ubuntu_latest_requirements() { |
|
|
|
|
install_ubuntu_common_requirements |
|
|
|
|
|
|
|
|
|
sudo apt-get install -y --no-install-recommends \ |
|
|
|
|
qtbase5-dev \ |
|
|
|
|
qtchooser \ |
|
|
|
|
qt5-qmake \ |
|
|
|
|
qtbase5-dev-tools |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Install Ubuntu 20.04 packages |
|
|
|
|
function install_ubuntu_lts_requirements() { |
|
|
|
|
install_ubuntu_common_requirements |
|
|
|
|
|
|
|
|
|
sudo apt-get install -y --no-install-recommends \ |
|
|
|
|
libavresample-dev \ |
|
|
|
|
qt5-default |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# Detect OS using /etc/os-release file |
|
|
|
|
if [ -f "/etc/os-release" ]; then |
|
|
|
|
source /etc/os-release |
|
|
|
|
case "$ID $VERSION_ID" in |
|
|
|
|
"ubuntu 21.10") |
|
|
|
|
install_ubuntu_latest_requirements |
|
|
|
|
;; |
|
|
|
|
"ubuntu 20.04") |
|
|
|
|
install_ubuntu_lts_requirements |
|
|
|
|
;; |
|
|
|
|
*) |
|
|
|
|
echo "$ID $VERSION_ID is unsupported. This setup script is written for Ubuntu 20.04." |
|
|
|
|
exit 1 |
|
|
|
|
esac |
|
|
|
|
else |
|
|
|
|
echo "No /etc/os-release in the system" |
|
|
|
|
exit 1 |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# install pyenv |
|
|
|
|
if ! command -v "pyenv" > /dev/null 2>&1; then |
|
|
|
|