automatic version update by autodist [release 1.5.15-1mamba;Mon Mar 18 2019]

This commit is contained in:
Automatic Build System 2024-01-05 18:22:22 +01:00
parent 0d85a32b96
commit e0f73bca27
7 changed files with 671 additions and 369 deletions

View File

@ -1,10 +0,0 @@
--- tdesktop-0.10.6/Telegram/gyp/Telegram.gyp.orig 2016-09-13 14:07:40.218973058 +0200
+++ tdesktop-0.10.6/Telegram/gyp/Telegram.gyp 2016-09-13 13:58:33.129951804 +0200
@@ -71,6 +71,7 @@
'defines': [
'TDESKTOP_DISABLE_AUTOUPDATE',
'TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME',
+ 'TDESKTOP_DISABLE_UNITY_INTEGRATION',
],
'include_dirs': [

View File

@ -1,227 +0,0 @@
diff --git a/Telegram/SourceFiles/qt_static_plugins.cpp b/Telegram/SourceFiles/qt_static_plugins.cpp
index b975c7a8..5ad461a4 100644
--- a/Telegram/SourceFiles/qt_static_plugins.cpp
+++ b/Telegram/SourceFiles/qt_static_plugins.cpp
@@ -30,6 +30,7 @@ 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(QWaylandIntegrationPlugin)
Q_IMPORT_PLUGIN(QConnmanEnginePlugin)
Q_IMPORT_PLUGIN(QGenericEnginePlugin)
Q_IMPORT_PLUGIN(QNetworkManagerEnginePlugin)
diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp
index 0d1f38aa..0665cce1 100644
--- a/Telegram/gyp/Telegram.gyp
+++ b/Telegram/gyp/Telegram.gyp
@@ -85,25 +85,21 @@
],
'defines': [
- 'AL_LIBTYPE_STATIC',
'AL_ALEXT_PROTOTYPES',
'TGVOIP_USE_CXX11_LIB',
'<!@(python -c "for s in \'<(build_defines)\'.split(\',\'): print(s)")',
+ '__STDC_FORMAT_MACROS',
+ 'TDESKTOP_DISABLE_AUTOUPDATE',
+ 'TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME',
],
'include_dirs': [
'<(src_loc)',
'<(SHARED_INTERMEDIATE_DIR)',
- '<(libs_loc)/breakpad/src',
- '<(libs_loc)/lzma/C',
- '<(libs_loc)/libexif-0.6.20',
- '<(libs_loc)/zlib-1.2.8',
- '<(libs_loc)/ffmpeg',
- '<(libs_loc)/openal-soft/include',
- '<(libs_loc)/opus/include',
'<(minizip_loc)',
'<(sp_media_key_tap_loc)',
'<(emoji_suggestions_loc)',
+ '/usr/include/breakpad',
'<(submodules_loc)/GSL/include',
'<(submodules_loc)/variant/include',
],
diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi
index 6032d066..567cdb95 100644
--- a/Telegram/gyp/qt.gypi
+++ b/Telegram/gyp/qt.gypi
@@ -38,7 +38,6 @@
'Qt5Network',
'Qt5Widgets',
'Qt5Gui',
- 'qtharfbuzzng',
],
'qt_version%': '<(qt_version)',
'conditions': [
@@ -97,20 +96,9 @@
'<@(qt_libs)',
'Qt5DBus',
'Qt5Core',
- 'qtpcre',
- 'Xi',
- 'Xext',
- 'Xfixes',
- 'SM',
- 'ICE',
- 'fontconfig',
- 'expat',
- 'freetype',
- 'z',
- 'xcb-shm',
- 'xcb-xfixes',
- 'xcb-render',
- 'xcb-static',
+ 'Qt5WaylandClient',
+ 'qwayland-generic',
+ 'qwayland-egl',
],
}],
],
@@ -200,6 +188,7 @@
'<(qt_loc)/include/QtGui/<(qt_version)',
'<(qt_loc)/include/QtCore/<(qt_version)/QtCore',
'<(qt_loc)/include/QtGui/<(qt_version)/QtGui',
+ '/usr/include/openssl-1.0',
],
'library_dirs': [
'<(qt_loc)/lib',
@@ -220,7 +209,6 @@
'<(qt_loc)/plugins/platforminputcontexts',
],
'libraries': [
- '<(linux_path_xkbcommon)/lib/libxkbcommon.a',
'<@(qt_libs_release)',
'<(linux_lib_ssl)',
'<(linux_lib_crypto)',
@@ -233,12 +221,32 @@
'-lgthread-2.0',
'-lglib-2.0',
'-lpthread',
+
+ '-lXi',
+ '-lXext',
+ '-lXfixes',
+ '-lSM',
+ '-lICE',
+ '-lfontconfig',
+ '-lexpat',
+ '-lfreetype',
+
+ '<!(pkg-config 2> /dev/null --libs xkbcommon xkbcommon-x11)',
+ '<!(pkg-config 2> /dev/null --libs harfbuzz)',
+ '<!(pkg-config 2> /dev/null --libs libpcre16)',
+ '<!(pkg-config 2> /dev/null --libs zlib)',
+ '<!(pkg-config 2> /dev/null --libs libpng16)',
+ '<!(pkg-config 2> /dev/null --libs libjpeg)',
+ '<!(pkg-config 2> /dev/null --libs libwebp)',
+ '<!(pkg-config 2> /dev/null --libs xcb-shm xcb-xfixes xcb-render xcb-renderutil xcb-sync xcb-randr xcb-xinerama xcb-xkb xcb-icccm xcb-image xcb-shape xcb-keysyms xcb-util)',
+ '<!(pkg-config 2> /dev/null --libs wayland-client wayland-cursor)',
+ '-lproxy',
+ '-lGL',
],
'include_dirs': [
'<(qt_loc)/mkspecs/linux-g++',
],
'ldflags': [
- '-static-libstdc++',
'-pthread',
'-g',
'-rdynamic',
diff --git a/Telegram/gyp/settings_linux.gypi b/Telegram/gyp/settings_linux.gypi
index fde88dcd..1fd1b9cb 100644
--- a/Telegram/gyp/settings_linux.gypi
+++ b/Telegram/gyp/settings_linux.gypi
@@ -25,7 +25,6 @@
'-pipe',
'-g',
'-Wall',
- '-Werror',
'-W',
'-fPIC',
'-Wno-unused-variable',
diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi
index 2c464928..2112496b 100644
--- a/Telegram/gyp/telegram_linux.gypi
+++ b/Telegram/gyp/telegram_linux.gypi
@@ -21,11 +21,20 @@
'conditions': [[ 'build_linux', {
'variables': {
'pkgconfig_libs': [
-# In order to work libxkbcommon must be linked statically,
-# PKGCONFIG links it like "-L/usr/local/lib -lxkbcommon"
-# which makes a dynamic link which leads to segfault in
-# QApplication() -> createPlatformIntegration -> QXcbIntegrationPlugin::create
- #'xkbcommon',
+ 'liblzma',
+ 'openal',
+ 'libavformat',
+ 'libavcodec',
+ 'libswresample',
+ 'libswscale',
+ 'libavutil',
+ 'opus',
+ 'libva-x11',
+ 'libva-drm',
+ 'libva',
+ 'vdpau',
+ 'libdrm',
+ 'zlib',
],
'linux_path_ffmpeg%': '/usr/local',
'linux_path_openal%': '/usr/local',
@@ -36,20 +45,11 @@
'linux_path_opus_include%': '<(libs_loc)/opus/include',
},
'include_dirs': [
- '/usr/local/include',
- '<(linux_path_ffmpeg)/include',
- '<(linux_path_openal)/include',
- '<(linux_path_breakpad)/include/breakpad',
'<(linux_path_opus_include)',
+ '/usr/include',
],
'library_dirs': [
- '/usr/local/lib',
- '<(linux_path_ffmpeg)/lib',
- '<(linux_path_openal)/lib',
- '<(linux_path_libexif_lib)',
- '<(linux_path_va)/lib',
- '<(linux_path_vdpau)/lib',
- '<(linux_path_breakpad)/lib',
+ '/usr/lib',
],
'libraries': [
'breakpad_client',
@@ -57,27 +57,14 @@
'ibusplatforminputcontextplugin',
'fcitxplatforminputcontextplugin',
'himeplatforminputcontextplugin',
- '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',
-# '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
+ '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))',
],
'cflags_cc': [
'<!(pkg-config 2> /dev/null --cflags appindicator-0.1)',
'<!(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 <@(pkgconfig_libs))',
],
'configurations': {
'Release': {

View File

@ -1,12 +0,0 @@
diff --git a/libtgvoip.gyp b/libtgvoip.gyp
index 52fbea1..d5c6ec4 100644
--- a/libtgvoip.gyp
+++ b/libtgvoip.gyp
@@ -18,6 +18,7 @@
'include_dirs': [
'<(tgvoip_src_loc)/webrtc_dsp',
'<(linux_path_opus_include)',
+ '/usr/include/openssl-1.0',
],
'direct_dependent_settings': {
'include_dirs': [

View File

@ -0,0 +1,18 @@
diff --git a/libtgvoip.gyp b/libtgvoip.gyp
index 52fbea1..9a4dfb7 100644
--- a/libtgvoip.gyp
+++ b/libtgvoip.gyp
@@ -13,11 +13,12 @@
'variables': {
'tgvoip_src_loc': '.',
'official_build_target%': '',
- 'linux_path_opus_include%': '<(DEPTH)/../../../Libraries/opus/include',
+ 'linux_path_opus_include%': '/usr/include/opus',
},
'include_dirs': [
'<(tgvoip_src_loc)/webrtc_dsp',
'<(linux_path_opus_include)',
+ '/usr/include/openssl'
],
'direct_dependent_settings': {
'include_dirs': [

View File

@ -0,0 +1,29 @@
diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.cpp b/Telegram/SourceFiles/platform/linux/linux_libs.cpp
index f8d74fee1..c9d059fa6 100644
--- a/Telegram/SourceFiles/platform/linux/linux_libs.cpp
+++ b/Telegram/SourceFiles/platform/linux/linux_libs.cpp
@@ -240,24 +240,12 @@ void start() {
indicatorLoaded = setupAppIndicator(lib_indicator);
}
}
- if (!gtkLoaded || !indicatorLoaded) {
- if (loadLibrary(lib_indicator, "ayatana-appindicator", 1) || loadLibrary(lib_indicator, "appindicator", 1)) {
- if (loadLibrary(lib_gtk, "gtk-x11-2.0", 0)) {
- gtkLoaded = indicatorLoaded = false;
- gtkLoaded = setupGtkBase(lib_gtk);
- indicatorLoaded = setupAppIndicator(lib_indicator);
- }
- }
- }
// If no appindicator, try at least load gtk.
if (!gtkLoaded && !indicatorLoaded) {
if (loadLibrary(lib_gtk, "gtk-3", 0)) {
gtkLoaded = setupGtkBase(lib_gtk);
}
- if (!gtkLoaded && loadLibrary(lib_gtk, "gtk-x11-2.0", 0)) {
- gtkLoaded = setupGtkBase(lib_gtk);
- }
}
if (gtkLoaded) {

View File

@ -0,0 +1,539 @@
diff --git a/Telegram/Resources/qrc/telegram_linux.qrc b/Telegram/Resources/qrc/telegram_linux.qrc
index 0554fa179..3ea027406 100644
--- a/Telegram/Resources/qrc/telegram_linux.qrc
+++ b/Telegram/Resources/qrc/telegram_linux.qrc
@@ -1,5 +1,4 @@
<RCC>
<qresource prefix="/qt">
- <file alias="etc/qt.conf">../etc/qt_linux.conf</file>
</qresource>
</RCC>
diff --git a/Telegram/SourceFiles/core/launcher.cpp b/Telegram/SourceFiles/core/launcher.cpp
index d4bdadc17..8a420c74b 100644
--- a/Telegram/SourceFiles/core/launcher.cpp
+++ b/Telegram/SourceFiles/core/launcher.cpp
@@ -39,9 +39,10 @@ void Launcher::init() {
QApplication::setApplicationName(qsl("TelegramDesktop"));
-#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.
QApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
-#endif // OS_MAC_OLD
+#endif // not defined Q_OS_MAC and QT_VERSION >= 5.6.0
initHook();
}
@@ -59,6 +60,13 @@ int Launcher::exec() {
Logs::start(this); // must be started before Platform is started
Platform::start(); // must be started before QApplication 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 944f58479..887c1982f 100644
--- a/Telegram/SourceFiles/ui/text/text.cpp
+++ b/Telegram/SourceFiles/ui/text/text.cpp
@@ -1750,11 +1750,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 71f318229..461f52278 100644
--- a/Telegram/SourceFiles/ui/twidget.cpp
+++ b/Telegram/SourceFiles/ui/twidget.cpp
@@ -233,9 +233,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(getms());
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 1cab5ae29..465e8276a 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',
@@ -94,16 +92,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 17219fa2c..6853b5c3e 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',
@@ -60,7 +59,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 f02296c8a..46bd016dd 100644
--- a/Telegram/gyp/telegram_sources.txt
+++ b/Telegram/gyp/telegram_sources.txt
@@ -755,14 +755,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

View File

@ -3,7 +3,7 @@
%define qt_majver %(echo %qt_ver | cut -d. -f1-2)
Name: telegram
Version: 1.1.23
Version: 1.5.15
Release: 1mamba
Summary: The official desktop client for the Telegram messenger
Group: Graphical Desktop/Applications/Internet
@ -15,53 +15,38 @@ URL: https://telegram.org/
Source: https://github.com/telegramdesktop/tdesktop.git/v%{version}/tdesktop-%{version}.tar.bz2
Source1: telegramdesktop.desktop
Source2: tg.protocol
Source3: http://download.qt-project.org/official_releases/qt/%{qt_majver}/%{qt_ver}/submodules/qtbase-opensource-src-%{qt_ver}.tar.xz
Source4: http://download.qt-project.org/official_releases/qt/%{qt_majver}/%{qt_ver}/submodules/qtimageformats-opensource-src-%{qt_ver}.tar.xz
Source5: http://download.qt-project.org/official_releases/qt/%{qt_majver}/%{qt_ver}/submodules/qtwayland-opensource-src-%{qt_ver}.tar.xz
Patch0: telegram-0.10.6-disable-unity.patch
Patch1: telegram-1.1.23-fix-build.patch
Patch2: telegram-1.1.23-libtgvoip-fixes.patch
Source3: https://github.com/telegramdesktop/libtgvoip.git/tdesktop/libtgvoip-%{version}.tar.bz2
Source4: https://github.com/mapbox/variant.git/master/variant-%{version}.tar.bz2
Source5: https://github.com/philsquared/Catch.git/master/Catch-%{version}.tar.bz2
Source6: https://github.com/Microsoft/GSL.git/master/GSL-%{version}.tar.bz2
Source7: https://github.com/telegramdesktop/crl.git/master/crl-%{version}.tar.bz2
Source8: https://github.com/Cyan4973/xxHash.git/master/xxHash-%{version}.tar.bz2
Patch0: telegram-1.5.15-tdesktop.patch
Patch1: telegram-1.5.15-no-gtk2.patch
Patch2: telegram-1.5.15-libtgvoip.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libICE-devel
BuildRequires: libSM-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXi-devel
BuildRequires: libavcodec-ffmpeg-devel
BuildRequires: libavformat-ffmpeg-devel
BuildRequires: libavutil-ffmpeg-devel
BuildRequires: libdbus-devel
BuildRequires: libexpat-devel
BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libglib-devel
BuildRequires: libharfbuzz-devel
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: liblzma-devel
BuildRequires: libminizip-devel
BuildRequires: libopenal-devel
BuildRequires: libopenssl-devel
BuildRequires: libopus-devel
BuildRequires: libpcre-devel
BuildRequires: libpng-devel
BuildRequires: libproxy-devel
BuildRequires: libqt5-devel
BuildRequires: libstdc++6-devel
BuildRequires: libswresample-ffmpeg-devel
BuildRequires: libswscale-ffmpeg-devel
BuildRequires: libva-devel
BuildRequires: libwebp-devel
BuildRequires: libxcb-devel
BuildRequires: libxcb-image-devel
BuildRequires: libxcb-keysyms-devel
BuildRequires: libxcb-render-util-devel
BuildRequires: libxcb-util-wm-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
BuildRequires: libbreakpad-devel
BuildRequires: libunity-devel
BuildRequires: range-v3-devel
Requires: kconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-root
@ -71,111 +56,88 @@ The official desktop client for the Telegram messenger.
%debug_package
%prep
%setup -q -c -a0 -a3 -a4 -a5
#% setup -q -c -D -T
#:<< _EOF
git clone https://chromium.googlesource.com/external/gyp gyp
mkdir -p Libraries/qt%{qt_ver}
mv qtbase-opensource-src-%{qt_ver} Libraries/qt%{qt_ver}/qtbase
mv qtimageformats-opensource-src-%{qt_ver} Libraries/qt%{qt_ver}/qtimageformats
mv qtwayland-opensource-src-%{qt_ver} Libraries/qt%{qt_ver}/qtwayland
cd Libraries/qt%{qt_ver}/qtbase
patch -p1 < ../../../tdesktop-%{version}/Telegram/Patches/qtbase_%{qt_patchver}.diff
cd ../../..
cd gyp
git apply ../tdesktop-%{version}/Telegram/Patches/gyp.diff
cd ..
ln -s ../gyp Libraries/gyp
mkdir -p Libraries/cmake-3.6.2/bin
ln -s %{_bindir}/cmake Libraries/cmake-3.6.2/bin/cmake
cd tdesktop-%{version}
#% setup -q -c -a0 -a3 -a4 -a5 -a6 -a7 -a8
%setup -q -c -D -T
:<< _EOF
mv tdesktop-%{version} tdesktop
cd tdesktop/Telegram/ThirdParty
#for f in "libtgvoip" "variant" "GSL" "Catch" "crl" "xxHash"; do
# rm -rf $f
# ln -s ../../../$f-%{version} $f
#done
cd ../..
%patch0 -p1
%patch1 -p1
cd Telegram/ThirdParty
git clone https://github.com/telegramdesktop/libtgvoip.git
git clone https://github.com/Microsoft/GSL.git
git clone https://github.com/mapbox/variant.git
git clone https://github.com/philsquared/Catch.git
cd libtgvoip
cd Telegram/ThirdParty/libtgvoip
%patch2 -p1
cd ../../..
%build
# Build patched Qt
cd Libraries/qt%{qt_ver}/qtbase
./configure \
-prefix "%{_builddir}/telegram-%{version}/qt" \
-release \
-force-debug-info \
-opensource \
-confirm-license \
-system-zlib \
-system-libpng \
-system-libjpeg \
-system-freetype \
-system-harfbuzz \
-system-pcre \
-system-xcb \
-system-xkbcommon-x11 \
-no-gtkstyle \
-static \
-nomake examples \
-nomake tests
#-no-opengl
sed -i "s|include/qt/Qt|include/qt5/Qt|g" Telegram/gyp/qt.gypi
sed -i "s|appindicator3|appindicator|" Telegram/gyp/telegram_linux.gypi
%make
#module-qtbase module-qtimageformats
make install
cd ..
git clone https://chromium.googlesource.com/external/gyp gyp
# also add /usr/bin to disable icecc
export PATH="%{_builddir}/telegram-%{version}/qt/bin:/usr/bin:$PATH"
cd ../qtimageformats
qmake .
%make
make install
cd ../qtwayland
qmake .
%make
make install
cd ../../../tdesktop-%{version}/Telegram
gyp/refresh.sh
# Build Telegram Desktop
cd gyp
../../../Libraries/gyp/gyp \
-Dlinux_path_qt="%{_builddir}/%{name}-%{version}/qt" \
-Dlinux_lib_icu="-licuuc -licutu -licui18n" \
-Dlinux_lib_ssl='-L%{_libdir}/openssl-1.0.1 -lssl' \
-Dlinux_lib_crypto='-L%{_libdir}/openssl-1.0.1 -lcrypto' \
-Dlinux_path_opus_include="%{_includedir}/opus" \
--depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=cmake
git apply ../tdesktop/Telegram/Patches/gyp.diff
cd ..
cd %{_builddir}/%{name}-%{version}/tdesktop-%{version}/out/Release
cmake .
#ln -s ../gyp Libraries/gyp
#
#mkdir -p Libraries/cmake-3.6.2/bin
#ln -s %{_bindir}/cmake Libraries/cmake-3.6.2/bin/cmake
make
chrpath --delete Telegram
%build
cd 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="%{optflags}"
export CXXFLAGS="%{optflags} -I%{_includedir}/qt5"
../gyp/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
## Build Telegram Desktop
#cd gyp
#../../../Libraries/gyp/gyp \
# -Dlinux_path_qt="%{_builddir}/%{name}-%{version}/qt" \
# -Dlinux_lib_icu="-licuuc -licutu -licui18n" \
# -Dlinux_lib_ssl='-L%{_libdir}/openssl-1.0.1 -lssl' \
# -Dlinux_lib_crypto='-L%{_libdir}/openssl-1.0.1 -lcrypto' \
# -Dlinux_path_opus_include="%{_includedir}/opus" \
# --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=cmake
cd out/Release
sed -i "s|/usr/bin/moc |/usr/bin/moc-qt5 |" CMakeLists.txt
sed -i "s|/usr/lib/qt/|%{_libdir}/qt5/|g" CMakeLists.txt
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="%{optflags} -I%{_includedir}/qt5 -I%{_includedir}/qt5/mkspecs/linux-g++"
%make
#chrpath --delete Telegram
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
cd tdesktop-%{version}
cd tdesktop
install -D -m755 out/Release/Telegram %{buildroot}%{_bindir}/telegram-desktop
install -D -m644 %{SOURCE1} %{buildroot}%{_datadir}/applications/telegram-desktop.desktop
install -D -m644 %{SOURCE2} %{buildroot}%{_kde4_servicesdir}/tg.protocol
install -D -m644 %{SOURCE2} %{buildroot}%{_kde5_servicesdir}/tg.protocol
for icon_size in 16 32 48 64 128 256 512; do
icon_dir="%{buildroot}%{_datadir}/icons/hicolor/${icon_size}x${icon_size}/apps"
@ -187,13 +149,16 @@ done
%files
%defattr(-,root,root)
%{_kde4_servicesdir}/tg.protocol
%{_bindir}/telegram-desktop
%{_kde5_servicesdir}/tg.protocol
%{_datadir}/applications/telegram-desktop.desktop
%{_datadir}/icons/hicolor/*/apps/telegram-desktop.png
%doc tdesktop-%{version}/LICENSE
%doc tdesktop/LICENSE
%changelog
* Mon Mar 18 2019 Automatic Build System <autodist@mambasoft.it> 1.5.15-1mamba
- automatic version update by autodist
* Fri Oct 27 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.23-1mamba
- update to 1.1.23