From 9b8426c00e653192e3f5ab47cc583b938729e5a5 Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Fri, 22 Dec 2017 00:07:54 +0200 Subject: [PATCH 01/14] Travis CI changes [wip] --- .travis.yml | 21 +- .travis/build.sh | 659 ---------------------------------------------- .travis/common.sh | 64 ----- 3 files changed, 4 insertions(+), 740 deletions(-) delete mode 100755 .travis/common.sh diff --git a/.travis.yml b/.travis.yml index 13ba3348c..feb7aa8e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,13 +10,6 @@ cache: env: matrix: - BUILD_VERSION="" - - BUILD_VERSION="disable_autoupdate" - - BUILD_VERSION="disable_register_custom_scheme" - - BUILD_VERSION="disable_crash_reports" - - BUILD_VERSION="disable_network_proxy" - - BUILD_VERSION="disable_desktop_file_generation" - - BUILD_VERSION="disable_unity_integration" - - BUILD_VERSION="disable_gtk_integration" matrix: fast_finish: true @@ -33,12 +26,9 @@ addons: - dpatch - equivs - fakeroot - - g++-6 - - gcc-6 + - g++-7 + - gcc-7 - git - - gnome-common - - gobject-introspection - - gtk-doc-tools - libappindicator-dev - libasound2-dev - libdbusmenu-glib-dev @@ -51,15 +41,12 @@ addons: - libvdpau-dev - libxcb-xkb-dev - libxkbcommon-dev - - lintian - - quilt - - valac - xutils-dev - yasm before_install: - - export CXX="g++-6" CC="gcc-6" - - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6 + - export CXX="g++-7" CC="gcc-7" + - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 - sudo update-alternatives --config gcc - g++ --version diff --git a/.travis/build.sh b/.travis/build.sh index 506f8d4bb..05a7907cf 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -1,661 +1,2 @@ #!/bin/bash -set -e - -REPO="$PWD" - -BUILD="$REPO/build" -UPSTREAM="$REPO/upstream" -EXTERNAL="$REPO/external" -CACHE="$HOME/travisCacheDir" - -QT_WAS_BUILT="0" - -QT_VERSION=5.6.2 - -XKB_PATH="$BUILD/libxkbcommon" -XKB_CACHE_VERSION="3" - -QT_PATH="$BUILD/qt" -QT_CACHE_VERSION="3" -QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff" - -BREAKPAD_PATH="$BUILD/breakpad" -BREAKPAD_CACHE_VERSION="3" - -GYP_PATH="$BUILD/gyp" -GYP_CACHE_VERSION="3" -GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff" - -VA_PATH="$BUILD/libva" -VA_CACHE_VERSION="3" - -VDPAU_PATH="$BUILD/libvdpau" -VDPAU_CACHE_VERSION="3" - -FFMPEG_PATH="$BUILD/ffmpeg" -FFMPEG_CACHE_VERSION="3" - -OPENAL_PATH="$BUILD/openal-soft" -OPENAL_CACHE_VERSION="3" - -GYP_DEFINES="" - -[[ ! $MAKE_ARGS ]] && MAKE_ARGS="--silent -j4" - -run() { - # Move files to subdir - cd .. - mv tdesktop tdesktop2 - mkdir tdesktop - mv tdesktop2 "$UPSTREAM" - - mkdir "$BUILD" - - build - check -} - -build() { - mkdir -p "$EXTERNAL" - - BUILD_VERSION_DATA=$(echo $BUILD_VERSION | cut -d'-' -f 1) - - # libxkbcommon - getXkbCommon - - # libva - getVa - - # libvdpau - getVdpau - - # ffmpeg - getFFmpeg - - # openal_soft - getOpenAL - - # Patched Qt - getCustomQt - - # Breakpad - getBreakpad - - # Patched GYP (supports cmake precompiled headers) - getGYP - - # Guideline Support Library - getGSL - - if [ "$QT_WAS_BUILT" == "1" ]; then - error_msg "Qt was built, please restart the job :(" - exit 1 - fi - - # Configure the build - if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_AUTOUPDATE" - fi - - if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" - fi - - if [[ $BUILD_VERSION == *"disable_crash_reports"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_CRASH_REPORTS" - fi - - if [[ $BUILD_VERSION == *"disable_network_proxy"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_NETWORK_PROXY" - fi - - if [[ $BUILD_VERSION == *"disable_desktop_file_generation"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION" - fi - - if [[ $BUILD_VERSION == *"disable_unity_integration"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_UNITY_INTEGRATION" - fi - - if [[ $BUILD_VERSION == *"disable_gtk_integration"* ]]; then - GYP_DEFINES+=",TDESKTOP_DISABLE_GTK_INTEGRATION" - fi - - info_msg "Build defines: ${GYP_DEFINES}" - - buildTelegram - - travisEndFold -} - -getXkbCommon() { - travisStartFold "Getting xkbcommon" - - local XKB_CACHE="$CACHE/libxkbcommon" - local XKB_CACHE_FILE="$XKB_CACHE/.cache.txt" - local XKB_CACHE_KEY="${XKB_CACHE_VERSION}" - local XKB_CACHE_OUTDATED="1" - - if [ ! -d "$XKB_CACHE" ]; then - mkdir -p "$XKB_CACHE" - fi - - ln -sf "$XKB_CACHE" "$XKB_PATH" - - if [ -f "$XKB_CACHE_FILE" ]; then - local XKB_CACHE_KEY_FOUND=`tail -n 1 $XKB_CACHE_FILE` - if [ "$XKB_CACHE_KEY" == "$XKB_CACHE_KEY_FOUND" ]; then - XKB_CACHE_OUTDATED="0" - else - info_msg "Cache key '$XKB_CACHE_KEY_FOUND' does not match '$XKB_CACHE_KEY', rebuilding libxkbcommon" - fi - fi - if [ "$XKB_CACHE_OUTDATED" == "1" ]; then - buildXkbCommon - sudo echo $XKB_CACHE_KEY > "$XKB_CACHE_FILE" - else - info_msg "Using cached libxkbcommon" - fi -} - -buildXkbCommon() { - info_msg "Downloading and building libxkbcommon" - - if [ -d "$EXTERNAL/libxkbcommon" ]; then - rm -rf "$EXTERNAL/libxkbcommon" - fi - cd $XKB_PATH - rm -rf * - - cd "$EXTERNAL" - git clone https://github.com/xkbcommon/libxkbcommon.git - - cd "$EXTERNAL/libxkbcommon" - ./autogen.sh --prefix=$XKB_PATH - make $MAKE_ARGS - sudo make install - sudo ldconfig -} - -getVa() { - travisStartFold "Getting libva" - - local VA_CACHE="$CACHE/libva" - local VA_CACHE_FILE="$VA_CACHE/.cache.txt" - local VA_CACHE_KEY="${VA_CACHE_VERSION}" - local VA_CACHE_OUTDATED="1" - - if [ ! -d "$VA_CACHE" ]; then - mkdir -p "$VA_CACHE" - fi - - ln -sf "$VA_CACHE" "$VA_PATH" - - if [ -f "$VA_CACHE_FILE" ]; then - local VA_CACHE_KEY_FOUND=`tail -n 1 $VA_CACHE_FILE` - if [ "$VA_CACHE_KEY" == "$VA_CACHE_KEY_FOUND" ]; then - VA_CACHE_OUTDATED="0" - else - info_msg "Cache key '$VA_CACHE_KEY_FOUND' does not match '$VA_CACHE_KEY', rebuilding libva" - fi - fi - if [ "$VA_CACHE_OUTDATED" == "1" ]; then - buildVa - sudo echo $VA_CACHE_KEY > "$VA_CACHE_FILE" - else - info_msg "Using cached libva" - fi -} - -buildVa() { - info_msg "Downloading and building libva" - - if [ -d "$EXTERNAL/libva" ]; then - rm -rf "$EXTERNAL/libva" - fi - cd $VA_PATH - rm -rf * - - cd "$EXTERNAL" - git clone https://github.com/01org/libva - - cd "$EXTERNAL/libva" - ./autogen.sh --prefix=$VA_PATH --enable-static - make $MAKE_ARGS - sudo make install - 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" - - local FFMPEG_CACHE="$CACHE/ffmpeg" - local FFMPEG_CACHE_FILE="$FFMPEG_CACHE/.cache.txt" - local FFMPEG_CACHE_KEY="${FFMPEG_CACHE_VERSION}" - local FFMPEG_CACHE_OUTDATED="1" - - if [ ! -d "$FFMPEG_CACHE" ]; then - mkdir -p "$FFMPEG_CACHE" - fi - - ln -sf "$FFMPEG_CACHE" "$FFMPEG_PATH" - - if [ -f "$FFMPEG_CACHE_FILE" ]; then - local FFMPEG_CACHE_KEY_FOUND=`tail -n 1 $FFMPEG_CACHE_FILE` - if [ "$FFMPEG_CACHE_KEY" == "$FFMPEG_CACHE_KEY_FOUND" ]; then - FFMPEG_CACHE_OUTDATED="0" - else - info_msg "Cache key '$FFMPEG_CACHE_KEY_FOUND' does not match '$FFMPEG_CACHE_KEY', rebuilding ffmpeg" - fi - fi - if [ "$FFMPEG_CACHE_OUTDATED" == "1" ]; then - buildFFmpeg - sudo echo $FFMPEG_CACHE_KEY > "$FFMPEG_CACHE_FILE" - else - info_msg "Using cached ffmpeg" - fi -} - -buildFFmpeg() { - info_msg "Downloading and building ffmpeg" - - if [ -d "$EXTERNAL/ffmpeg" ]; then - rm -rf "$EXTERNAL/ffmpeg" - fi - cd $FFMPEG_PATH - rm -rf * - - cd "$EXTERNAL" - git clone https://git.ffmpeg.org/ffmpeg.git - - cd "$EXTERNAL/ffmpeg" - ./configure \ - --prefix=$FFMPEG_PATH \ - --disable-debug \ - --disable-programs \ - --disable-doc \ - --disable-everything \ - --enable-gpl \ - --enable-version3 \ - --enable-libopus \ - --enable-decoder=aac \ - --enable-decoder=aac_latm \ - --enable-decoder=aasc \ - --enable-decoder=flac \ - --enable-decoder=gif \ - --enable-decoder=h264 \ - --enable-decoder=h264_vdpau \ - --enable-decoder=mp1 \ - --enable-decoder=mp1float \ - --enable-decoder=mp2 \ - --enable-decoder=mp2float \ - --enable-decoder=mp3 \ - --enable-decoder=mp3adu \ - --enable-decoder=mp3adufloat \ - --enable-decoder=mp3float \ - --enable-decoder=mp3on4 \ - --enable-decoder=mp3on4float \ - --enable-decoder=mpeg4 \ - --enable-decoder=mpeg4_vdpau \ - --enable-decoder=msmpeg4v2 \ - --enable-decoder=msmpeg4v3 \ - --enable-decoder=opus \ - --enable-decoder=vorbis \ - --enable-decoder=wavpack \ - --enable-decoder=wmalossless \ - --enable-decoder=wmapro \ - --enable-decoder=wmav1 \ - --enable-decoder=wmav2 \ - --enable-decoder=wmavoice \ - --enable-encoder=libopus \ - --enable-hwaccel=h264_vaapi \ - --enable-hwaccel=h264_vdpau \ - --enable-hwaccel=mpeg4_vaapi \ - --enable-hwaccel=mpeg4_vdpau \ - --enable-parser=aac \ - --enable-parser=aac_latm \ - --enable-parser=flac \ - --enable-parser=h264 \ - --enable-parser=mpeg4video \ - --enable-parser=mpegaudio \ - --enable-parser=opus \ - --enable-parser=vorbis \ - --enable-demuxer=aac \ - --enable-demuxer=flac \ - --enable-demuxer=gif \ - --enable-demuxer=h264 \ - --enable-demuxer=mov \ - --enable-demuxer=mp3 \ - --enable-demuxer=ogg \ - --enable-demuxer=wav \ - --enable-muxer=ogg \ - --enable-muxer=opus - make $MAKE_ARGS - sudo make install - sudo ldconfig -} - -getOpenAL() { - travisStartFold "Getting openal-soft" - - local OPENAL_CACHE="$CACHE/openal-soft" - local OPENAL_CACHE_FILE="$OPENAL_CACHE/.cache.txt" - local OPENAL_CACHE_KEY="${OPENAL_CACHE_VERSION}" - local OPENAL_CACHE_OUTDATED="1" - - if [ ! -d "$OPENAL_CACHE" ]; then - mkdir -p "$OPENAL_CACHE" - fi - - ln -sf "$OPENAL_CACHE" "$OPENAL_PATH" - - if [ -f "$OPENAL_CACHE_FILE" ]; then - local OPENAL_CACHE_KEY_FOUND=`tail -n 1 $OPENAL_CACHE_FILE` - if [ "$OPENAL_CACHE_KEY" == "$OPENAL_CACHE_KEY_FOUND" ]; then - OPENAL_CACHE_OUTDATED="0" - else - info_msg "Cache key '$OPENAL_CACHE_KEY_FOUND' does not match '$OPENAL_CACHE_KEY', rebuilding openal-soft" - fi - fi - if [ "$OPENAL_CACHE_OUTDATED" == "1" ]; then - buildOpenAL - sudo echo $OPENAL_CACHE_KEY > "$OPENAL_CACHE_FILE" - else - info_msg "Using cached openal-soft" - fi -} - -buildOpenAL() { - info_msg "Downloading and building openal-soft" - - if [ -d "$EXTERNAL/openal-soft" ]; then - rm -rf "$EXTERNAL/openal-soft" - fi - cd $OPENAL_PATH - rm -rf * - - cd "$EXTERNAL" - git clone https://github.com/kcat/openal-soft.git - - cd "$EXTERNAL/openal-soft/build" - cmake \ - -D CMAKE_INSTALL_PREFIX=$OPENAL_PATH \ - -D CMAKE_BUILD_TYPE=Release \ - -D LIBTYPE=STATIC \ - .. - make $MAKE_ARGS - sudo make install - sudo ldconfig -} - -getBreakpad() { - travisStartFold "Getting breakpad" - - local BREAKPAD_CACHE="$CACHE/breakpad" - local BREAKPAD_CACHE_FILE="$BREAKPAD_CACHE/.cache.txt" - local BREAKPAD_CACHE_KEY="${BREAKPAD_CACHE_VERSION}" - local BREAKPAD_CACHE_OUTDATED="1" - - if [ ! -d "$BREAKPAD_CACHE" ]; then - mkdir -p "$BREAKPAD_CACHE" - fi - - ln -sf "$BREAKPAD_CACHE" "$BREAKPAD_PATH" - - if [ -f "$BREAKPAD_CACHE_FILE" ]; then - local BREAKPAD_CACHE_KEY_FOUND=`tail -n 1 $BREAKPAD_CACHE_FILE` - if [ "$BREAKPAD_CACHE_KEY" == "$BREAKPAD_CACHE_KEY_FOUND" ]; then - BREAKPAD_CACHE_OUTDATED="0" - else - info_msg "Cache key '$BREAKPAD_CACHE_KEY_FOUND' does not match '$BREAKPAD_CACHE_KEY', rebuilding breakpad" - fi - fi - if [ "$BREAKPAD_CACHE_OUTDATED" == "1" ]; then - buildBreakpad - sudo echo $BREAKPAD_CACHE_KEY > "$BREAKPAD_CACHE_FILE" - else - info_msg "Using cached breakpad" - fi -} - -buildBreakpad() { - info_msg "Downloading and building breakpad" - - if [ -d "$EXTERNAL/breakpad" ]; then - rm -rf "$EXTERNAL/breakpad" - fi - cd $BREAKPAD_PATH - rm -rf * - - cd "$EXTERNAL" - git clone https://chromium.googlesource.com/breakpad/breakpad - - cd "$EXTERNAL/breakpad/src/third_party" - git clone https://chromium.googlesource.com/linux-syscall-support lss - - cd "$EXTERNAL/breakpad" - ./configure --prefix=$BREAKPAD_PATH - make $MAKE_ARGS - sudo make install - sudo ldconfig -} - -getCustomQt() { - travisStartFold "Getting patched Qt" - - local QT_CACHE="$CACHE/qtPatched" - local QT_CACHE_FILE="$QT_CACHE/.cache.txt" - local QT_PATCH_CHECKSUM=`sha1sum $QT_PATCH` - local QT_CACHE_KEY="${QT_VERSION}_${QT_CACHE_VERSION}_${QT_PATCH_CHECKSUM:0:32}" - local QT_CACHE_OUTDATED="1" - - if [ ! -d "$QT_CACHE" ]; then - mkdir -p "$QT_CACHE" - fi - - ln -sf "$QT_CACHE" "$QT_PATH" - - if [ -f "$QT_CACHE_FILE" ]; then - local QT_CACHE_KEY_FOUND=`tail -n 1 $QT_CACHE_FILE` - if [ "$QT_CACHE_KEY" == "$QT_CACHE_KEY_FOUND" ]; then - QT_CACHE_OUTDATED="0" - else - info_msg "Cache key '$QT_CACHE_KEY_FOUND' does not match '$QT_CACHE_KEY', rebuilding patched Qt" - fi - fi - if [ "$QT_CACHE_OUTDATED" == "1" ]; then - buildCustomQt - sudo echo $QT_CACHE_KEY > "$QT_CACHE_FILE" - else - info_msg "Using cached patched Qt" - fi - - export PATH="$QT_PATH/bin:$PATH" -} - -buildCustomQt() { - QT_WAS_BUILT="1" - info_msg "Downloading and building patched qt" - - if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then - rm -rf "$EXTERNAL/qt${QT_VERSION}" - fi - cd $QT_PATH - rm -rf * - - cd "$EXTERNAL" - git clone git://code.qt.io/qt/qt5.git qt${QT_VERSION} - - cd "$EXTERNAL/qt${QT_VERSION}" - perl init-repository --branch --module-subset=qtbase,qtimageformats - git checkout v${QT_VERSION} - cd qtbase && git checkout v${QT_VERSION} && cd .. - cd qtimageformats && git checkout v${QT_VERSION} && cd .. - - cd "$EXTERNAL/qt${QT_VERSION}/qtbase" - git apply "$QT_PATCH" - cd .. - - cd "$EXTERNAL/qt${QT_VERSION}/qtbase/src/plugins/platforminputcontexts" - git clone https://github.com/telegramdesktop/fcitx.git - git clone https://github.com/telegramdesktop/hime.git - cd ../../../.. - - ./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \ - -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \ - -qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static \ - -nomake examples -nomake tests \ - -dbus-runtime -no-gstreamer -no-mtdev # <- Not sure about these - make $MAKE_ARGS - sudo make install -} - -getGSL() { - cd "$UPSTREAM" - git submodule init - git submodule update -} - -getGYP() { - travisStartFold "Getting patched GYP" - - local GYP_CACHE="$CACHE/gyp" - local GYP_CACHE_FILE="$GYP_CACHE/.cache.txt" - local GYP_PATCH_CHECKSUM=`sha1sum $GYP_PATCH` - local GYP_CACHE_KEY="${GYP_CACHE_VERSION}_${GYP_PATCH_CHECKSUM:0:32}" - local GYP_CACHE_OUTDATED="1" - - if [ ! -d "$GYP_CACHE" ]; then - mkdir -p "$GYP_CACHE" - fi - - ln -sf "$GYP_CACHE" "$GYP_PATH" - - if [ -f "$GYP_CACHE_FILE" ]; then - local GYP_CACHE_KEY_FOUND=`tail -n 1 $GYP_CACHE_FILE` - if [ "$GYP_CACHE_KEY" == "$GYP_CACHE_KEY_FOUND" ]; then - GYP_CACHE_OUTDATED="0" - else - info_msg "Cache key '$GYP_CACHE_KEY_FOUND' does not match '$GYP_CACHE_KEY', rebuilding patched GYP" - fi - fi - if [ "$GYP_CACHE_OUTDATED" == "1" ]; then - buildGYP - sudo echo $GYP_CACHE_KEY > "$GYP_CACHE_FILE" - else - info_msg "Using cached patched GYP" - fi -} - -buildGYP() { - info_msg "Downloading and building patched GYP" - - if [ -d "$EXTERNAL/gyp" ]; then - rm -rf "$EXTERNAL/gyp" - fi - cd $GYP_PATH - rm -rf * - - cd "$EXTERNAL" - git clone https://chromium.googlesource.com/external/gyp - - cd "$EXTERNAL/gyp" - git checkout 702ac58e47 - git apply "$GYP_PATCH" - cp -r * "$GYP_PATH/" -} - -buildTelegram() { - travisStartFold "Build tdesktop" - - cd "$UPSTREAM/Telegram/gyp" - "$GYP_PATH/gyp" \ - -Dbuild_defines=${GYP_DEFINES:1} \ - -Dlinux_path_xkbcommon=$XKB_PATH \ - -Dlinux_path_va=$VA_PATH \ - -Dlinux_path_vdpau=$VDPAU_PATH \ - -Dlinux_path_ffmpeg=$FFMPEG_PATH \ - -Dlinux_path_openal=$OPENAL_PATH \ - -Dlinux_path_qt=$QT_PATH \ - -Dlinux_path_breakpad=$BREAKPAD_PATH \ - -Dlinux_path_libexif_lib=/usr/local/lib \ - -Dlinux_path_opus_include=/usr/include/opus \ - -Dlinux_lib_ssl=-lssl \ - -Dlinux_lib_crypto=-lcrypto \ - -Dlinux_lib_icu=-licuuc\ -licutu\ -licui18n \ - --depth=. --generator-output=.. --format=cmake -Goutput_dir=../out \ - Telegram.gyp - cd "$UPSTREAM/out/Debug" - - export ASM="gcc" - cmake . - make $MAKE_ARGS -} - -check() { - local filePath="$UPSTREAM/out/Debug/Telegram" - if test -f "$filePath"; then - success_msg "Build successfully done! :)" - - local size; - size=$(stat -c %s "$filePath") - success_msg "File size of ${filePath}: ${size} Bytes" - else - error_msg "Build error, output file does not exist" - exit 1 - fi -} - -source ./.travis/common.sh - -run diff --git a/.travis/common.sh b/.travis/common.sh deleted file mode 100755 index d9061ab51..000000000 --- a/.travis/common.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash -# set colors -RCol='\e[0m' # Text Reset - -# Regular Bold Underline High Intensity BoldHigh Intens Background High Intensity Backgrounds -Bla='\e[0;30m'; BBla='\e[1;30m'; UBla='\e[4;30m'; IBla='\e[0;90m'; BIBla='\e[1;90m'; On_Bla='\e[40m'; On_IBla='\e[0;100m'; -Red='\e[0;31m'; BRed='\e[1;31m'; URed='\e[4;31m'; IRed='\e[0;91m'; BIRed='\e[1;91m'; On_Red='\e[41m'; On_IRed='\e[0;101m'; -Gre='\e[0;32m'; BGre='\e[1;32m'; UGre='\e[4;32m'; IGre='\e[0;92m'; BIGre='\e[1;92m'; On_Gre='\e[42m'; On_IGre='\e[0;102m'; -Yel='\e[0;33m'; BYel='\e[1;33m'; UYel='\e[4;33m'; IYel='\e[0;93m'; BIYel='\e[1;93m'; On_Yel='\e[43m'; On_IYel='\e[0;103m'; -Blu='\e[0;34m'; BBlu='\e[1;34m'; UBlu='\e[4;34m'; IBlu='\e[0;94m'; BIBlu='\e[1;94m'; On_Blu='\e[44m'; On_IBlu='\e[0;104m'; -Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m'; IPur='\e[0;95m'; BIPur='\e[1;95m'; On_Pur='\e[45m'; On_IPur='\e[0;105m'; -Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m'; ICya='\e[0;96m'; BICya='\e[1;96m'; On_Cya='\e[46m'; On_ICya='\e[0;106m'; -Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m'; IWhi='\e[0;97m'; BIWhi='\e[1;97m'; On_Whi='\e[47m'; On_IWhi='\e[0;107m'; - -start_msg() { - echo -e "\n${Gre}$*${RCol}" -} - -info_msg() { - sameLineInfoMessage "\n$1" -} - -error_msg() { - echo -e "\n${BRed}$*${RCol}" -} - -success_msg() { - echo -e "\n${BGre}$*${RCol}" -} - -sameLineInfoMessage() { - echo -e "${Cya}$*${RCol}" -} - -TRAVIS_LAST_FOLD="" - -travisStartFold() { - local TITLE="$1" - local NAME=$(sanitizeName "$TITLE") - - if [ "$TRAVIS_LAST_FOLD" != "" ]; then - travisEndFold - fi - - echo "travis_fold:start:$NAME" - sameLineInfoMessage "$TITLE" - - TRAVIS_LAST_FOLD="$NAME" -} - -travisEndFold() { - if [ "$TRAVIS_LAST_FOLD" == "" ]; then - return - fi - - echo "travis_fold:end:$TRAVIS_LAST_FOLD" - TRAVIS_LAST_FOLD="" -} - -sanitizeName() { - local NAME="${1// /_}" - local NAME="${NAME,,}" - echo "$NAME" -} From 631dcd84a728bd5ed46a9918824031b3324e3b3b Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 10:29:38 +0200 Subject: [PATCH 03/14] Fix submodules --- .gitmodules | 3 +++ Telegram/ThirdParty/variant/.gitmodules | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index e69de29bb..e351c5f56 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Telegram/ThirdParty/variant/.mason"] + path = Telegram/ThirdParty/variant/.mason + url = https://github.com/mapbox/mason.git \ No newline at end of file diff --git a/Telegram/ThirdParty/variant/.gitmodules b/Telegram/ThirdParty/variant/.gitmodules index 44fba9a2f..e69de29bb 100644 --- a/Telegram/ThirdParty/variant/.gitmodules +++ b/Telegram/ThirdParty/variant/.gitmodules @@ -1,3 +0,0 @@ -[submodule ".mason"] - path = .mason - url = https://github.com/mapbox/mason.git From 430d09ddb3a8a5f3779aa89e37b287bc76bda818 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 10:51:19 +0200 Subject: [PATCH 04/14] Add compilation to travis --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index feb7aa8e8..d452374ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,5 +50,8 @@ before_install: - sudo update-alternatives --config gcc - g++ --version +before_script: + - cmake . + script: - - .travis/build.sh + - make -j2 From b36f9a423eaf78a958cdc61d518b20f0f483c23a Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 11:12:29 +0200 Subject: [PATCH 05/14] Add missing dependencies to travis --- .travis.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.travis.yml b/.travis.yml index d452374ef..cd537a414 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,18 @@ addons: - libxkbcommon-dev - xutils-dev - yasm + - libavfilter-dev + - libavutil-dev + - libavformat-dev + - libavcodec-dev + - libopenal-data + - libopenal-dev + - libopenal1 + - libopenal1-dbg + - qtsystems5-private-dev + - qttools5-private-dev + - qtbase5-private-dev + - libalut-dev before_install: - export CXX="g++-7" CC="gcc-7" From 74f9507ac8d5476d837a8c40096910b29702e9c4 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 11:28:44 +0200 Subject: [PATCH 06/14] Remove libopenal1-dbg (doesn't exist in Trusty and probably not needed) --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cd537a414..8355ba2ed 100644 --- a/.travis.yml +++ b/.travis.yml @@ -50,7 +50,6 @@ addons: - libopenal-data - libopenal-dev - libopenal1 - - libopenal1-dbg - qtsystems5-private-dev - qttools5-private-dev - qtbase5-private-dev From 0dfb8a3174ca631400b1813b8e36165564fd0a28 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 11:44:32 +0200 Subject: [PATCH 07/14] Add libswscale-dev --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 8355ba2ed..0ccacc801 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,8 @@ addons: - libxkbcommon-dev - xutils-dev - yasm + - ffmpeg + - libswscale-dev - libavfilter-dev - libavutil-dev - libavformat-dev From 9846cad1d119ea8131576d708493f4ee43e0bcc6 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 11:58:41 +0200 Subject: [PATCH 08/14] Remove ffmpeg --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0ccacc801..d3a3d074a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,6 @@ addons: - libxkbcommon-dev - xutils-dev - yasm - - ffmpeg - libswscale-dev - libavfilter-dev - libavutil-dev From 27cef27c92c0534152db0b0c17a6759667f2902b Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 12:19:18 +0200 Subject: [PATCH 09/14] Return ffmpeg via ppa --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index d3a3d074a..659a8e7c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ addons: apt: sources: - ubuntu-toolchain-r-test + - sourceline: 'ppa:kirillshkrogalev/ffmpeg-next' packages: - bison - build-essential @@ -43,6 +44,7 @@ addons: - libxkbcommon-dev - xutils-dev - yasm + - ffmpeg - libswscale-dev - libavfilter-dev - libavutil-dev From 61648964cce56b967f86f91fd4bcd3ab0ecbfb58 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 12:43:12 +0200 Subject: [PATCH 10/14] Add libswresample --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 659a8e7c6..1e5a5c2f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,7 +45,9 @@ addons: - xutils-dev - yasm - ffmpeg + - libswresample-ffmpeg-dev - libswscale-dev + - libpostproc-dev - libavfilter-dev - libavutil-dev - libavformat-dev From 5b6dd33ce65cbd7ce8ce4464101aa9e7b50e5cd8 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 13:00:36 +0200 Subject: [PATCH 11/14] Fix package names for trusty --- .travis.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1e5a5c2f7..3e5e42ad5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,12 +46,12 @@ addons: - yasm - ffmpeg - libswresample-ffmpeg-dev - - libswscale-dev - - libpostproc-dev - - libavfilter-dev - - libavutil-dev - - libavformat-dev - - libavcodec-dev + - libswscale-ffmpeg-dev + - libpostproc-ffmpeg-dev + - libavfilter-ffmpeg-dev + - libavutil-ffmpeg-dev + - libavformat-ffmpeg-dev + - libavcodec-ffmpeg-dev - libopenal-data - libopenal-dev - libopenal1 From 9426c11c23193a61f2a1260b56fb6c1cc2a584aa Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 13:23:50 +0200 Subject: [PATCH 12/14] Add more Qt --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 3e5e42ad5..0883a6ecb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,6 +55,8 @@ addons: - libopenal-data - libopenal-dev - libopenal1 + - libqt5core5a + - qtbase5-dev - qtsystems5-private-dev - qttools5-private-dev - qtbase5-private-dev From f9b2c2de20a477c14d88c3cb407d19d70dad3014 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 13:53:50 +0200 Subject: [PATCH 13/14] QtGui --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 0883a6ecb..2b79dbedd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -57,6 +57,7 @@ addons: - libopenal1 - libqt5core5a - qtbase5-dev + - libqt5gui5 - qtsystems5-private-dev - qttools5-private-dev - qtbase5-private-dev From e4b2045553368c498bc34d65695c1114756a9f15 Mon Sep 17 00:00:00 2001 From: Evgenii Zheltonozhskii Date: Sun, 24 Dec 2017 14:17:55 +0200 Subject: [PATCH 14/14] Prefix path --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2b79dbedd..38d7dc7bb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -70,7 +70,7 @@ before_install: - g++ --version before_script: - - cmake . + - cmake -DCMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu/;/usr/include/" . script: - make -j2