vagrant_provision.sh 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. echo "Setting up dependencies..."
  3. apt-get update && apt-get -y install \
  4. libgtest-dev \
  5. libsfml-dev \
  6. libglew-dev \
  7. qt5-default \
  8. libopenal-dev \
  9. libjpeg-dev \
  10. libpng-dev \
  11. libfreetype6-dev \
  12. libvorbis-dev \
  13. libfaad-dev \
  14. libfmt3-dev \
  15. build-essential \
  16. cmake \
  17. libssl-dev \
  18. libmpg123-dev \
  19. gcc g++ gcc-multilib gcc-arm-none-eabi
  20. echo "The libraries will be configured in /opt/freeshop !"
  21. mkdir /opt/freeshop
  22. cd /opt/freeshop
  23. echo "Setting up devkitARM_r46."
  24. echo "Starting wget download of devkitARM."
  25. wget https://sourceforge.net/projects/devkitpro/files/devkitARM/devkitARM_r46/devkitARM_r46-x86_64-linux.tar.bz2/download -O /opt/freeshop/devkitARM_r46-x86_64-linux.tar.bz2 -q
  26. echo "Decompressing devkitARM_r46."
  27. tar xvjf devkitARM_r46-x86_64-linux.tar.bz2
  28. echo "Setting up libctru 1.2.1"
  29. echo "Starting wget download of libctru 1.2.1"
  30. mkdir /opt/freeshop/libctru
  31. cd /opt/freeshop/libctru
  32. wget https://github.com/smealum/ctrulib/releases/download/v1.2.1/libctru-1.2.1.tar.bz2 -O /opt/freeshop/libctru/libctru-1.2.1.tar.bz2 -q
  33. echo "Decompressing libctru 1.2.1"
  34. tar xvjf libctru-1.2.1.tar.bz2
  35. echo "Setting up citro3d"
  36. echo "Starting wget download of citro3d"
  37. wget https://sourceforge.net/projects/devkitpro/files/citro3d/1.2.0/citro3d-1.2.0.tar.bz2/download -O /opt/freeshop/libctru/citro3d-1.2.0.tar.bz2 -q
  38. tar xvjf citro3d-1.2.0.tar.bz2
  39. cd /opt/freeshop
  40. echo "Adding devkitARM to path..."
  41. echo "export DEVKITPRO=/opt/freeshop" >> /home/vagrant/.bashrc
  42. echo "export DEVKITARM=\$DEVKITPRO/devkitARM" >> /home/vagrant/.bashrc
  43. echo "Setting up CPP3DS (note CPP3DS is complicated to compile, this _may_ fail."
  44. git clone https://github.com/Naxann/cpp3ds.git
  45. cd cpp3ds
  46. echo "Downloading 3DS portlibs..."
  47. wget -q https://github.com/cpp3ds/3ds_portlibs/releases/download/r5/portlibs-3ds-r5.tar.xz -O portlibs.tar.xz && \
  48. tar -xaf portlibs.tar.xz && \
  49. rm portlibs.tar.xz && \
  50. ln -s $(pwd)/portlibs $DEVKITPRO/portlibs && \
  51. ln -s $DEVKITPRO/portlibs/3ds $DEVKITPRO/portlibs/armv6k
  52. echo "Building libarchive..."
  53. git clone https://github.com/Cruel/3ds_portlibs.git
  54. cd 3ds_portlibs
  55. make libarchive
  56. make install
  57. cd ../
  58. rm -rf 3ds_portlibs
  59. echo "Building libmpg123"
  60. wget -O libmpg123-dev.tar.gz https://notabug.org/attachments/216a6d61-f167-4f65-84dc-fa98c2247fc1
  61. tar -xaf libmpg123-dev.tar.gz -C $DEVKITPRO/portlibs/3ds
  62. rm libmpg123-dev.tar.gz
  63. echo "Downloading 3DS tools..."
  64. wget -q https://github.com/cpp3ds/3ds-tools/releases/download/r6/3ds-tools-linux-r6.tar.gz -O tools.tar.gz && \
  65. tar -xaf tools.tar.gz && \
  66. cp 3ds-tools/* $DEVKITARM/bin && \
  67. rm tools.tar.gz
  68. echo "Building googletest"
  69. cd /usr/src/googletest/googletest
  70. cmake . && \
  71. make -j4 && \
  72. cp *.a /usr/lib && \
  73. make clean
  74. echo "Exporting the CPP3DS environment variable."
  75. echo "export CPP3DS=/opt/freeshop/cpp3ds/" >> ~/.bashrc
  76. echo "Building CPP3DS"
  77. cd $DEVKITPRO/cpp3ds
  78. mkdir build && \
  79. cd build && \
  80. cmake -DBUILD_EMULATOR=ON -DENABLE_OGG=ON -DENABLE_AAC=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=ON .. && \
  81. make -j4 && \
  82. mv lib .. && \
  83. cd .. && \
  84. ./bin/tests