Anyway most of this stuff is still relevant for the web client, just the last few steps may differ
Before you start, please ensure that you've successfully set up your environment.
If you don't want to install all this, you could also use the official web build docker.
git clone https://github.com/TeaSpeak/TeaWeb
git submodule update --init --recursive --remote --checkout
As already mentioned, if you're just want to develop or style the web client this isnt required!
If you want to speak or use TeamSpeak 3 Identities you have to complete this!
cd asm
./make_opus.sh
npm run build-worker
cd libraries/tommath
mkdir build; cd build
emcmake cmake ..
emmake make -j 4
ATTENTION: Do not use the create_build.sh
script!
cd libraries/tomcrypt
emmake make -f makefile CFLAGS="-DUSE_LTM -DLTM_DESC -I../tommath/" EXTRALIBS="$(pwd)/../tommath/build/libtommathStatic.a" test
cd asm
mkdir build; cd build
emcmake cmake ..
emmake make -j 4
npm install --only=dev # Install the dependencies
./scripts/web_build.sh dev # Use "rel" insteadof "dev" to create a release build
You should now find an ready to use environment within web/environment/development
.
Please notice that all files are just relative links to the files.
./scripts/web_package.sh dev # Use "rel" insteadof "dev" to create a release package
You need a linux based (ubuntu or debian is recommanded) system.
As well you need the following packaged installed:
apt-get install git wget gcc make python2.7 xz-utils php5 autoconf libtool zip
ATTENTION: Its important to have python2.7 as default python
command.
emscripten
is required for compiling c++ into webassably or even javascript.
This currently affects the TeamSpeak 3 Identity part and the codec part.
Just for developing or styling the web client, this isn't required.
So if you want to save some time you could scrip this.
apt-get install software-properties-common
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
wget https://cmake.org/files/v3.12/cmake-3.12.3.tar.gz
tar xvf cmake-*.tar.gz
cd cmake-*
./configure
make -j 4
make install
wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
tar xvf node-*.tar.xz
cd node-*
cp -R * /usr/local/
git clone https://github.com/kripken/emscripten-fastcomp
cd emscripten-fastcomp
git clone https://github.com/kripken/emscripten-fastcomp-clang tools/clang
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="host;JSBackend" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_TESTS=OFF
make -j 4
make install
git clone https://github.com/kripken/emscripten.git
cd emscripten
python emscripten.py
python emscripten.py #Execute it twice to detekt error
echo "PATH=\"$PATH:`pwd`\"" >> ~/.bashrc