diff options
Diffstat (limited to 'Avoid-depending-on-static-libraries.patch')
-rw-r--r-- | Avoid-depending-on-static-libraries.patch | 353 |
1 files changed, 0 insertions, 353 deletions
diff --git a/Avoid-depending-on-static-libraries.patch b/Avoid-depending-on-static-libraries.patch deleted file mode 100644 index afb0232f5e4d..000000000000 --- a/Avoid-depending-on-static-libraries.patch +++ /dev/null @@ -1,353 +0,0 @@ -Description: Eliminates dependencies from static Qt and other libraries -Author: Nicholas Guriev <guriev-ns@ya.ru> -Last-Update: 2017-01-31 - -diff --git a/Telegram/SourceFiles/main.cpp b/Telegram/SourceFiles/main.cpp -index 0c31e9b..3f9c0e4 100644 ---- a/Telegram/SourceFiles/main.cpp -+++ b/Telegram/SourceFiles/main.cpp -@@ -45,6 +45,11 @@ int main(int argc, char *argv[]) { - Logs::start(); // 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); -+ - int result = 0; - { - Application app(argc, argv); -diff --git a/Telegram/SourceFiles/platform/linux/linux_libs.h b/Telegram/SourceFiles/platform/linux/linux_libs.h -index 1ecae70..e835c31 100644 ---- a/Telegram/SourceFiles/platform/linux/linux_libs.h -+++ b/Telegram/SourceFiles/platform/linux/linux_libs.h -@@ -29,7 +29,7 @@ extern "C" { - } // extern "C" - - #ifndef TDESKTOP_DISABLE_UNITY_INTEGRATION --#include <unity/unity/unity.h> -+typedef void UnityLauncherEntry; - #endif // !TDESKTOP_DISABLE_UNITY_INTEGRATION - - namespace Platform { -diff --git a/Telegram/SourceFiles/stdafx.cpp b/Telegram/SourceFiles/stdafx.cpp -index 3cc98b8..7afd662 100644 ---- a/Telegram/SourceFiles/stdafx.cpp -+++ b/Telegram/SourceFiles/stdafx.cpp -@@ -16,28 +16,70 @@ In addition, as a special exception, the copyright holders give permission - to link the code of portions of this program with the OpenSSL library. - - Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE --Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org -+Copyright (c) 2009-2017 Various Qt Authors - */ - #include "stdafx.h" --#include <QtCore/QtPlugin> -- --#ifdef Q_OS_WINRT --//Q_IMPORT_PLUGIN(QWinRTIntegrationPlugin) --//Q_IMPORT_PLUGIN(QWbmpPlugin) --#elif defined Q_OS_WIN // Q_OS_WINRT --Q_IMPORT_PLUGIN(QWebpPlugin) --Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) --#elif defined Q_OS_MAC // Q_OS_WIN --Q_IMPORT_PLUGIN(QWebpPlugin) --Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) --Q_IMPORT_PLUGIN(QGenericEnginePlugin) --#elif defined Q_OS_LINUX // Q_OS_LINUX --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) --#endif -+ -+/* This file contains some code from Qt source to ensure successful build. -+ * 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/ui/text/text_block.cpp b/Telegram/SourceFiles/ui/text/text_block.cpp -index d7597f8..3a50097 100644 ---- a/Telegram/SourceFiles/ui/text/text_block.cpp -+++ b/Telegram/SourceFiles/ui/text/text_block.cpp -@@ -335,7 +335,7 @@ TextBlock::TextBlock(const style::font &font, const QString &str, QFixed minResi - SignalHandlers::setCrashAnnotationRef("CrashString", &part); - - QStackTextEngine engine(part, blockFont->f); -- QTextLayout layout(&engine); -+ QTextLayout layout(part, blockFont->f); - layout.beginLayout(); - layout.createLine(); - -diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp -index 2503f1e..92415ea 100644 ---- a/Telegram/gyp/Telegram.gyp -+++ b/Telegram/gyp/Telegram.gyp -@@ -79,20 +80,16 @@ - ], - - 'defines': [ -- 'AL_LIBTYPE_STATIC', - '<!@(python -c "for s in \'<(build_defines)\'.split(\',\'): print(s)")', -+ 'TDESKTOP_DISABLE_AUTOUPDATE', -+ 'TDESKTOP_DISABLE_CRASH_REPORTS', -+ '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', -- '<(minizip_loc)', -+ '/usr/include/minizip', - '<(sp_media_key_tap_loc)', - ], - 'sources': [ -@@ -631,13 +625,6 @@ - }], - [ '"<(build_win)" != "1"', { - 'sources': [ -- '<(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', - ], - 'sources!': [ - '<(src_loc)/pspecific_win.cpp', -diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi -index 24ededb..0cfd178 100644 ---- a/Telegram/gyp/qt.gypi -+++ b/Telegram/gyp/qt.gypi -@@ -27,21 +27,18 @@ - [ 'build_macold', { - 'qt_version%': '5.3.2', - }, { -- 'qt_version%': '5.6.2', -+ 'qt_version%': '5.8.0', - }] - ], - }, - 'qt_libs': [ -- 'qwebp', - 'Qt5PrintSupport', -- 'Qt5PlatformSupport', - 'Qt5Network', - 'Qt5Widgets', - 'Qt5Gui', -- 'qtharfbuzzng', - ], - 'qt_version%': '<(qt_version)', -- 'linux_path_qt%': '/usr/local/tdesktop/Qt-<(qt_version)', -+ 'linux_path_qt%': '/usr/lib/qt', - }, - 'qt_version%': '<(qt_version)', - 'qt_loc_unix': '<(linux_path_qt)', -@@ -79,19 +77,14 @@ - ], - }], - [ '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', -@@ -103,7 +96,6 @@ - 'xcb-shm', - 'xcb-xfixes', - 'xcb-render', -- 'xcb-static', - ], - }], - ], -@@ -130,9 +122,9 @@ - ], - - '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%': '/usr/lib/libicutu.a /usr/lib/libicui18n.a /usr/lib/libicuuc.a /usr/lib/libicudata.a', -+ 'linux_lib_ssl%': 'ssl', -+ 'linux_lib_crypto%': 'crypto', -+ 'linux_lib_icu%': 'icutu icui18n icuuc icudata', - }, - - 'configurations': { -@@ -181,13 +173,13 @@ - }, - - 'include_dirs': [ -- '<(qt_loc)/include', -- '<(qt_loc)/include/QtCore', -- '<(qt_loc)/include/QtGui', -- '<(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/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', -@@ -208,7 +200,7 @@ - '<(qt_loc)/plugins/platforminputcontexts', - ], - 'libraries': [ -- '<(linux_path_xkbcommon)/lib/libxkbcommon.a', -+ 'xkbcommon', - '<@(qt_libs_release)', - '<(linux_lib_ssl)', - '<(linux_lib_crypto)', -@@ -226,7 +218,6 @@ - '<(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 3356b97..20b4732 100644 ---- a/Telegram/gyp/settings_linux.gypi -+++ b/Telegram/gyp/settings_linux.gypi -@@ -60,7 +60,6 @@ - ], - 'defines': [ - '_REENTRANT', -- 'QT_STATICPLUGIN', - 'QT_PLUGIN', - ], - 'cflags': [ -diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi -index b42e744..29386a9 100644 ---- a/Telegram/gyp/telegram_linux.gypi -+++ b/Telegram/gyp/telegram_linux.gypi -@@ -50,24 +50,21 @@ - '<(linux_path_breakpad)/lib', - ], - 'libraries': [ -- 'breakpad_client', -- 'composeplatforminputcontextplugin', -- 'ibusplatforminputcontextplugin', -- 'fcitxplatforminputcontextplugin', -- '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', -+ 'lzma', -+ 'openal', -+ 'avformat', -+ 'avcodec', -+ 'swresample', -+ 'swscale', -+ 'avutil', -+ 'opus', -+ 'va-x11', -+ 'va-drm', -+ 'va', -+ 'vdpau', -+ 'drm', -+ 'z', -+ 'minizip', - # '<!(pkg-config 2> /dev/null --libs <@(pkgconfig_libs))', - ], - 'cflags_cc': [ |