1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

Update to 1.7.14.

PR:		239502
Submitted by:	maintainer (Henry Hu <henry.hu.sh gmail.com>)
This commit is contained in:
Xin LI 2019-08-17 06:50:17 +00:00
parent 2a0eba87fb
commit ed7ae0c08f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=509139
30 changed files with 400 additions and 137 deletions

View File

@ -2,8 +2,7 @@
PORTNAME= telegram-desktop
DISTVERSIONPREFIX= v
DISTVERSION= 1.6.7
PORTREVISION= 3
DISTVERSION= 1.7.14
CATEGORIES= net-im
MAINTAINER= henry.hu.sh@gmail.com
@ -26,7 +25,7 @@ LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
libopenal.so:audio/openal-soft \
libopus.so:audio/opus
USES= compiler:c++17-lang cmake:noninja desktop-file-utils gmake pkgconfig python:2.7,build qt:5 ssl
USES= compiler:c++17-lang cmake:noninja desktop-file-utils gmake gnome pkgconfig python:2.7,build qt:5 ssl
USE_GITHUB= yes
GH_ACCOUNT= telegramdesktop
@ -34,9 +33,11 @@ GH_PROJECT= tdesktop
GH_TUPLE= catchorg:Catch2:5ca44b68:catch/Telegram/ThirdParty/Catch \
mapbox:variant:550ac2f:variant/Telegram/ThirdParty/variant \
Microsoft:GSL:d846fe5:gsl/Telegram/ThirdParty/GSL \
telegramdesktop:libtgvoip:e701050:libtgvoip/Telegram/ThirdParty/libtgvoip \
telegramdesktop:crl:84072fb:crl/Telegram/ThirdParty/crl \
Cyan4973:xxHash:7cc9639:xxhash/Telegram/ThirdParty/xxHash
telegramdesktop:libtgvoip:0e92a22:libtgvoip/Telegram/ThirdParty/libtgvoip \
telegramdesktop:crl:9ea8700:crl/Telegram/ThirdParty/crl \
Cyan4973:xxHash:7cc9639:xxhash/Telegram/ThirdParty/xxHash \
john-preston:rlottie:302b7f9:rlottie/Telegram/ThirdParty/rlottie \
lz4:lz4:9a2a9f2:lz4/Telegram/ThirdParty/lz4
USE_GNOME= glib20
USE_QT= core gui imageformats network widgets buildtools_build qmake_build dbus
USE_XORG= x11 xcb

View File

@ -1,15 +1,19 @@
TIMESTAMP = 1555805465
SHA256 (telegramdesktop-tdesktop-v1.6.7_GH0.tar.gz) = 77f4cf6507d1ebc26eaef472aa4817cc57a77c5e3065f6b2afa294530f0633a1
SIZE (telegramdesktop-tdesktop-v1.6.7_GH0.tar.gz) = 14323106
TIMESTAMP = 1564285102
SHA256 (telegramdesktop-tdesktop-v1.7.14_GH0.tar.gz) = a52ab6efb4dc7579f05543df3fc3814baa09c0644e00ca30e37a9c6f99a5d164
SIZE (telegramdesktop-tdesktop-v1.7.14_GH0.tar.gz) = 14296012
SHA256 (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 8cdf2a345897bda1aaabffd4496dffe263768cef3e4254e74ae63545c8e12cc2
SIZE (catchorg-Catch2-5ca44b68_GH0.tar.gz) = 375264
SHA256 (mapbox-variant-550ac2f_GH0.tar.gz) = 7ab3aa7c9fa672027f13721584df5f7ec09c0ecca499d374c6ac76e147ef7354
SIZE (mapbox-variant-550ac2f_GH0.tar.gz) = 108686
SHA256 (Microsoft-GSL-d846fe5_GH0.tar.gz) = 4c463f93ca3b1dcb0b8d73b54309c1d31145761c457f1a6fd53554a6d469b468
SIZE (Microsoft-GSL-d846fe5_GH0.tar.gz) = 58930
SHA256 (telegramdesktop-libtgvoip-e701050_GH0.tar.gz) = 16cb5f4588f4a35877aacc5f39bb93e9c0ac5fca1ddfc4dabda841131c29d3d5
SIZE (telegramdesktop-libtgvoip-e701050_GH0.tar.gz) = 1484741
SHA256 (telegramdesktop-crl-84072fb_GH0.tar.gz) = 0d1c5a08b94c90ef213fadfdfb1f4587a23c01474195931c67bc98fb7fd01936
SIZE (telegramdesktop-crl-84072fb_GH0.tar.gz) = 21681
SHA256 (telegramdesktop-libtgvoip-0e92a22_GH0.tar.gz) = 179c780bf199ff41984756d1b0b96287edf0fa1490f76a31eb9cbdc572ecce6f
SIZE (telegramdesktop-libtgvoip-0e92a22_GH0.tar.gz) = 1484785
SHA256 (telegramdesktop-crl-9ea8700_GH0.tar.gz) = 68011a83a139d68bed4fd13b946c1aea6f7bea8bffc702a4795f2c0e23f9efd4
SIZE (telegramdesktop-crl-9ea8700_GH0.tar.gz) = 21873
SHA256 (Cyan4973-xxHash-7cc9639_GH0.tar.gz) = f40801820e885f92bbe3d2434efeb39aa18eeaf878341982e8525b538468e3ed
SIZE (Cyan4973-xxHash-7cc9639_GH0.tar.gz) = 37534
SHA256 (john-preston-rlottie-302b7f9_GH0.tar.gz) = ade35b77c10c2a733ecccbca261222c36755bbd0f0d03f2e2772bd7cc0ad3d2b
SIZE (john-preston-rlottie-302b7f9_GH0.tar.gz) = 7896441
SHA256 (lz4-lz4-9a2a9f2_GH0.tar.gz) = 437827e1a1a0eec752777d29ef7ac78b195c805438448fe08154d9b5b181b8ea
SIZE (lz4-lz4-9a2a9f2_GH0.tar.gz) = 293999

View File

@ -1,4 +1,4 @@
--- Telegram/gyp/codegen_rules.gypi.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/codegen_rules.gypi.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/codegen_rules.gypi
@@ -15,7 +15,7 @@
'<(SHARED_INTERMEDIATE_DIR)/update_dependent_styles.timestamp',
@ -25,7 +25,7 @@
'-o', '<(SHARED_INTERMEDIATE_DIR)/update_dependent_qrc.timestamp',
'<@(qrc_files)',
],
--- Telegram/gyp/lib_export.gyp.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/lib_export.gyp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/lib_export.gyp
@@ -46,7 +46,7 @@
'include_dirs': [
@ -36,7 +36,7 @@
'<(submodules_loc)/GSL/include',
'<(submodules_loc)/variant/include',
'<(submodules_loc)/crl/src',
--- Telegram/gyp/lib_scheme.gyp.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/lib_scheme.gyp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/lib_scheme.gyp
@@ -48,7 +48,7 @@
'<(SHARED_INTERMEDIATE_DIR)/scheme.h',
@ -47,9 +47,9 @@
'-o', '<(SHARED_INTERMEDIATE_DIR)', '<(res_loc)/scheme.tl',
],
'message': 'codegen_scheme-ing scheme.tl..',
--- Telegram/gyp/qt_moc.gypi.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/qt_moc.gypi.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/qt_moc.gypi
@@ -12,12 +12,12 @@
@@ -15,12 +15,12 @@
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
],
'action': [
@ -64,7 +64,7 @@
# '<!@(python -c "for s in \'<@(_include_dirs)\'.split(\' \'): print(\'-I\' + s)")',
'<(RULE_INPUT_PATH)',
'-o', '<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/moc/moc_<(RULE_INPUT_ROOT).cpp',
--- Telegram/gyp/qt_rcc.gypi.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/qt_rcc.gypi.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/qt_rcc.gypi
@@ -15,7 +15,7 @@
'<(SHARED_INTERMEDIATE_DIR)/<(_target_name)/qrc/qrc_<(RULE_INPUT_ROOT).cpp',
@ -75,7 +75,7 @@
'-name', '<(RULE_INPUT_ROOT)',
'-no-compress',
'<(RULE_INPUT_PATH)',
--- Telegram/gyp/qt.gypi.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/qt.gypi.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/qt.gypi
@@ -14,25 +14,21 @@
[ 'build_macold', {
@ -233,7 +233,7 @@
'-pthread',
'-rdynamic',
],
--- Telegram/gyp/telegram_linux.gypi.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/telegram_linux.gypi.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/telegram_linux.gypi
@@ -10,7 +10,7 @@
'variables': {
@ -339,7 +339,7 @@
],
}], ['<!(pkg-config ayatana-appindicator3-0.1; echo $?) == 0', {
'cflags_cc': [ '<!(pkg-config --cflags ayatana-appindicator3-0.1)' ],
--- Telegram/gyp/Telegram.gyp.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/Telegram.gyp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/Telegram.gyp
@@ -51,7 +51,7 @@
'pt-BR',
@ -358,7 +358,7 @@
'../ThirdParty/libtgvoip/libtgvoip.gyp:libtgvoip',
'crl.gyp:crl',
'lib_base.gyp:lib_base',
@@ -84,27 +83,18 @@
@@ -86,27 +85,18 @@
],
'defines': [
@ -388,7 +388,7 @@
'<(emoji_suggestions_loc)',
'<(submodules_loc)/GSL/include',
'<(submodules_loc)/variant/include',
@@ -123,7 +113,7 @@
@@ -125,7 +115,7 @@
'<(res_loc)/export_html/images/back@2x.png',
],
'sources!': [
@ -397,7 +397,7 @@
],
'conditions': [
[ '"<(official_build_target)" != ""', {
--- Telegram/gyp/tests/tests.gyp.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/tests/tests.gyp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/tests/tests.gyp
@@ -13,7 +13,7 @@
'src_loc': '../../SourceFiles',
@ -408,7 +408,7 @@
},
'targets': [{
'target_name': 'tests',
--- Telegram/ThirdParty/libtgvoip/libtgvoip.gyp.orig 2019-04-03 18:20:00 UTC
--- Telegram/ThirdParty/libtgvoip/libtgvoip.gyp.orig 2019-06-24 11:42:33 UTC
+++ Telegram/ThirdParty/libtgvoip/libtgvoip.gyp
@@ -14,11 +14,12 @@
'variables': {
@ -433,7 +433,7 @@
'sources/': [['exclude', '<(tgvoip_src_loc)/os/linux/']],
},
],
@@ -891,13 +892,16 @@
@@ -895,13 +896,16 @@
},
],
[

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/_other/packer.cpp.orig 2018-08-04 18:53:40 UTC
--- Telegram/SourceFiles/_other/packer.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/_other/packer.cpp
@@ -233,7 +233,7 @@ int main(int argc, char *argv[])
@@ -254,7 +254,7 @@ int main(int argc, char *argv[])
}
QByteArray inner = f.readAll();
stream << name << quint32(inner.size()) << inner;

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/base/bytes.h.orig 2018-09-28 13:08:38 UTC
--- Telegram/SourceFiles/base/bytes.h.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/base/bytes.h
@@ -135,7 +135,7 @@ template <
@@ -137,7 +137,7 @@ template <
vector concatenate(Args &&...args) {
const auto size = details::spansLength(args...);
auto result = vector(size);
@ -9,7 +9,7 @@
return result;
}
@@ -147,7 +147,7 @@ vector concatenate(SpanRange args) {
@@ -149,7 +149,7 @@ vector concatenate(SpanRange args) {
size += bytes::make_span(arg).size();
}
auto result = vector(size);

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/core/launcher.cpp.orig 2019-02-01 12:51:46 UTC
--- Telegram/SourceFiles/core/launcher.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/core/launcher.cpp
@@ -15,6 +15,8 @@ https://github.com/telegramdesktop/tdesktop/blob/maste
@@ -16,6 +16,8 @@ https://github.com/telegramdesktop/tdesktop/blob/maste
#include "core/sandbox.h"
#include "base/concurrent_timer.h"
@ -9,10 +9,14 @@
namespace Core {
namespace {
@@ -208,9 +210,10 @@ void Launcher::init() {
QApplication::setApplicationName(qsl("TelegramDesktop"));
@@ -246,12 +248,13 @@ void Launcher::init() {
#define TDESKTOP_LAUNCHER_FILENAME_TO_STRING_HELPER(V) #V
#define TDESKTOP_LAUNCHER_FILENAME_TO_STRING(V) TDESKTOP_LAUNCHER_FILENAME_TO_STRING_HELPER(V)
QApplication::setDesktopFileName(qsl(TDESKTOP_LAUNCHER_FILENAME_TO_STRING(TDESKTOP_LAUNCHER_FILENAME)));
-#elif defined(Q_OS_LINUX) && QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
+#elif (defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)) && 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)
+ // Retina display support is working fine, others are not.
@ -22,25 +26,15 @@
initHook();
}
@@ -228,6 +231,11 @@ int Launcher::exec() {
@@ -268,6 +271,11 @@ int Launcher::exec() {
// both are finished in Sandbox::closeApplication
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(FREEBSD_QT_PLUGINDIR);
+ // 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));
@@ -329,6 +337,9 @@ void Launcher::prepareSettings() {
break;
case dbipLinux32:
gPlatformString = qsl("Linux32bit");
+ break;
+ case dbipFreeBSD:
+ gPlatformString = qsl("FreeBSD");
break;
}

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/core/update_checker.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/core/update_checker.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/core/update_checker.cpp
@@ -1456,6 +1456,9 @@ int UpdateChecker::size() const {
@@ -1461,6 +1461,9 @@ int UpdateChecker::size() const {
//}
bool checkReadyUpdate() {
@ -10,7 +10,7 @@
QString readyFilePath = cWorkingDir() + qsl("tupdates/temp/ready"), readyPath = cWorkingDir() + qsl("tupdates/temp");
if (!QFile(readyFilePath).exists() || cExeName().isEmpty()) {
if (QDir(cWorkingDir() + qsl("tupdates/ready")).exists() || QDir(cWorkingDir() + qsl("tupdates/temp")).exists()) {
@@ -1508,6 +1511,9 @@ bool checkReadyUpdate() {
@@ -1513,6 +1516,9 @@ bool checkReadyUpdate() {
#elif defined Q_OS_LINUX // Q_OS_MAC
QString curUpdater = (cExeDir() + qsl("Updater"));
QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Updater"));

View File

@ -1,10 +0,0 @@
--- Telegram/SourceFiles/core/utils.h.orig 2019-04-13 06:46:58 UTC
+++ Telegram/SourceFiles/core/utils.h
@@ -347,6 +347,7 @@ enum DBIPlatform {
dbipLinux64 = 2,
dbipLinux32 = 3,
dbipMacOld = 4,
+ dbipFreeBSD = 5,
};
enum DBIPeerReportSpamStatus {

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/data/data_document.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/data/data_document.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/data/data_document.cpp
@@ -133,7 +133,7 @@ QString FileNameUnsafe(
@@ -138,7 +138,7 @@ QString FileNameUnsafe(
name = name.replace(QRegularExpression(qsl("[\\\\\\/\\:\\*\\?\\\"\\<\\>\\|]")), qsl("_"));
#elif defined Q_OS_MAC
name = name.replace(QRegularExpression(qsl("[\\:]")), qsl("_"));

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/export/data/export_data_types.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/export/data/export_data_types.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/export/data/export_data_types.cpp
@@ -353,9 +353,9 @@ QString CleanDocumentName(QString name) {
@@ -360,9 +360,9 @@ QString CleanDocumentName(QString name) {
'|',
#elif defined Q_OS_MAC // Q_OS_WIN
':',

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp
@@ -1392,13 +1392,13 @@ void InnerWidget::mouseActionFinish(const QPoint &scre
@@ -1411,13 +1411,13 @@ void InnerWidget::mouseActionFinish(const QPoint &scre
_mouseSelectType = TextSelectType::Letters;
//_widget->noSelectingScroll(); // TODO

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/history/history_inner_widget.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/history/history_inner_widget.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/history/history_inner_widget.cpp
@@ -1376,7 +1376,7 @@ void HistoryInner::mouseActionFinish(
@@ -1382,7 +1382,7 @@ void HistoryInner::mouseActionFinish(
_widget->noSelectingScroll();
_widget->updateTopBarSelection();
@ -9,7 +9,7 @@
if (!_selected.empty() && _selected.cbegin()->second != FullSelection) {
const auto [item, selection] = *_selected.cbegin();
if (const auto view = item->mainView()) {
@@ -1385,7 +1385,7 @@ void HistoryInner::mouseActionFinish(
@@ -1391,7 +1391,7 @@ void HistoryInner::mouseActionFinish(
QClipboard::Selection);
}
}

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/history/view/history_view_list_widget.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/history/view/history_view_list_widget.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/history/view/history_view_list_widget.cpp
@@ -2031,7 +2031,7 @@ void ListWidget::mouseActionFinish(
@@ -2042,7 +2042,7 @@ void ListWidget::mouseActionFinish(
_mouseSelectType = TextSelectType::Letters;
//_widget->noSelectingScroll(); // #TODO select scroll
@ -9,7 +9,7 @@
if (_selectedTextItem
&& _selectedTextRange.from != _selectedTextRange.to) {
if (const auto view = viewForItem(_selectedTextItem)) {
@@ -2040,7 +2040,7 @@ void ListWidget::mouseActionFinish(
@@ -2051,7 +2051,7 @@ void ListWidget::mouseActionFinish(
QClipboard::Selection);
}
}

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/logs.cpp.orig 2019-02-01 12:51:46 UTC
--- Telegram/SourceFiles/logs.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/logs.cpp
@@ -333,7 +333,7 @@ void start(not_null<Core::Launcher*> launcher) {
@@ -338,7 +338,7 @@ void start(not_null<Core::Launcher*> launcher) {
if (cAlphaVersion()) {
workingDirChosen = true;
@ -9,7 +9,7 @@
} else {
if (!cWorkingDir().isEmpty()) {
// This value must come from TelegramForcePortable
@@ -348,16 +348,16 @@ void start(not_null<Core::Launcher*> launcher) {
@@ -353,16 +353,16 @@ void start(not_null<Core::Launcher*> launcher) {
}
workingDirChosen = true;
@ -30,7 +30,7 @@
#ifdef _DEBUG
cForceWorkingDir(cExeDir());
#else // _DEBUG
@@ -374,7 +374,7 @@ void start(not_null<Core::Launcher*> launcher) {
@@ -379,7 +379,7 @@ void start(not_null<Core::Launcher*> launcher) {
workingDirChosen = true;
}

View File

@ -0,0 +1,38 @@
--- Telegram/SourceFiles/platform/freebsd/info_freebsd.cpp.orig 2019-07-28 03:19:18 UTC
+++ Telegram/SourceFiles/platform/freebsd/info_freebsd.cpp
@@ -0,0 +1,35 @@
+/*
+This file is part of Telegram Desktop,
+the official desktop application for the Telegram messaging service.
+
+For license and copyright information please follow this link:
+https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+*/
+#include "platform/freebsd/info_freebsd.h"
+
+namespace Platform {
+
+QString DeviceModelPretty() {
+ return "FreeBSD";
+}
+
+QString SystemVersionPretty() {
+ const auto result = getenv("XDG_CURRENT_DESKTOP");
+ const auto value = result ? QString::fromLatin1(result) : QString();
+ const auto list = value.split(':', QString::SkipEmptyParts);
+ return list.isEmpty() ? "FreeBSD" : "FreeBSD " + list[0];
+}
+
+QString SystemCountry() {
+ return QString();
+}
+
+QString SystemLanguage() {
+ return QString();
+}
+
+QDate WhenSystemBecomesOutdated() {
+ return QDate();
+}
+
+} // namespace Platform

View File

@ -0,0 +1,59 @@
--- Telegram/SourceFiles/platform/freebsd/info_freebsd.h.orig 2019-07-28 03:19:18 UTC
+++ Telegram/SourceFiles/platform/freebsd/info_freebsd.h
@@ -0,0 +1,56 @@
+/*
+This file is part of Telegram Desktop,
+the official desktop application for the Telegram messaging service.
+
+For license and copyright information please follow this link:
+https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
+*/
+#pragma once
+
+#include "platform/platform_info.h"
+
+namespace Platform {
+
+inline constexpr bool IsLinux() {
+ return true;
+}
+
+inline constexpr bool IsLinux32Bit() {
+#ifdef Q_OS_LINUX32
+ return true;
+#else // Q_OS_LINUX32
+ return false;
+#endif // Q_OS_LINUX32
+}
+
+inline constexpr bool IsLinux64Bit() {
+#ifdef Q_OS_LINUX64
+ return true;
+#else // Q_OS_LINUX64
+ return false;
+#endif // Q_OS_LINUX64
+}
+
+inline constexpr bool IsWindows() { return false; }
+inline constexpr bool IsWindowsStoreBuild() { return false; }
+inline bool IsWindowsXPOrGreater() { return false; }
+inline bool IsWindowsVistaOrGreater() { return false; }
+inline bool IsWindows7OrGreater() { return false; }
+inline bool IsWindows8OrGreater() { return false; }
+inline bool IsWindows8Point1OrGreater() { return false; }
+inline bool IsWindows10OrGreater() { return false; }
+inline constexpr bool IsMac() { return false; }
+inline constexpr bool IsMacOldBuild() { return false; }
+inline constexpr bool IsMacStoreBuild() { return false; }
+inline bool IsMac10_6OrGreater() { return false; }
+inline bool IsMac10_7OrGreater() { return false; }
+inline bool IsMac10_8OrGreater() { return false; }
+inline bool IsMac10_9OrGreater() { return false; }
+inline bool IsMac10_10OrGreater() { return false; }
+inline bool IsMac10_11OrGreater() { return false; }
+inline bool IsMac10_12OrGreater() { return false; }
+inline bool IsMac10_13OrGreater() { return false; }
+inline bool IsMac10_14OrGreater() { return false; }
+
+} // namespace Platform
+

View File

@ -1,4 +1,4 @@
--- Telegram/SourceFiles/platform/linux/main_window_linux.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/platform/linux/main_window_linux.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/platform/linux/main_window_linux.cpp
@@ -25,7 +25,9 @@ bool noQtTrayIcon = false, tryAppIndicator = false;
bool useGtkBase = false, useAppIndicator = false, useStatusIcon = false, trayIconChecked = false, useUnityCount = false;
@ -10,7 +10,7 @@
GtkStatusIcon *_trayIcon = 0;
GtkWidget *_trayMenu = 0;
GdkPixbuf *_trayPixbuf = 0;
@@ -290,7 +292,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
@@ -291,7 +293,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
if (noQtTrayIcon) {
#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
if (useAppIndicator) {
@ -20,7 +20,7 @@
} else if (useStatusIcon) {
Libs::gtk_status_icon_set_visible(_trayIcon, false);
}
@@ -306,7 +310,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
@@ -307,7 +311,9 @@ void MainWindow::workmodeUpdated(DBIWorkMode mode) {
if (noQtTrayIcon) {
#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
if (useAppIndicator) {
@ -30,7 +30,7 @@
} else if (useStatusIcon) {
Libs::gtk_status_icon_set_visible(_trayIcon, true);
}
@@ -325,7 +331,9 @@ void MainWindow::psUpdateIndicator() {
@@ -326,7 +332,9 @@ void MainWindow::psUpdateIndicator() {
if (iconFile.exists()) {
QByteArray path = QFile::encodeName(iconFile.absoluteFilePath()), name = QFile::encodeName(iconFile.fileName());
name = name.mid(0, name.size() - 4);
@ -40,7 +40,7 @@
} else {
useAppIndicator = false;
}
@@ -422,11 +430,15 @@ void MainWindow::LibsLoaded() {
@@ -423,11 +431,15 @@ void MainWindow::LibsLoaded() {
&& (Libs::g_object_ref_sink != nullptr)
&& (Libs::g_object_unref != nullptr);
@ -56,7 +56,7 @@
if (tryAppIndicator && useGtkBase && useAppIndicator) {
noQtTrayIcon = true;
@@ -462,6 +474,7 @@ void MainWindow::psCreateTrayIcon() {
@@ -463,6 +475,7 @@ void MainWindow::psCreateTrayIcon() {
}
#ifndef TDESKTOP_DISABLE_GTK_INTEGRATION
@ -64,7 +64,7 @@
if (useAppIndicator) {
DEBUG_LOG(("Trying to create AppIndicator"));
_trayMenu = Libs::gtk_menu_new();
@@ -492,6 +505,7 @@ void MainWindow::psCreateTrayIcon() {
@@ -493,6 +506,7 @@ void MainWindow::psCreateTrayIcon() {
useAppIndicator = false;
}
}
@ -72,7 +72,7 @@
if (useStatusIcon) {
if (Libs::gdk_init_check(0, 0)) {
if (!_trayMenu) _trayMenu = Libs::gtk_menu_new();
@@ -616,10 +630,12 @@ MainWindow::~MainWindow() {
@@ -617,10 +631,12 @@ MainWindow::~MainWindow() {
Libs::g_object_unref(_trayMenu);
_trayMenu = nullptr;
}

View File

@ -0,0 +1,10 @@
--- Telegram/SourceFiles/platform/platform_info.h.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/platform/platform_info.h
@@ -49,4 +49,6 @@ namespace Platform {
#include "platform/linux/info_linux.h"
#elif defined Q_OS_WIN // Q_OS_MAC || Q_OS_LINUX
#include "platform/win/info_win.h"
-#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
+#elif defined Q_OS_FREEBSD // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN
+#include "platform/freebsd/info_freebsd.h"
+#endif // Q_OS_MAC || Q_OS_LINUX || Q_OS_WIN || Q_OS_FREEBSD

View File

@ -1,11 +0,0 @@
--- Telegram/SourceFiles/settings.cpp.orig 2018-12-24 08:16:05 UTC
+++ Telegram/SourceFiles/settings.cpp
@@ -77,6 +77,8 @@ DBIPlatform gPlatform = dbipMac;
DBIPlatform gPlatform = dbipLinux64;
#elif defined Q_OS_LINUX32
DBIPlatform gPlatform = dbipLinux32;
+#elif defined Q_OS_FREEBSD
+DBIPlatform gPlatform = dbipFreeBSD;
#else
#error Unknown platform
#endif

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/settings/settings_notifications.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/settings/settings_notifications.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/settings/settings_notifications.cpp
@@ -479,11 +479,11 @@ void NotificationsCount::SampleWidget::destroyDelayed(
@@ -480,11 +480,11 @@ void NotificationsCount::SampleWidget::destroyDelayed(
_deleted = true;
// Ubuntu has a lag if deleteLater() called immediately.

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/ui/text/text.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/ui/text/text.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/ui/text/text.cpp
@@ -1762,11 +1762,11 @@ class TextPainter { (private)
@@ -2016,11 +2016,11 @@ class Renderer { (private)
if (item == -1)
return;

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/ui/text/text_block.cpp.orig 2019-02-01 12:51:46 UTC
--- Telegram/SourceFiles/ui/text/text_block.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/ui/text/text_block.cpp
@@ -332,6 +332,9 @@ TextBlock::TextBlock(const style::font &font, const QS
@@ -335,6 +335,9 @@ TextBlock::TextBlock(const style::font &font, const QS
QStackTextEngine engine(part, blockFont->f);
BlockParser parser(&engine, this, minResizeWidth, _from, part);

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/ui/twidget.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/ui/twidget.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/ui/twidget.cpp
@@ -249,9 +249,9 @@ void sendSynteticMouseEvent(QWidget *widget, QEvent::T
@@ -270,9 +270,9 @@ void sendSynteticMouseEvent(QWidget *widget, QEvent::T
, button
, QGuiApplication::mouseButtons() | button
, QGuiApplication::keyboardModifiers()

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/ui/widgets/labels.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/ui/widgets/labels.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/ui/widgets/labels.cpp
@@ -361,11 +361,11 @@ Text::StateResult FlatLabel::dragActionFinish(const QP
@@ -391,11 +391,11 @@ Ui::Text::StateResult FlatLabel::dragActionFinish(cons
}
}

View File

@ -1,6 +1,6 @@
--- Telegram/SourceFiles/window/main_window.cpp.orig 2019-04-13 06:46:58 UTC
--- Telegram/SourceFiles/window/main_window.cpp.orig 2019-07-07 13:34:35 UTC
+++ Telegram/SourceFiles/window/main_window.cpp
@@ -521,7 +521,7 @@ bool MainWindow::minimizeToTray() {
@@ -565,7 +565,7 @@ bool MainWindow::minimizeToTray() {
}
void MainWindow::reActivateWindow() {
@ -9,7 +9,7 @@
const auto reActivate = [=] {
if (const auto w = App::wnd()) {
if (auto f = QApplication::focusWidget()) {
@@ -536,7 +536,7 @@ void MainWindow::reActivateWindow() {
@@ -580,7 +580,7 @@ void MainWindow::reActivateWindow() {
};
crl::on_main(this, reActivate);
App::CallDelayed(200, this, reActivate);

View File

@ -1,5 +1,16 @@
--- Telegram/ThirdParty/libtgvoip/VoIPController.cpp.orig 2019-04-03 18:20:00 UTC
--- Telegram/ThirdParty/libtgvoip/VoIPController.cpp.orig 2019-06-24 11:42:33 UTC
+++ Telegram/ThirdParty/libtgvoip/VoIPController.cpp
@@ -2389,8 +2389,8 @@ simpleAudioBlock random_id:long random_bytes:string ra
stm->decoder=NULL;
}else if(stm->type==STREAM_TYPE_VIDEO){
if(!stm->packetReassembler){
- stm->packetReassembler=make_shared<PacketReassembler>();
- stm->packetReassembler->SetCallback(bind(&VoIPController::ProcessIncomingVideoFrame, this, placeholders::_1, placeholders::_2, placeholders::_3));
+ //stm->packetReassembler=make_shared<PacketReassembler>();
+ //stm->packetReassembler->SetCallback(bind(&VoIPController::ProcessIncomingVideoFrame, this, placeholders::_1, placeholders::_2, placeholders::_3));
}
}else{
LOGW("Unknown incoming stream type: %d", stm->type);
@@ -3048,7 +3048,7 @@ static void initMachTimestart() {
#endif

View File

@ -1,14 +1,5 @@
--- Telegram/gyp/PrecompiledHeader.cmake.orig 2019-02-01 12:51:46 UTC
--- Telegram/gyp/PrecompiledHeader.cmake.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/PrecompiledHeader.cmake
@@ -81,7 +81,7 @@ function(export_all_flags _filename _source_name_for_f
endfunction()
function(add_precompiled_header _target _input)
- if(CMAKE_COMPILER_IS_GNUCXX)
+ if(CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
get_filename_component(_name ${_input} NAME)
set(_pch_header "${CMAKE_CURRENT_SOURCE_DIR}/${_input}")
set(_pch_binary_dir "${CMAKE_CURRENT_BINARY_DIR}/${_target}_pch")
@@ -114,7 +114,7 @@ function(add_precompiled_header _target _input)
set(_compiler_FLAGS "@${_pch_c_flags_file}")
add_custom_command(
@ -27,10 +18,3 @@
DEPENDS "${_pchfile}" "${_pch_cpp_flags_file}"
IMPLICIT_DEPENDS CXX "${_pch_header}"
COMMENT "Precompiling header ${_name} for ${_target} (C++)")
@@ -163,5 +163,5 @@ function(add_precompiled_header _target _input)
OBJECT_DEPENDS "${_object_depends}")
endif()
endforeach()
- endif(CMAKE_COMPILER_IS_GNUCXX)
+ endif(CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
endfunction()

View File

@ -1,4 +1,4 @@
--- Telegram/gyp/settings_linux.gypi.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/settings_linux.gypi.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/settings_linux.gypi
@@ -11,7 +11,6 @@
'linux_common_flags': [
@ -8,7 +8,7 @@
'-W',
'-fPIC',
'-Wno-unused-variable',
@@ -26,7 +25,7 @@
@@ -28,7 +27,7 @@
],
},
'conditions': [
@ -17,7 +17,7 @@
'defines': [
'Q_OS_LINUX64',
],
@@ -61,7 +60,6 @@
@@ -63,7 +62,6 @@
],
'defines': [
'_REENTRANT',
@ -25,7 +25,7 @@
'QT_PLUGIN',
],
'cflags_c': [
@@ -74,9 +72,6 @@
@@ -76,9 +74,6 @@
'-Wno-register',
],
'make_global_settings': [

View File

@ -1,6 +1,17 @@
--- Telegram/gyp/telegram_sources.txt.orig 2019-04-13 06:46:58 UTC
--- Telegram/gyp/telegram_sources.txt.orig 2019-07-07 13:34:35 UTC
+++ Telegram/gyp/telegram_sources.txt
@@ -857,14 +857,7 @@
@@ -577,8 +577,8 @@
<(src_loc)/platform/linux/linux_libs.h
<(src_loc)/platform/linux/file_utilities_linux.cpp
<(src_loc)/platform/linux/file_utilities_linux.h
-<(src_loc)/platform/linux/info_linux.cpp
-<(src_loc)/platform/linux/info_linux.h
+<(src_loc)/platform/freebsd/info_freebsd.cpp
+<(src_loc)/platform/freebsd/info_freebsd.h
<(src_loc)/platform/linux/launcher_linux.cpp
<(src_loc)/platform/linux/launcher_linux.h
<(src_loc)/platform/linux/main_window_linux.cpp
@@ -894,14 +894,7 @@
<(emoji_suggestions_loc)/emoji_suggestions.cpp
<(emoji_suggestions_loc)/emoji_suggestions.h

View File

@ -0,0 +1,172 @@
From 0710dde4d5526454318b2748331e887c01ecfdce Mon Sep 17 00:00:00 2001
From: John Preston <johnprestonmail@gmail.com>
Date: Tue, 9 Jul 2019 13:43:57 +0200
Subject: [PATCH] Use private Qt color API only in official build.
Fixes #6219.
---
.../SourceFiles/ffmpeg/ffmpeg_utility.cpp | 100 ++++++++++++------
Telegram/gyp/lib_ffmpeg.gyp | 6 +-
2 files changed, 71 insertions(+), 35 deletions(-)
diff --git a/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp b/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
index 5d0e50926..3775f7503 100644
--- Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
+++ Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
@@ -11,7 +11,10 @@ For license and copyright information please follow this link:
#include "logs.h"
#include <QImage>
+
+#ifdef TDESKTOP_OFFICIAL_TARGET
#include <private/qdrawhelper_p.h>
+#endif // TDESKTOP_OFFICIAL_TARGET
extern "C" {
#include <libavutil/opt.h>
@@ -44,6 +47,58 @@ void AlignedImageBufferCleanupHandler(void* data) {
&& !(image.bytesPerLine() % kAlignImageBy);
}
+void UnPremultiplyLine(uchar *dst, const uchar *src, int intsCount) {
+#ifdef TDESKTOP_OFFICIAL_TARGET
+ const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
+ const auto convert = layout->convertFromARGB32PM;
+#else // TDESKTOP_OFFICIAL_TARGET
+ const auto layout = nullptr;
+ const auto convert = [](
+ uint *dst,
+ const uint *src,
+ int count,
+ std::nullptr_t,
+ std::nullptr_t) {
+ for (auto i = 0; i != count; ++i) {
+ dst[i] = qUnpremultiply(src[i]);
+ }
+ };
+#endif // TDESKTOP_OFFICIAL_TARGET
+
+ convert(
+ reinterpret_cast<uint*>(dst),
+ reinterpret_cast<const uint*>(src),
+ intsCount,
+ layout,
+ nullptr);
+}
+
+void PremultiplyLine(uchar *dst, const uchar *src, int intsCount) {
+#ifdef TDESKTOP_OFFICIAL_TARGET
+ const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
+ const auto convert = layout->convertToARGB32PM;
+#else // TDESKTOP_OFFICIAL_TARGET
+ const auto layout = nullptr;
+ const auto convert = [](
+ uint *dst,
+ const uint *src,
+ int count,
+ std::nullptr_t,
+ std::nullptr_t) {
+ for (auto i = 0; i != count; ++i) {
+ dst[i] = qPremultiply(src[i]);
+ }
+ };
+#endif // TDESKTOP_OFFICIAL_TARGET
+
+ convert(
+ reinterpret_cast<uint*>(dst),
+ reinterpret_cast<const uint*>(src),
+ intsCount,
+ layout,
+ nullptr);
+}
+
} // namespace
IOPointer MakeIOPointer(
@@ -360,58 +415,35 @@ void UnPremultiply(QImage &to, const QImage &from) {
if (!GoodStorageForFrame(to, from.size())) {
to = CreateFrameStorage(from.size());
}
-
- const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
- const auto convert = layout->convertFromARGB32PM;
const auto fromPerLine = from.bytesPerLine();
const auto toPerLine = to.bytesPerLine();
const auto width = from.width();
+ const auto height = from.height();
+ auto fromBytes = from.bits();
+ auto toBytes = to.bits();
if (fromPerLine != width * 4 || toPerLine != width * 4) {
- auto fromBytes = from.bits();
- auto toBytes = to.bits();
- for (auto i = 0; i != to.height(); ++i) {
- convert(
- reinterpret_cast<uint*>(toBytes),
- reinterpret_cast<const uint*>(fromBytes),
- width,
- layout,
- nullptr);
+ for (auto i = 0; i != height; ++i) {
+ UnPremultiplyLine(toBytes, fromBytes, width);
fromBytes += fromPerLine;
toBytes += toPerLine;
}
} else {
- convert(
- reinterpret_cast<uint*>(to.bits()),
- reinterpret_cast<const uint*>(from.bits()),
- from.width() * from.height(),
- layout,
- nullptr);
+ UnPremultiplyLine(toBytes, fromBytes, width * height);
}
}
void PremultiplyInplace(QImage &image) {
- const auto layout = &qPixelLayouts[QImage::Format_ARGB32];
- const auto convert = layout->convertToARGB32PM;
const auto perLine = image.bytesPerLine();
const auto width = image.width();
+ const auto height = image.height();
+ auto bytes = image.bits();
if (perLine != width * 4) {
- auto bytes = image.bits();
- for (auto i = 0; i != image.height(); ++i) {
- convert(
- reinterpret_cast<uint*>(bytes),
- reinterpret_cast<const uint*>(bytes),
- width,
- layout,
- nullptr);
+ for (auto i = 0; i != height; ++i) {
+ PremultiplyLine(bytes, bytes, width);
bytes += perLine;
}
} else {
- convert(
- reinterpret_cast<uint*>(image.bits()),
- reinterpret_cast<const uint*>(image.bits()),
- image.width() * image.height(),
- layout,
- nullptr);
+ PremultiplyLine(bytes, bytes, width * height);
}
}
diff --git a/Telegram/gyp/lib_ffmpeg.gyp b/Telegram/gyp/lib_ffmpeg.gyp
index 9971d76ae..b9ada5362 100644
--- Telegram/gyp/lib_ffmpeg.gyp
+++ Telegram/gyp/lib_ffmpeg.gyp
@@ -46,7 +46,11 @@
'<(src_loc)/ffmpeg/ffmpeg_utility.cpp',
'<(src_loc)/ffmpeg/ffmpeg_utility.h',
],
- 'conditions': [[ 'build_macold', {
+ 'conditions': [[ '"<(official_build_target)" != ""', {
+ 'defines': [
+ 'TDESKTOP_OFFICIAL_TARGET=<(official_build_target)',
+ ],
+ }], [ 'build_macold', {
'xcode_settings': {
'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
},