install_deps.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash
  2. while (($# > 0)); do
  3. case $1 in
  4. --test) # install test dependencies
  5. TEST=1
  6. shift
  7. ;;
  8. esac
  9. done
  10. os=$(uname -s)
  11. if [[ $os == Linux ]]; then
  12. sudo apt-get update
  13. sudo apt-get install -y build-essential cmake curl gettext ninja-build
  14. if [[ $CC == clang ]]; then
  15. DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}')
  16. CLANG_VERSION=19
  17. if ((DEFAULT_CLANG_VERSION >= CLANG_VERSION)); then
  18. echo "Default clang version is $DEFAULT_CLANG_VERSION, which is equal or larger than wanted version $CLANG_VERSION. Aborting!"
  19. exit 1
  20. fi
  21. wget https://apt.llvm.org/llvm.sh
  22. chmod +x llvm.sh
  23. sudo ./llvm.sh $CLANG_VERSION
  24. sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-$CLANG_VERSION 100
  25. sudo update-alternatives --set clang /usr/bin/clang-$CLANG_VERSION
  26. fi
  27. if [[ -n $TEST ]]; then
  28. sudo apt-get install -y locales-all cpanminus attr libattr1-dev gdb inotify-tools xdg-utils
  29. # Use default CC to avoid compilation problems when installing Python modules
  30. CC=cc python3 -m pip -q install --user --upgrade --break-system-packages pynvim
  31. fi
  32. elif [[ $os == Darwin ]]; then
  33. brew update --quiet
  34. brew install ninja
  35. if [[ -n $TEST ]]; then
  36. brew install cpanminus fswatch
  37. # Use default CC to avoid compilation problems when installing Python modules
  38. CC=cc python3 -m pip -q install --user --upgrade --break-system-packages pynvim
  39. fi
  40. fi