setup_ubuntu 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. autoload -Uz log_error log_status log_info mkcd
  2. if (( ! ${+project_root} )) {
  3. log_error "'project_root' not set. Please set before running ${0}."
  4. return 2
  5. }
  6. if (( ! ${+target} )) {
  7. log_error "'target' not set. Please set before running ${0}."
  8. return 2
  9. }
  10. pushd ${project_root}
  11. typeset -g QT_VERSION
  12. local -a apt_args=(
  13. ${CI:+-y}
  14. --no-install-recommends
  15. )
  16. if (( _loglevel == 0 )) apt_args+=(--quiet)
  17. if (( ! (${skips[(Ie)all]} + ${skips[(Ie)deps]}) )) {
  18. log_group 'Installing obs-studio build dependencies...'
  19. local suffix
  20. if [[ ${CPUTYPE} != "${target##*-}" ]] {
  21. local -A arch_mappings=(
  22. aarch64 arm64
  23. x86_64 amd64
  24. )
  25. suffix=":${arch_mappings[${target##*-}]}"
  26. sudo apt-get install ${apt_args} gcc-${${target##*-}//_/-}-linux-gnu g++-${${target##*-}//_/-}-linux-gnu
  27. }
  28. sudo add-apt-repository --yes ppa:obsproject/obs-studio
  29. sudo apt update
  30. sudo apt-get install ${apt_args} \
  31. build-essential \
  32. libgles2-mesa-dev \
  33. obs-studio
  34. local -a _qt_packages=()
  35. if (( QT_VERSION == 5 )) {
  36. _qt_packages+=(
  37. qtbase5-dev${suffix}
  38. libqt5svg5-dev${suffix}
  39. qtbase5-private-dev${suffix}
  40. libqt5x11extras5-dev${suffix}
  41. )
  42. } else {
  43. _qt_packages+=(
  44. qt6-base-dev${suffix}
  45. libqt6svg6-dev${suffix}
  46. qt6-base-private-dev${suffix}
  47. )
  48. }
  49. sudo apt-get install ${apt_args} ${_qt_packages}
  50. log_group
  51. }