build_gerbera.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/bash
  2. Version=2.0
  3. function print_centered {
  4. [[ $# == 0 ]] && return 1
  5. declare -i TERM_COLS="$(tput cols)"
  6. declare -i str_len="${#1}"
  7. [[ $str_len -ge $TERM_COLS ]] && {
  8. echo "$1";
  9. return 0;
  10. }
  11. declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
  12. [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
  13. filler=""
  14. for (( i = 0; i < filler_len; i++ )); do
  15. filler="${filler}${ch}"
  16. done
  17. printf "%s%s%s" "$filler" "$1" "$filler"
  18. [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
  19. printf "\n"
  20. return 0
  21. }
  22. print_centered "$(tput setaf 3)"
  23. print_centered " _____ __ ";
  24. print_centered " / ___/__ ____/ / ___ _______ _";
  25. print_centered "/ (_ / -_) __/ _ \/ -_) __/ _ \`/";
  26. print_centered "\___/\__/_/ /_.__/\__/_/ \_,_/ ";
  27. print_centered " ";
  28. echo -n "$(tput setaf 7)"
  29. print_centered "Gerbera UPNP installation script v$Version"
  30. echo ""
  31. sleep 3
  32. sudo apt-get update
  33. sudo apt-get install uuid-dev libsqlite3-dev libmysqlclient-dev libmagic-dev libexif-dev libcurl4-openssl-dev libspdlog-dev libpugixml-dev -y
  34. sudo apt-get install libavutil-dev libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev libavresample-dev libswscale-dev libswresample-dev libpostproc-dev -y
  35. sudo apt-get install libebml-dev ffmpeg ffmpegthumbnailer libffmpegthumbnailer-dev imagemagick fmtools libfmt-dev libmatroska-dev -y
  36. echo -e ""
  37. git clone https://github.com/gerbera/gerbera.git
  38. cd ~/Build_Cube/options/gerbera/scripts
  39. sudo ./install-duktape.sh
  40. cd ~/Build_Cube/options/gerbera/scripts
  41. sudo ./install-lastfm.sh
  42. cd ~/Build_Cube/options/gerbera/scripts
  43. sudo ./install-fmt.sh
  44. cd ~/Build_Cube/options/gerbera/scripts
  45. sudo ./install-pugixml.sh
  46. cd ~/Build_Cube/options/gerbera/scripts
  47. sudo ./install-pupnp.sh
  48. cd ~/Build_Cube/options/gerbera/scripts
  49. sudo ./install-spdlog.sh
  50. cd ~/Build_Cube/options/gerbera/scripts
  51. sed -i -e "s/rm -R taglib-build/rm -R taglib-build ||true/g" install-taglib.sh
  52. sudo ./install-taglib.sh
  53. echo -e ""
  54. cd ~/Build_Cube/options/gerbera
  55. mkdir build
  56. cd build
  57. cmake .. -DWITH_MAGIC=1 -DWITH_MYSQL=0 -DWITH_CURL=1 -DWITH_JS=1 -DWITH_TAGLIB=1 -DWITH_AVCODEC=1 -DWITH_FFMPEGTHUMBNAILER=1 -DWITH_EXIF=1 -DWITH_LASTFM=0
  58. make -j2
  59. sudo make install
  60. cd ~
  61. cp ~/Build_Cube/pack/gerbera.tar.xz .
  62. tar xvfJ gerbera.tar.xz
  63. rm gerbera.tar.xz
  64. echo -e "\n$(tput setaf 3)Done.$(tput setaf 7)\n"