diff options
author | Giovanni Santini | 2020-01-22 16:55:58 +0100 |
---|---|---|
committer | Giovanni Santini | 2020-01-22 16:55:58 +0100 |
commit | b61bad71bea4d328e713f6b82c2ba7d036dbdeae (patch) | |
tree | 519092a73a9582090ad824eee96d58b342aeeefc | |
parent | b014642f9231da0db1d38f5ef82f46f651c3e8de (diff) | |
download | aur-b61bad71bea4d328e713f6b82c2ba7d036dbdeae.tar.gz |
upgpkg: telegram-desktop-dev 1.9.4-1
- Version bump.
- Major PKGBUILD rewrite, to comply with official package.
-rw-r--r-- | .SRCINFO | 74 | ||||
-rw-r--r-- | PKGBUILD | 180 | ||||
-rw-r--r-- | tdesktop_fixed.patch | 539 |
3 files changed, 156 insertions, 637 deletions
@@ -1,46 +1,53 @@ pkgbase = telegram-desktop-dev pkgdesc = Official Telegram Desktop client - development release - pkgver = 1.8.15 + pkgver = 1.9.4 pkgrel = 1 url = https://desktop.telegram.org/ arch = i686 arch = x86_64 license = GPL3 makedepends = cmake - makedepends = dos2unix makedepends = git - makedepends = gyp makedepends = libappindicator-gtk3 makedepends = python makedepends = range-v3 - depends = desktop-file-utils + depends = enchant depends = ffmpeg depends = hicolor-icon-theme + depends = lz4 depends = minizip depends = openal - depends = openssl - depends = qt5-base depends = qt5-imageformats - optdepends = libnotify: desktop notifications + depends = xxhash optdepends = ttf-opensans: default Open Sans font family + optdepends = libappindicator-gtk3: AppIndicator-based tray icon provides = telegram-desktop conflicts = telegram-desktop - source = tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v1.8.15 - source = Catch2::git+https://github.com/catchorg/Catch2.git - source = crl::git+https://github.com/telegramdesktop/crl.git + source = tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#tag=v1.9.4 + source = Catch::git+https://github.com/philsquared/Catch source = GSL::git+https://github.com/Microsoft/GSL.git - source = libtgvoip::git+https://github.com/telegramdesktop/libtgvoip.git - source = rlottie::git+https://github.com/john-preston/rlottie.git - source = variant::git+https://github.com/mapbox/variant.git + source = QR::git+https://github.com/nayuki/QR-Code-generator + source = cmake::git+https://github.com/desktop-app/cmake_helpers.git + source = codegen::git+https://github.com/desktop-app/codegen.git + source = expected::git+https://github.com/TartanLlama/expected + source = helpers::git+https://github.com/desktop-app/gyp_helpers.git + source = lib_base::git+https://github.com/desktop-app/lib_base.git + source = lib_crl::git+https://github.com/desktop-app/lib_crl.git + source = lib_lottie::git+https://github.com/desktop-app/lib_lottie.git + source = lib_qr::git+https://github.com/desktop-app/lib_qr.git + source = lib_rlottie::git+https://github.com/desktop-app/lib_rlottie.git + source = lib_rpl::git+https://github.com/desktop-app/lib_rpl.git + source = lib_spellcheck::git+https://github.com/desktop-app/lib_spellcheck + source = lib_storage::git+https://github.com/desktop-app/lib_storage.git + source = lib_tl::git+https://github.com/desktop-app/lib_tl.git + source = lib_ui::git+https://github.com/desktop-app/lib_ui.git + source = libtgvoip::git+https://github.com/telegramdesktop/libtgvoip + source = lz4::git+https://github.com/lz4/lz4.git + source = rlottie::git+https://github.com/desktop-app/rlottie.git + source = variant::git+https://github.com/mapbox/variant source = xxHash::git+https://github.com/Cyan4973/xxHash.git - source = CMakeLists.inj::https://git.archlinux.org/svntogit/community.git/plain/trunk/CMakeLists.inj?h=packages/telegram-desktop - source = libtgvoip.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/libtgvoip.patch?h=packages/telegram-desktop - source = tdesktop.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/tdesktop.patch?h=packages/telegram-desktop - source = no-gtk2.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/no-gtk2.patch?h=packages/telegram-desktop - source = Revert-Disable-DemiBold-fallback-for-Semibold.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/Revert-Disable-DemiBold-fallback-for-Semibold.patch?h=packages/telegram-desktop - source = tdesktop_lottie_animation_qtdebug.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/tdesktop_lottie_animation_qtdebug.patch?h=packages/telegram-desktop - source = Revert-Change-some-private-header-includes.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/Revert-Change-some-private-header-includes.patch?h=packages/telegram-desktop - source = Use-system-wide-font.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/Use-system-wide-font.patch?h=packages/telegram-desktop + source = 0005-Use-system-wide-fonts.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/0005-Use-system-wide-fonts.patch?h=packages/telegram-desktop + source = 0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch?h=packages/telegram-desktop sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP @@ -49,14 +56,23 @@ pkgbase = telegram-desktop-dev sha512sums = SKIP sha512sums = SKIP sha512sums = SKIP - sha512sums = b759e45282c7bd04e1fdcbfd0c009773782bebde36d96363db9869a9d78e7fad41314ad311b7afbfa57db4e66c0265da17e9f81f6d62a972466cb71d19d4b47c - sha512sums = d60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39 - sha512sums = 218f8711eefb5a8115222e099e6d08fc4079584b3aa3594d05a43390f37d5b51fbf1b64511c3a3e7792ef6c32fa6f4c8a65b6188a9efbd340304602552f3a595 - sha512sums = 117b0c2bae3d3d3aa94d41382621be4e05c3314a2831dba59e1bcfb443e7b8ff4bcd0403544fa0cb6def85b444146bf59eef9da25f96b041d3ce8f5429b4a867 - sha512sums = d5cd7ecb5583258462c21a9ae3d4e8ae8c709d47d7ce2c45f8ae23100d24993398b8372021957b9a4607b3988f366e1c0cf64d724d901cb70212665c481217e9 - sha512sums = 79fcbee94f09df6b443c2b967afe4cba367985af13004b130da27f7bdf20974f76148a8056e98ce92000fabed80a1ff3cb2d332f6f8c70eed8aa909281533cd5 - sha512sums = 087dd821690dfedf1c275f264a0223b123e31ab9ee95050023930470bc9c866958cae00e2fd9132e6f7efbc4f1dfc3fdc20f8fba1fc9472d92bd702eaa60adb0 - sha512sums = 2c1bb75449b4634befa3edaac5d20e4b29ede21119549d9a3895dda9d4723f618dd950ee32133e04186fa65d07f80081ba3e3d5585209ba9112aa754d06fbb5c + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = SKIP + sha512sums = e12021af0c95c967f80240abd683bf197f3c4f8f21315b48c5dadeb399dc39cd1e352352daba1c30691c6d1c6e66078af95b9262e8fe0c2174709fcb1a8a3f5d + sha512sums = 41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d pkgname = telegram-desktop-dev @@ -6,17 +6,33 @@ # https://github.com/mymedia2/tdesktop pkgname=telegram-desktop-dev -pkgver=1.8.15 +pkgver=1.9.4 pkgrel=1 pkgdesc='Official Telegram Desktop client - development release' arch=('i686' 'x86_64') url="https://desktop.telegram.org/" license=('GPL3') -depends=(desktop-file-utils ffmpeg hicolor-icon-theme minizip openal openssl - qt5-base qt5-imageformats) -makedepends=(cmake dos2unix git gyp libappindicator-gtk3 python range-v3) -optdepends=('libnotify: desktop notifications' - 'ttf-opensans: default Open Sans font family') +depends=( + 'enchant' + 'ffmpeg' + 'hicolor-icon-theme' + 'lz4' + 'minizip' + 'openal' + 'qt5-imageformats' + 'xxhash' +) +makedepends=( + 'cmake' + 'git' + 'libappindicator-gtk3' + 'python' + 'range-v3' +) +optdepends=( + 'ttf-opensans: default Open Sans font family' + 'libappindicator-gtk3: AppIndicator-based tray icon' +) provides=('telegram-desktop') conflicts=('telegram-desktop') _commit="tag=v$pkgver" @@ -24,23 +40,36 @@ _commit="tag=v$pkgver" source=( # Git repositories; might be adjusted when a build issue arise. "tdesktop::git+https://github.com/telegramdesktop/tdesktop.git#$_commit" - "Catch2::git+https://github.com/catchorg/Catch2.git" - "crl::git+https://github.com/telegramdesktop/crl.git" + + # All the submodules. I've generated them via: + # git submodule foreach --quiet 'echo \"${name##*/}::git+`git remote get-url origin`\"' | sort + "Catch::git+https://github.com/philsquared/Catch" "GSL::git+https://github.com/Microsoft/GSL.git" - "libtgvoip::git+https://github.com/telegramdesktop/libtgvoip.git" - "rlottie::git+https://github.com/john-preston/rlottie.git" - "variant::git+https://github.com/mapbox/variant.git" + "QR::git+https://github.com/nayuki/QR-Code-generator" + "cmake::git+https://github.com/desktop-app/cmake_helpers.git" + "codegen::git+https://github.com/desktop-app/codegen.git" + "expected::git+https://github.com/TartanLlama/expected" + "helpers::git+https://github.com/desktop-app/gyp_helpers.git" + "lib_base::git+https://github.com/desktop-app/lib_base.git" + "lib_crl::git+https://github.com/desktop-app/lib_crl.git" + "lib_lottie::git+https://github.com/desktop-app/lib_lottie.git" + "lib_qr::git+https://github.com/desktop-app/lib_qr.git" + "lib_rlottie::git+https://github.com/desktop-app/lib_rlottie.git" + "lib_rpl::git+https://github.com/desktop-app/lib_rpl.git" + "lib_spellcheck::git+https://github.com/desktop-app/lib_spellcheck" + "lib_storage::git+https://github.com/desktop-app/lib_storage.git" + "lib_tl::git+https://github.com/desktop-app/lib_tl.git" + "lib_ui::git+https://github.com/desktop-app/lib_ui.git" + "libtgvoip::git+https://github.com/telegramdesktop/libtgvoip" + "lz4::git+https://github.com/lz4/lz4.git" + "rlottie::git+https://github.com/desktop-app/rlottie.git" + "variant::git+https://github.com/mapbox/variant" "xxHash::git+https://github.com/Cyan4973/xxHash.git" + # These files might require modifications to be up-to-date. If that is the # case, they will be updated in place and untracked temporarily. - "CMakeLists.inj::https://git.archlinux.org/svntogit/community.git/plain/trunk/CMakeLists.inj?h=packages/telegram-desktop" - "libtgvoip.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/libtgvoip.patch?h=packages/telegram-desktop" - "tdesktop.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/tdesktop.patch?h=packages/telegram-desktop" - "no-gtk2.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/no-gtk2.patch?h=packages/telegram-desktop" - "Revert-Disable-DemiBold-fallback-for-Semibold.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/Revert-Disable-DemiBold-fallback-for-Semibold.patch?h=packages/telegram-desktop" - "tdesktop_lottie_animation_qtdebug.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/tdesktop_lottie_animation_qtdebug.patch?h=packages/telegram-desktop" - "Revert-Change-some-private-header-includes.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/Revert-Change-some-private-header-includes.patch?h=packages/telegram-desktop" - "Use-system-wide-font.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/Use-system-wide-font.patch?h=packages/telegram-desktop" + "0005-Use-system-wide-fonts.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/0005-Use-system-wide-fonts.patch?h=packages/telegram-desktop" + "0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch::https://git.archlinux.org/svntogit/community.git/plain/trunk/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch?h=packages/telegram-desktop" ) sha512sums=('SKIP' 'SKIP' @@ -50,25 +79,54 @@ sha512sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' - 'b759e45282c7bd04e1fdcbfd0c009773782bebde36d96363db9869a9d78e7fad41314ad311b7afbfa57db4e66c0265da17e9f81f6d62a972466cb71d19d4b47c' - 'd60694dc701aa985b0e82a12c9732b945082470441c687b33167a94f94efcf253baf43bb7280ec160ba338485ee5c62de138e4804cae05f27cc5cf4298166d39' - '218f8711eefb5a8115222e099e6d08fc4079584b3aa3594d05a43390f37d5b51fbf1b64511c3a3e7792ef6c32fa6f4c8a65b6188a9efbd340304602552f3a595' - '117b0c2bae3d3d3aa94d41382621be4e05c3314a2831dba59e1bcfb443e7b8ff4bcd0403544fa0cb6def85b444146bf59eef9da25f96b041d3ce8f5429b4a867' - 'd5cd7ecb5583258462c21a9ae3d4e8ae8c709d47d7ce2c45f8ae23100d24993398b8372021957b9a4607b3988f366e1c0cf64d724d901cb70212665c481217e9' - '79fcbee94f09df6b443c2b967afe4cba367985af13004b130da27f7bdf20974f76148a8056e98ce92000fabed80a1ff3cb2d332f6f8c70eed8aa909281533cd5' - '087dd821690dfedf1c275f264a0223b123e31ab9ee95050023930470bc9c866958cae00e2fd9132e6f7efbc4f1dfc3fdc20f8fba1fc9472d92bd702eaa60adb0' - '2c1bb75449b4634befa3edaac5d20e4b29ede21119549d9a3895dda9d4723f618dd950ee32133e04186fa65d07f80081ba3e3d5585209ba9112aa754d06fbb5c') + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'e12021af0c95c967f80240abd683bf197f3c4f8f21315b48c5dadeb399dc39cd1e352352daba1c30691c6d1c6e66078af95b9262e8fe0c2174709fcb1a8a3f5d' + '41f22a8b63b1929288cca5638c2719ce9754aa4334deb9004370c44f780fb8ac57f2b4075d529c494f4eac49dde22885f0f9efc0911840f79cb5fcf8d737061d') prepare() { cd "$srcdir/tdesktop" git submodule init - git config submodule.Telegram/ThirdParty/Catch.url "$srcdir/Catch2" - git config submodule.Telegram/ThirdParty/crl.url "$srcdir/crl" + + # Same magic as above. + # git submodule foreach --quiet 'echo git config submodule.$name.url \"\$srcdir/${name##*/}\"' | sort + git config submodule.Telegram/ThirdParty/Catch.url "$srcdir/Catch" git config submodule.Telegram/ThirdParty/GSL.url "$srcdir/GSL" + git config submodule.Telegram/ThirdParty/QR.url "$srcdir/QR" + git config submodule.Telegram/ThirdParty/expected.url "$srcdir/expected" git config submodule.Telegram/ThirdParty/libtgvoip.url "$srcdir/libtgvoip" + git config submodule.Telegram/ThirdParty/lz4.url "$srcdir/lz4" git config submodule.Telegram/ThirdParty/rlottie.url "$srcdir/rlottie" git config submodule.Telegram/ThirdParty/variant.url "$srcdir/variant" git config submodule.Telegram/ThirdParty/xxHash.url "$srcdir/xxHash" + git config submodule.Telegram/codegen.url "$srcdir/codegen" + git config submodule.Telegram/gyp/helpers.url "$srcdir/helpers" + git config submodule.Telegram/lib_base.url "$srcdir/lib_base" + git config submodule.Telegram/lib_crl.url "$srcdir/lib_crl" + git config submodule.Telegram/lib_lottie.url "$srcdir/lib_lottie" + git config submodule.Telegram/lib_qr.url "$srcdir/lib_qr" + git config submodule.Telegram/lib_rlottie.url "$srcdir/lib_rlottie" + git config submodule.Telegram/lib_rpl.url "$srcdir/lib_rpl" + git config submodule.Telegram/lib_spellcheck.url "$srcdir/lib_spellcheck" + git config submodule.Telegram/lib_storage.url "$srcdir/lib_storage" + git config submodule.Telegram/lib_tl.url "$srcdir/lib_tl" + git config submodule.Telegram/lib_ui.url "$srcdir/lib_ui" + git config submodule.cmake.url "$srcdir/cmake" + + # Magic is over! git submodule update # Cheating! Linking fixed patches to their usual place @@ -77,54 +135,35 @@ prepare() { ln -s $fixed ${fixed/_fixed/} done - dos2unix "$srcdir/tdesktop/.appveyor/install.bat" - - patch -Np1 -i "$srcdir/tdesktop.patch" - patch -Np1 -i "$srcdir/no-gtk2.patch" - patch -Np1 -i "$srcdir/Revert-Disable-DemiBold-fallback-for-Semibold.patch" - patch -Np1 -i "$srcdir/tdesktop_lottie_animation_qtdebug.patch" - patch -Np1 -i "$srcdir/Revert-Change-some-private-header-includes.patch" - patch -Np1 -i "$srcdir/Use-system-wide-font.patch" - - unix2dos "$srcdir/tdesktop/.appveyor/install.bat" - # disable static-qt for rlottie - sed "/RLOTTIE_WITH_STATIC_QT/d" -i "$srcdir/tdesktop/Telegram/gyp/lib_rlottie.gyp" - - cd "$srcdir/tdesktop" - cd "Telegram/ThirdParty/libtgvoip" - patch -Np1 -i "$srcdir/libtgvoip.patch" + # Here the official package uses quilt... I do it manually + patch -Np1 -i "$srcdir/0005-Use-system-wide-fonts.patch" + patch -Np1 -i "$srcdir/0006-Revert-Disable-DemiBold-fallback-for-Semibold.patch" } build() { cd "$srcdir/tdesktop" - export LANG=en_US.UTF-8 - export GYP_DEFINES="TDESKTOP_DISABLE_CRASH_REPORTS,TDESKTOP_DISABLE_AUTOUPDATE,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION" - export EXTRA_FLAGS="-Winvalid-pch" - export CPPFLAGS="$CPPFLAGS $EXTRA_FLAGS" - export CXXFLAGS="$CXXFLAGS $EXTRA_FLAGS" - - # Telegram requires us to set API_ID and API_HASH for some reason but they do not provide a way to receive a pair - # See https://github.com/telegramdesktop/tdesktop/commit/65b2db216033aa08b7bc846df27843e566f08981 and - # https://github.com/telegramdesktop/tdesktop/issues/4717 - # The official API_ID seems to be 2040 while the API_HASH is "b18441a1ff607e10a989891a5462e627". - # We're going to use the defaults for now but might at some point use the official ones from the official binaries as noted above. - - gyp \ - -Dapi_id=17349 \ - -Dapi_hash=344583e45741c457fe1862106095a5eb \ - -Dbuild_defines=${GYP_DEFINES} \ - -Gconfig=Release \ - --depth=Telegram/gyp --generator-output=../.. -Goutput_dir=out Telegram/gyp/Telegram.gyp --format=cmake - NUM=$((`wc -l < out/Release/CMakeLists.txt` - 2)) - sed -i "$NUM r ../CMakeLists.inj" out/Release/CMakeLists.txt - cd "$srcdir/tdesktop/out/Release" - cmake . -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -UTDESKTOP_OFFICIAL_TARGET - make + + export CXXFLAGS="$CXXFLAGS -ffile-prefix-map=$srcdir/tdesktop-$pkgver-full=" + cmake -B build -G "Unix Makefiles" . \ + -Ddisable_autoupdate=1 \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=Release \ + -DTDESKTOP_API_ID=17349 \ + -DTDESKTOP_API_HASH=344583e45741c457fe1862106095a5eb \ + -DDESKTOP_APP_USE_GLIBC_WRAPS=OFF \ + -DDESKTOP_APP_USE_PACKAGED=ON \ + -DDESKTOP_APP_USE_PACKAGED_RLOTTIE=OFF \ + -DDESKTOP_APP_DISABLE_CRASH_REPORTS=ON \ + -DTDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME=ON \ + -DTDESKTOP_DISABLE_DESKTOP_FILE_GENERATION=ON \ + -DTDESKTOP_USE_PACKAGED_TGVOIP=OFF \ + -DDESKTOP_APP_SPECIAL_TARGET="" + make -C build } package() { install -dm755 "$pkgdir/usr/bin" - install -m755 "$srcdir/tdesktop/out/Release/Telegram" "$pkgdir/usr/bin/telegram-desktop" + install -m755 "$srcdir/tdesktop/build/bin/Telegram" "$pkgdir/usr/bin/telegram-desktop" install -d "$pkgdir/usr/share/applications" install -m644 "$srcdir/tdesktop/lib/xdg/telegramdesktop.desktop" "$pkgdir/usr/share/applications/telegram-desktop.desktop" @@ -134,6 +173,9 @@ package() { install -d "$pkgdir/usr/share/kde4/services" ln -s "/usr/share/kservices5/tg.protocol" "$pkgdir/usr/share/kde4/services" + install -d "$pkgdir/usr/share/metainfo/" + install -m644 "$srcdir/tdesktop/lib/xdg/telegramdesktop.appdata.xml" "$pkgdir/usr/share/metainfo/telegram-desktop.appdata.xml" + local icon_size icon_dir for icon_size in 16 32 48 64 128 256 512; do icon_dir="$pkgdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps" diff --git a/tdesktop_fixed.patch b/tdesktop_fixed.patch deleted file mode 100644 index a87d49a93b62..000000000000 --- a/tdesktop_fixed.patch +++ /dev/null @@ -1,539 +0,0 @@ -diff --git a/Telegram/Resources/qrc/telegram_linux.qrc b/Telegram/Resources/qrc/telegram_linux.qrc -index 164e8d4f2..12319be14 100644 ---- a/Telegram/Resources/qrc/telegram_linux.qrc -+++ b/Telegram/Resources/qrc/telegram_linux.qrc -@@ -1,6 +1,5 @@ - <RCC> - <qresource prefix="/qt"> -- <file alias="etc/qt.conf">../etc/qt_linux.conf</file> - </qresource> - <qresource prefix="/fc"> - <file alias="fc-custom.conf">../fc-custom.conf</file> -diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp -index 3efa53eba..8964c287e 100644 ---- a/Telegram/SourceFiles/core/launcher.cpp -+++ b/Telegram/SourceFiles/core/launcher.cpp -@@ -244,9 +244,9 @@ void Launcher::init() { - #if defined(Q_OS_LINUX) && QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) - QApplication::setDesktopFileName(qsl("telegramdesktop.desktop")); - #endif --#ifndef OS_MAC_OLD -+#if !defined(Q_OS_MAC) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) - QApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true); --#endif // OS_MAC_OLD -+#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0 - - initHook(); - } -@@ -264,6 +264,13 @@ int Launcher::exec() { - Logs::start(this); // must be started before Platform is started - Platform::start(); // must be started before Sandbox is created - -+ // I don't know why path is not in QT_PLUGIN_PATH by default -+ QCoreApplication::addLibraryPath("/usr/lib/qt/plugins"); -+ // without this Telegram doesn't start on Ubuntu 17.04 due GTK errors -+ setenv("QT_STYLE_OVERRIDE", "qwerty", false); -+ // Telegram doesn't start when extraordinary theme is set, see launchpad.net/bugs/1680943 -+ unsetenv("QT_QPA_PLATFORMTHEME"); -+ - auto result = executeApplication(); - - DEBUG_LOG(("Telegram finished, result: %1").arg(result)); -diff --git a/Telegram/SourceFiles/qt_functions.cpp b/Telegram/SourceFiles/qt_functions.cpp -new file mode 100644 -index 000000000..4a722b8d7 ---- /dev/null -+++ b/Telegram/SourceFiles/qt_functions.cpp -@@ -0,0 +1,94 @@ -+/**************************************************************************** -+** -+** Copyright (C) 2015 The Qt Company Ltd. -+** Contact: http://www.qt.io/licensing/ -+** -+** This file contains some parts of the Qt Toolkit. -+** -+** $QT_BEGIN_LICENSE:LGPL21$ -+** Commercial License Usage -+** Licensees holding valid commercial Qt licenses may use this file in -+** accordance with the commercial license agreement provided with the -+** Software or, alternatively, in accordance with the terms contained in -+** a written agreement between you and The Qt Company. For licensing terms -+** and conditions see http://www.qt.io/terms-conditions. For further -+** information use the contact form at http://www.qt.io/contact-us. -+** -+** GNU Lesser General Public License Usage -+** Alternatively, this file may be used under the terms of the GNU Lesser -+** General Public License version 2.1 or version 3 as published by the Free -+** Software Foundation and appearing in the file LICENSE.LGPLv21 and -+** LICENSE.LGPLv3 included in the packaging of this file. Please review the -+** following information to ensure the GNU Lesser General Public License -+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -+** -+** As a special exception, The Qt Company gives you certain additional -+** rights. These rights are described in The Qt Company LGPL Exception -+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -+** -+** $QT_END_LICENSE$ -+** -+****************************************************************************/ -+ -+/* TODO: find a dynamic library with these symbols. */ -+ -+/* Debian maintainer: this function is taken from qfiledialog.cpp */ -+/* -+ Makes a list of filters from ;;-separated text. -+ Used by the mac and windows implementations -+*/ -+QStringList qt_make_filter_list(const QString &filter) -+{ -+ QString f(filter); -+ -+ if (f.isEmpty()) -+ return QStringList(); -+ -+ QString sep(QLatin1String(";;")); -+ int i = f.indexOf(sep, 0); -+ if (i == -1) { -+ if (f.indexOf(QLatin1Char('\n'), 0) != -1) { -+ sep = QLatin1Char('\n'); -+ i = f.indexOf(sep, 0); -+ } -+ } -+ -+ return f.split(sep); -+} -+ -+/* Debian maintainer: this constructor is taken from qtextengine.cpp for TextPainter::drawLine */ -+QTextItemInt::QTextItemInt(const QGlyphLayout &g, QFont *font, const QChar *chars_, int numChars, QFontEngine *fe, const QTextCharFormat &format) -+ : flags(0), justified(false), underlineStyle(QTextCharFormat::NoUnderline), charFormat(format), -+ num_chars(numChars), chars(chars_), logClusters(0), f(font), glyphs(g), fontEngine(fe) -+{ -+} -+ -+/* Debian maintainer: this method is also taken from qtextengine.cpp */ -+// Fix up flags and underlineStyle with given info -+void QTextItemInt::initWithScriptItem(const QScriptItem &si) -+{ -+ // explicitly initialize flags so that initFontAttributes can be called -+ // multiple times on the same TextItem -+ flags = 0; -+ if (si.analysis.bidiLevel %2) -+ flags |= QTextItem::RightToLeft; -+ ascent = si.ascent; -+ descent = si.descent; -+ -+ if (charFormat.hasProperty(QTextFormat::TextUnderlineStyle)) { -+ underlineStyle = charFormat.underlineStyle(); -+ } else if (charFormat.boolProperty(QTextFormat::FontUnderline) -+ || f->d->underline) { -+ underlineStyle = QTextCharFormat::SingleUnderline; -+ } -+ -+ // compat -+ if (underlineStyle == QTextCharFormat::SingleUnderline) -+ flags |= QTextItem::Underline; -+ -+ if (f->d->overline || charFormat.fontOverline()) -+ flags |= QTextItem::Overline; -+ if (f->d->strikeOut || charFormat.fontStrikeOut()) -+ flags |= QTextItem::StrikeOut; -+} -diff --git a/Telegram/SourceFiles/qt_static_plugins.cpp b/Telegram/SourceFiles/qt_static_plugins.cpp -index a757d085f..122ff0f5d 100644 ---- a/Telegram/SourceFiles/qt_static_plugins.cpp -+++ b/Telegram/SourceFiles/qt_static_plugins.cpp -@@ -15,14 +15,4 @@ Q_IMPORT_PLUGIN(QWebpPlugin) - Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) - Q_IMPORT_PLUGIN(QGenericEnginePlugin) - #elif defined Q_OS_LINUX // Q_OS_WIN | Q_OS_MAC --Q_IMPORT_PLUGIN(QWebpPlugin) --Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) --Q_IMPORT_PLUGIN(QConnmanEnginePlugin) --Q_IMPORT_PLUGIN(QGenericEnginePlugin) --Q_IMPORT_PLUGIN(QNetworkManagerEnginePlugin) --Q_IMPORT_PLUGIN(QComposePlatformInputContextPlugin) --Q_IMPORT_PLUGIN(QIbusPlatformInputContextPlugin) --Q_IMPORT_PLUGIN(QFcitxPlatformInputContextPlugin) --Q_IMPORT_PLUGIN(QHimePlatformInputContextPlugin) --Q_IMPORT_PLUGIN(NimfInputContextPlugin) - #endif // Q_OS_WIN | Q_OS_MAC | Q_OS_LINUX -diff --git a/Telegram/SourceFiles/ui/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp -index 0a8a61333..2a7b8370a 100644 ---- a/Telegram/SourceFiles/ui/text/text.cpp -+++ b/Telegram/SourceFiles/ui/text/text.cpp -@@ -1762,11 +1762,11 @@ private: - if (item == -1) - return; - --#ifdef OS_MAC_OLD -+#if defined(OS_MAC_OLD) || QT_VERSION < QT_VERSION_CHECK(5, 6, 0) - auto end = _e->findItem(line.from + line.length - 1); --#else // OS_MAC_OLD -+#else - auto end = _e->findItem(line.from + line.length - 1, item); --#endif // OS_MAC_OLD -+#endif - - auto blockIndex = _lineStartBlock; - auto currentBlock = _t->_blocks[blockIndex].get(); -diff --git a/Telegram/SourceFiles/ui/text/text_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp -index 2959cec77..04ad00645 100644 ---- a/Telegram/SourceFiles/ui/text/text_block.cpp -+++ b/Telegram/SourceFiles/ui/text/text_block.cpp -@@ -332,6 +332,9 @@ TextBlock::TextBlock(const style::font &font, const QString &str, QFixed minResi - - QStackTextEngine engine(part, blockFont->f); - BlockParser parser(&engine, this, minResizeWidth, _from, part); -+ QTextLayout layout(part, blockFont->f); -+ layout.beginLayout(); -+ layout.createLine(); - - CrashReports::ClearAnnotationRef("CrashString"); - } -diff --git a/Telegram/SourceFiles/ui/twidget.cpp b/Telegram/SourceFiles/ui/twidget.cpp -index d40813859..54997c5e2 100644 ---- a/Telegram/SourceFiles/ui/twidget.cpp -+++ b/Telegram/SourceFiles/ui/twidget.cpp -@@ -269,9 +269,9 @@ void sendSynteticMouseEvent(QWidget *widget, QEvent::Type type, Qt::MouseButton - , button - , QGuiApplication::mouseButtons() | button - , QGuiApplication::keyboardModifiers() --#ifndef OS_MAC_OLD -+#if !defined(OS_MAC_OLD) && QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) - , Qt::MouseEventSynthesizedByApplication --#endif // OS_MAC_OLD -+#endif - ); - ev.setTimestamp(crl::now()); - QGuiApplication::sendEvent(windowHandle, &ev); -diff --git a/Telegram/gyp/PrecompiledHeader.cmake b/Telegram/gyp/PrecompiledHeader.cmake -index a0e1e0489..223113081 100644 ---- a/Telegram/gyp/PrecompiledHeader.cmake -+++ b/Telegram/gyp/PrecompiledHeader.cmake -@@ -114,7 +114,7 @@ function(add_precompiled_header _target _input) - set(_compiler_FLAGS "@${_pch_c_flags_file}") - add_custom_command( - OUTPUT "${_output_c}" -- COMMAND "${CMAKE_C_COMPILER}" ${_compiler_FLAGS} -x c-header -o "${_output_c}" -c "${_pchfile}" -+ COMMAND "${CMAKE_C_COMPILER}" ${_compiler_FLAGS} "$(C_DEFINES)" "$(C_INCLUDES)" "$(C_FLAGS)" -x c-header -o "${_output_c}" -c "${_pchfile}" - DEPENDS "${_pchfile}" "${_pch_c_flags_file}" - IMPLICIT_DEPENDS C "${_pch_header}" - COMMENT "Precompiling ${_name} for ${_target} (C)") -@@ -125,7 +125,7 @@ function(add_precompiled_header _target _input) - set(_compiler_FLAGS "@${_pch_cpp_flags_file}") - add_custom_command( - OUTPUT "${_output_cxx}" -- COMMAND "${CMAKE_CXX_COMPILER}" ${_compiler_FLAGS} -x c++-header -o "${_output_cxx}" -c "${_pchfile}" -+ COMMAND "${CMAKE_CXX_COMPILER}" ${_compiler_FLAGS} "$(CXX_DEFINES)" "$(CXX_INCLUDES)" "$(CXX_FLAGS)" -x c++-header -o "${_output_cxx}" -c "${_pchfile}" - DEPENDS "${_pchfile}" "${_pch_cpp_flags_file}" - IMPLICIT_DEPENDS CXX "${_pch_header}" - COMMENT "Precompiling header ${_name} for ${_target} (C++)") -diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp -index e329d06d9..b5263e6b2 100644 ---- a/Telegram/gyp/Telegram.gyp -+++ b/Telegram/gyp/Telegram.gyp -@@ -75,7 +75,6 @@ - 'codegen.gyp:codegen_numbers', - 'codegen.gyp:codegen_style', - 'tests/tests.gyp:tests', -- 'utils.gyp:Updater', - '../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip', - 'crl.gyp:crl', - 'lib_base.gyp:lib_base', -@@ -84,7 +83,6 @@ - ], - - 'defines': [ -- 'AL_LIBTYPE_STATIC', - 'AL_ALEXT_PROTOTYPES', - 'TGVOIP_USE_CXX11_LIB', - 'XXH_INLINE_ALL', -@@ -96,16 +94,8 @@ - 'include_dirs': [ - '<(src_loc)', - '<(SHARED_INTERMEDIATE_DIR)', -- '<(libs_loc)/breakpad/src', -- '<(libs_loc)/lzma/C', -- '<(libs_loc)/zlib', -- '<(libs_loc)/ffmpeg', -- '<(libs_loc)/openal-soft/include', -- '<(libs_loc)/opus/include', -- '<(libs_loc)/range-v3/include', -- '<(minizip_loc)', -- '<(sp_media_key_tap_loc)', - '<(emoji_suggestions_loc)', -+ '/usr/include/minizip', - '<(submodules_loc)/GSL/include', - '<(submodules_loc)/variant/include', - '<(submodules_loc)/crl/src', -diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi -index 0b783ec21..3f917765a 100644 ---- a/Telegram/gyp/qt.gypi -+++ b/Telegram/gyp/qt.gypi -@@ -14,25 +14,21 @@ - [ 'build_macold', { - 'qt_version%': '5.3.2', - }, { -- 'qt_version%': '5.6.2', -+ 'qt_version%': '<!(echo /usr/include/qt/QtCore/*/ | grep -Po "\d+\.\d+\.\d+")', - }] - ], - }, - 'qt_libs': [ -- 'qwebp', -- 'Qt5PrintSupport', -- 'Qt5PlatformSupport', - 'Qt5Network', - 'Qt5Widgets', - 'Qt5Gui', -- 'qtharfbuzzng', - ], - 'qt_version%': '<(qt_version)', - 'conditions': [ - [ 'build_macold', { - 'linux_path_qt%': '/usr/local/macold/Qt-<(qt_version)', - }, { -- 'linux_path_qt%': '/usr/local/tdesktop/Qt-<(qt_version)', -+ 'linux_path_qt%': '/usr/lib/qt', - }] - ] - }, -@@ -72,32 +68,13 @@ - ], - }], - [ 'build_linux', { -- 'qt_lib_prefix': 'lib', -- 'qt_lib_debug_postfix': '.a', -- 'qt_lib_release_postfix': '.a', -+ 'qt_lib_prefix': '', -+ 'qt_lib_debug_postfix': '', -+ 'qt_lib_release_postfix': '', - 'qt_libs': [ -- 'qxcb', -- 'Qt5XcbQpa', -- 'qconnmanbearer', -- 'qgenericbearer', -- 'qnmbearer', - '<@(qt_libs)', - 'Qt5DBus', - 'Qt5Core', -- 'qtpcre', -- 'Xi', -- 'Xext', -- 'Xfixes', -- 'SM', -- 'ICE', -- 'fontconfig', -- 'expat', -- 'freetype', -- 'z', -- 'xcb-shm', -- 'xcb-xfixes', -- 'xcb-render', -- 'xcb-static', - ], - }], - ], -@@ -127,11 +104,6 @@ - # '<!@(python <(DEPTH)/list_sources.py [sources] <(qt_moc_list_sources_arg))' - # where [sources] contains all your source files - 'qt_moc_list_sources_arg': '--moc-prefix SHARED_INTERMEDIATE_DIR/<(_target_name)/moc/moc_', -- -- 'linux_path_xkbcommon%': '/usr/local', -- 'linux_lib_ssl%': '/usr/local/ssl/lib/libssl.a', -- 'linux_lib_crypto%': '/usr/local/ssl/lib/libcrypto.a', -- 'linux_lib_icu%': 'libicutu.a libicui18n.a libicuuc.a libicudata.a', - }, - - 'configurations': { -@@ -180,14 +152,14 @@ - }, - - 'include_dirs': [ -- '<(qt_loc)/include', -- '<(qt_loc)/include/QtCore', -- '<(qt_loc)/include/QtGui', -- '<(qt_loc)/include/QtDBus', -- '<(qt_loc)/include/QtCore/<(qt_version)', -- '<(qt_loc)/include/QtGui/<(qt_version)', -- '<(qt_loc)/include/QtCore/<(qt_version)/QtCore', -- '<(qt_loc)/include/QtGui/<(qt_version)/QtGui', -+ '/usr/include/qt', -+ '/usr/include/qt/QtCore', -+ '/usr/include/qt/QtGui', -+ '/usr/include/qt/QtDBus', -+ '/usr/include/qt/QtCore/<(qt_version)', -+ '/usr/include/qt/QtGui/<(qt_version)', -+ '/usr/include/qt/QtCore/<(qt_version)/QtCore', -+ '/usr/include/qt/QtGui/<(qt_version)/QtGui', - ], - 'library_dirs': [ - '<(qt_loc)/lib', -@@ -212,17 +184,10 @@ - ], - 'libraries': [ - '<(PRODUCT_DIR)/obj.target/liblinux_glibc_wraps.a', -- '<(linux_path_xkbcommon)/lib/libxkbcommon.a', - '<@(qt_libs_release)', -- '<(linux_lib_ssl)', -- '<(linux_lib_crypto)', -- '<!@(python -c "for s in \'<(linux_lib_icu)\'.split(\' \'): print(s)")', -- '-lxcb', -+ '-lcrypto', - '-lX11', -- '-lX11-xcb', -- '-ldbus-1', - '-ldl', -- '-lgthread-2.0', - '-lglib-2.0', - '-lpthread', - ], -@@ -230,7 +195,6 @@ - '<(qt_loc)/mkspecs/linux-g++', - ], - 'ldflags': [ -- '-static-libstdc++', - '-pthread', - '-rdynamic', - ], -diff --git a/Telegram/gyp/qt_moc.gypi b/Telegram/gyp/qt_moc.gypi -index 464d3c818..f350da8f3 100644 ---- a/Telegram/gyp/qt_moc.gypi -+++ b/Telegram/gyp/qt_moc.gypi -@@ -12,7 +12,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp', - ], - 'action': [ -- '<(qt_loc)/bin/moc<(exe_ext)', -+ '/usr/bin/moc', - - # Silence "Note: No relevant classes found. No output generated." - '--no-notes', -diff --git a/Telegram/gyp/qt_rcc.gypi b/Telegram/gyp/qt_rcc.gypi -index f5624a82b..1129a95c5 100644 ---- a/Telegram/gyp/qt_rcc.gypi -+++ b/Telegram/gyp/qt_rcc.gypi -@@ -15,7 +15,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp', - ], - 'action': [ -- '<(qt_loc)/bin/rcc<(exe_ext)', -+ '/usr/bin/rcc', - '-name', '<(RULE_INPUT_ROOT)', - '-no-compress', - '<(RULE_INPUT_PATH)', -diff --git a/Telegram/gyp/settings_linux.gypi b/Telegram/gyp/settings_linux.gypi -index 22160515c..9d496f62f 100644 ---- a/Telegram/gyp/settings_linux.gypi -+++ b/Telegram/gyp/settings_linux.gypi -@@ -11,7 +11,6 @@ - 'linux_common_flags': [ - '-pipe', - '-Wall', -- '-Werror', - '-W', - '-fPIC', - '-Wno-unused-variable', -@@ -61,7 +60,6 @@ - ], - 'defines': [ - '_REENTRANT', -- 'QT_STATICPLUGIN', - 'QT_PLUGIN', - ], - 'cflags_c': [ -diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi -index ffe0e5a96..bd2ed758f 100644 ---- a/Telegram/gyp/telegram_linux.gypi -+++ b/Telegram/gyp/telegram_linux.gypi -@@ -23,10 +23,11 @@ - 'linux_path_va%': '/usr/local', - 'linux_path_vdpau%': '/usr/local', - 'linux_path_breakpad%': '/usr/local', -- 'linux_path_opus_include%': '<(libs_loc)/opus/include', -+ 'linux_path_opus_include%': '/usr/include/opus', - 'linux_path_range%': '/usr/local', - }, - 'include_dirs': [ -+ '/usr/include/openssl', - '/usr/local/include', - '<(linux_path_ffmpeg)/include', - '<(linux_path_openal)/include', -@@ -35,6 +36,7 @@ - '<(linux_path_range)/include', - ], - 'library_dirs': [ -+ '/usr/lib/openssl', - '/usr/local/lib', - '<(linux_path_ffmpeg)/lib', - '<(linux_path_openal)/lib', -@@ -43,26 +45,16 @@ - '<(linux_path_breakpad)/lib', - ], - 'libraries': [ -- 'breakpad_client', -- 'composeplatforminputcontextplugin', -- 'ibusplatforminputcontextplugin', -- 'fcitxplatforminputcontextplugin', -- 'himeplatforminputcontextplugin', -- 'nimfplatforminputcontextplugin', -- 'liblzma.a', -- 'libopenal.a', -- 'libavformat.a', -- 'libavcodec.a', -- 'libswresample.a', -- 'libswscale.a', -- 'libavutil.a', -- 'libopus.a', -- 'libva-x11.a', -- 'libva-drm.a', -- 'libva.a', -- 'libvdpau.a', -- 'libdrm.a', -- 'libz.a', -+ 'openal', -+ 'avformat', -+ 'avcodec', -+ 'swresample', -+ 'swscale', -+ 'avutil', -+ 'minizip', -+ 'opus', -+ 'z', -+ 'lzma', - # '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))', - ], - 'cflags_cc': [ -@@ -97,9 +89,8 @@ - ], - }], ['not_need_gtk!="True"', { - 'cflags_cc': [ -- '<!(pkg-config 2> /dev/null --cflags gtk+-2.0)', -- '<!(pkg-config 2> /dev/null --cflags glib-2.0)', -- '<!(pkg-config 2> /dev/null --cflags dee-1.0)', -+ '<!(pkg-config 2> /dev/null --cflags appindicator3-0.1)', -+ '<!(pkg-config 2> /dev/null --cflags gtk+-3.0)', - ], - }], ['<!(pkg-config ayatana-appindicator3-0.1; echo $?) == 0', { - 'cflags_cc': [ '<!(pkg-config --cflags ayatana-appindicator3-0.1)' ], -diff --git a/Telegram/gyp/telegram_sources.txt b/Telegram/gyp/telegram_sources.txt -index ed2e3bc14..3d20ee0ac 100644 ---- a/Telegram/gyp/telegram_sources.txt -+++ b/Telegram/gyp/telegram_sources.txt -@@ -861,14 +861,7 @@ - <(emoji_suggestions_loc)/emoji_suggestions.cpp - <(emoji_suggestions_loc)/emoji_suggestions.h - --platforms: !win --<(minizip_loc)/crypt.h --<(minizip_loc)/ioapi.c --<(minizip_loc)/ioapi.h --<(minizip_loc)/zip.c --<(minizip_loc)/zip.h --<(minizip_loc)/unzip.c --<(minizip_loc)/unzip.h -+<(src_loc)/qt_functions.cpp - - platforms: win - <(res_loc)/winrc/Telegram.rc |