diff --git a/.travis.yml b/.travis.yml index 05de5af4d..57e5165ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,6 +50,7 @@ addons: - libssl-dev - libunity-dev - libva-dev + - libvdpau-dev - libxcb-xkb-dev - libxkbcommon-dev - lintian diff --git a/.travis/build.sh b/.travis/build.sh index e84b64e46..12a8c87d6 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -28,6 +28,9 @@ GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff" VA_PATH="$BUILD/libva" VA_CACHE_VERSION="2" +VDPAU_PATH="$BUILD/libvdpau" +VDPAU_CACHE_VERSION="1" + FFMPEG_PATH="$BUILD/ffmpeg" FFMPEG_CACHE_VERSION="2" @@ -60,6 +63,9 @@ build() { # libva getVa + # libvdpau + getVdpau + # ffmpeg getFFmpeg @@ -205,6 +211,55 @@ buildVa() { sudo ldconfig } +getVdpau() { + travisStartFold "Getting libvdpau" + + local VDPAU_CACHE="$CACHE/libvdpau" + local VDPAU_CACHE_FILE="$VDPAU_CACHE/.cache.txt" + local VDPAU_CACHE_KEY="${VDPAU_CACHE_VERSION}" + local VDPAU_CACHE_OUTDATED="1" + + if [ ! -d "$VDPAU_CACHE" ]; then + mkdir -p "$VDPAU_CACHE" + fi + + ln -sf "$VDPAU_CACHE" "$VDPAU_PATH" + + if [ -f "$VDPAU_CACHE_FILE" ]; then + local VDPAU_CACHE_KEY_FOUND=`tail -n 1 $VDPAU_CACHE_FILE` + if [ "$VDPAU_CACHE_KEY" == "$VDPAU_CACHE_KEY_FOUND" ]; then + VDPAU_CACHE_OUTDATED="0" + else + info_msg "Cache key '$VDPAU_CACHE_KEY_FOUND' does not match '$VDPAU_CACHE_KEY', rebuilding libvdpau" + fi + fi + if [ "$VDPAU_CACHE_OUTDATED" == "1" ]; then + buildVdpau + sudo echo $VDPAU_CACHE_KEY > "$VDPAU_CACHE_FILE" + else + info_msg "Using cached libvdpau" + fi +} + +buildVdpau() { + info_msg "Downloading and building libvdpau" + + if [ -d "$EXTERNAL/libvdpau" ]; then + rm -rf "$EXTERNAL/libvdpau" + fi + cd $VDPAU_PATH + rm -rf * + + cd "$EXTERNAL" + git clone git://anongit.freedesktop.org/vdpau/libvdpau + + cd "$EXTERNAL/libvdpau" + ./autogen.sh --prefix=$VDPAU_PATH --enable-static + make $MAKE_ARGS + sudo make install + sudo ldconfig +} + getFFmpeg() { travisStartFold "Getting ffmpeg" diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi index d07b5928a..f4a402280 100644 --- a/Telegram/gyp/telegram_linux.gypi +++ b/Telegram/gyp/telegram_linux.gypi @@ -63,6 +63,7 @@ 'libva-x11.a', 'libva-drm.a', 'libva.a', + 'libvdpau.a', 'libdrm.a', 'libz.a', # ' /dev/null --libs <@(pkgconfig_libs))', diff --git a/doc/building-cmake.md b/doc/building-cmake.md index 8609d2a05..4d97df46f 100644 --- a/doc/building-cmake.md +++ b/doc/building-cmake.md @@ -64,6 +64,13 @@ In Terminal go to **/home/user/TBuild/Libraries** and run sudo make install cd .. + git clone git://anongit.freedesktop.org/vdpau/libvdpau + cd libvdpau + ./autogen.sh --enable-static + make + sudo make install + cd .. + git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg cd ffmpeg git checkout release/3.2