diff --git a/telegram-0.10.6-disable-unity.patch b/telegram-0.10.6-disable-unity.patch new file mode 100644 index 0000000..881de2d --- /dev/null +++ b/telegram-0.10.6-disable-unity.patch @@ -0,0 +1,10 @@ +--- 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': [ diff --git a/telegram-0.10.6-fix-build.patch b/telegram-0.10.6-fix-build.patch new file mode 100644 index 0000000..a0808a8 --- /dev/null +++ b/telegram-0.10.6-fix-build.patch @@ -0,0 +1,211 @@ +diff --git a/Telegram/gyp/Telegram.gyp b/Telegram/gyp/Telegram.gyp +index 0e8db70..2934e50 100644 +--- a/Telegram/gyp/Telegram.gyp ++++ b/Telegram/gyp/Telegram.gyp +@@ -69,19 +69,15 @@ + ], + + 'defines': [ +- 'AL_LIBTYPE_STATIC', ++ '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', + '<(minizip_loc)', ++ '/usr/include/breakpad', + ], + 'sources': [ + '<@(qrc_files)', +diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi +index ea6f0f5..dcd2cfd 100644 +--- a/Telegram/gyp/qt.gypi ++++ b/Telegram/gyp/qt.gypi +@@ -29,7 +29,6 @@ + 'Qt5Network', + 'Qt5Widgets', + 'Qt5Gui', +- 'qtharfbuzzng', + ], + 'conditions': [ + [ 'build_macold', { +@@ -78,7 +77,7 @@ + ], + }], + [ 'build_linux', { +- 'qt_loc_unix': '/usr/local/tdesktop/Qt-<(qt_version)', ++ 'qt_loc_unix': '../../../qt', + 'qt_lib_prefix': 'lib', + 'qt_lib_debug_postfix': '.a', + 'qt_lib_release_postfix': '.a', +@@ -91,21 +90,6 @@ + '<@(qt_libs)', + 'Qt5DBus', + 'Qt5Core', +- 'qtpcre', +- 'ssl', +- 'crypto', +- 'Xi', +- 'Xext', +- 'SM', +- 'ICE', +- 'fontconfig', +- 'expat', +- 'freetype', +- 'xcb', +- 'xcb-shm', +- 'xcb-xfixes', +- 'xcb-render', +- 'xcb-static', + ], + }], + ], +@@ -206,8 +190,15 @@ + '<(qt_loc)/plugins/platforms/xcb/xcb-static', + ], + 'libraries': [ +- '/usr/local/lib/libxkbcommon.a', + '<@(qt_libs_release)', ++ 'z', ++ 'pcre16', ++ 'harfbuzz', ++ 'icuuc', ++ 'icutu', ++ 'icui18n', ++ 'png16', ++ 'jpeg', + 'X11', + 'X11-xcb', + 'dbus-1', +@@ -215,6 +206,19 @@ + 'gthread-2.0', + 'glib-2.0', + 'pthread', ++ 'ssl', ++ 'crypto', ++ 'Xi', ++ 'Xext', ++ 'SM', ++ 'ICE', ++ 'fontconfig', ++ 'expat', ++ 'freetype', ++ 'xcb', ++ 'xcb-shm', ++ 'xcb-xfixes', ++ 'xcb-render', + ], + 'include_dirs': [ + '<(qt_loc)/mkspecs/linux-g++', +diff --git a/Telegram/gyp/telegram_linux.gypi b/Telegram/gyp/telegram_linux.gypi +index 15bfbb6..5992643 100644 +--- a/Telegram/gyp/telegram_linux.gypi ++++ b/Telegram/gyp/telegram_linux.gypi +@@ -29,31 +29,41 @@ + ], + }, + 'include_dirs': [ +- '/usr/local/include', +- '<(libs_loc)/openssl-xcode/include' ++ '/usr/include', + ], + 'library_dirs': [ +- '/usr/local/lib', +- '<(libs_loc)/libexif-0.6.20/libexif/.libs', +- '<(libs_loc)/breakpad/src/client/linux', ++ '/usr/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', +- 'libz.a', ++ 'xkbcommon', ++ 'xkbcommon-x11', ++ 'xcb-randr', ++ 'xcb-xinerama', ++ 'xcb-xkb', ++ 'xcb-shape', ++ 'xcb-icccm', ++ 'xcb-sync', ++ 'xcb-keysyms', ++ 'xcb-image', ++ 'xcb-render-util', ++ 'proxy', ++ 'lzma', ++ 'openal', ++ 'avformat', ++ 'avcodec', ++ 'swresample', ++ 'swscale', ++ 'avutil', ++ 'opus', ++ 'va-x11', ++ 'va-drm', ++ 'va', ++ 'z', ++ 'webp', + # ' /dev/null --libs <@(pkgconfig_libs))', + ], + 'cflags_cc': [ +diff --git a/Telegram/gyp/utils.gyp b/Telegram/gyp/utils.gyp +index 117c87a..5ff1a4c 100644 +--- a/Telegram/gyp/utils.gyp ++++ b/Telegram/gyp/utils.gyp +@@ -101,8 +101,6 @@ + }, + 'include_dirs': [ + '<(src_loc)', +- '<(libs_loc)/lzma/C', +- '<(libs_loc)/zlib-1.2.8', + ], + 'sources': [ + '<(src_loc)/_other/packer.cpp', +@@ -122,11 +120,10 @@ + ], + }, { + 'include_dirs': [ +- '/usr/local/include', +- '<(libs_loc)/openssl-xcode/include' ++ '/usr/include', + ], + 'library_dirs': [ +- '/usr/local/lib', ++ '/usr/lib', + ], + }] + ], +@@ -144,11 +141,10 @@ + ], + }, { + 'include_dirs': [ +- '/usr/local/include', +- '<(libs_loc)/openssl-xcode/include' ++ '/usr/include', + ], + 'library_dirs': [ +- '/usr/local/lib', ++ '/usr/lib', + ], + }] + ], diff --git a/telegram-0.9.32-disable-unity.patch b/telegram-0.9.32-disable-unity.patch deleted file mode 100644 index f38e5c6..0000000 --- a/telegram-0.9.32-disable-unity.patch +++ /dev/null @@ -1,103 +0,0 @@ ---- tdesktop-0.9.32/Telegram/SourceFiles/pspecific_linux.cpp.orig 2016-03-15 20:39:00.061631172 +0100 -+++ tdesktop-0.9.32/Telegram/SourceFiles/pspecific_linux.cpp 2016-03-15 20:33:31.281860615 +0100 -@@ -40,7 +40,7 @@ - } - #define signals public - --#include -+//#include - - namespace { - QByteArray escapeShell(const QByteArray &str) { -@@ -188,7 +188,7 @@ - typedef guint (*f_g_idle_add)(GSourceFunc function, gpointer data); - f_g_idle_add ps_g_idle_add = 0; - -- typedef void (*f_unity_launcher_entry_set_count)(UnityLauncherEntry* self, gint64 value); -+/* typedef void (*f_unity_launcher_entry_set_count)(UnityLauncherEntry* self, gint64 value); - f_unity_launcher_entry_set_count ps_unity_launcher_entry_set_count = 0; - - typedef void (*f_unity_launcher_entry_set_count_visible)(UnityLauncherEntry* self, gboolean value); -@@ -196,7 +196,7 @@ - - typedef UnityLauncherEntry* (*f_unity_launcher_entry_get_for_desktop_id)(const gchar* desktop_id); - f_unity_launcher_entry_get_for_desktop_id ps_unity_launcher_entry_get_for_desktop_id = 0; -- -+*/ - template - bool loadFunction(QLibrary &lib, const char *name, TFunction &func) { - if (!lib.isLoaded()) return false; -@@ -469,7 +469,7 @@ - DEBUG_LOG(("Status icon api loaded!")); - } - -- void setupUnity() { -+/* void setupUnity() { - if (noTryUnity) return; - - QLibrary lib_unity(qstr("unity"), 9, 0); -@@ -480,7 +480,7 @@ - if (!loadFunction(lib_unity, "unity_launcher_entry_set_count_visible", ps_unity_launcher_entry_set_count_visible)) return; - useUnityCount = true; - DEBUG_LOG(("Unity count api loaded!")); -- } -+ }*/ - - class _PsEventFilter : public QAbstractNativeEventFilter { - public: -@@ -496,7 +496,7 @@ - }; - _PsEventFilter *_psEventFilter = 0; - -- UnityLauncherEntry *_psUnityLauncherEntry = 0; -+// UnityLauncherEntry *_psUnityLauncherEntry = 0; - }; - - PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), -@@ -624,14 +624,14 @@ - int32 counter = App::histories().unreadBadge(); - - setWindowTitle((counter > 0) ? qsl("Telegram (%1)").arg(counter) : qsl("Telegram")); -- if (_psUnityLauncherEntry) { -+/* if (_psUnityLauncherEntry) { - if (counter > 0) { - ps_unity_launcher_entry_set_count(_psUnityLauncherEntry, (counter > 9999) ? 9999 : counter); - ps_unity_launcher_entry_set_count_visible(_psUnityLauncherEntry, TRUE); - } else { - ps_unity_launcher_entry_set_count_visible(_psUnityLauncherEntry, FALSE); - } -- } -+ }*/ - - if (noQtTrayIcon) { - if (useAppIndicator) { -@@ -828,7 +828,7 @@ - void PsMainWindow::psFirstShow() { - psCreateTrayIcon(); - -- if (useUnityCount) { -+/* if (useUnityCount) { - _psUnityLauncherEntry = ps_unity_launcher_entry_get_for_desktop_id("telegramdesktop.desktop"); - if (_psUnityLauncherEntry) { - LOG(("Found Unity Launcher entry telegramdesktop.desktop!")); -@@ -840,9 +840,9 @@ - LOG(("Could not get Unity Launcher entry!")); - } - } -- } else { -+ } else {*/ - LOG(("Not using Unity Launcher count.")); -- } -+/* }*/ - - finished = false; - -@@ -1256,7 +1256,7 @@ - - DEBUG_LOG(("Loading libraries")); - setupGtk(); -- setupUnity(); -+ //setupUnity(); - } - - void finish() { diff --git a/telegram.spec b/telegram.spec index a101070..9f38b3f 100644 --- a/telegram.spec +++ b/telegram.spec @@ -1,10 +1,10 @@ -%define qt_ver 5.5.1 +%define qt_ver 5.6.0 %define qt_patchver %(echo %qt_ver | tr . _) %define qt_majver %(echo %qt_ver | cut -d. -f1-2) Name: telegram -Version: 0.9.33 -Release: 3mamba +Version: 0.10.6 +Release: 1mamba Summary: The official desktop client for the Telegram messenger Group: Graphical Desktop/Applications/Internet Vendor: openmamba @@ -15,12 +15,13 @@ 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}/single/qt-everywhere-opensource-src-%{qt_ver}.tar.xz -Patch0: telegram-0.9.32-disable-unity.patch +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 +Patch0: telegram-0.10.6-disable-unity.patch +Patch1: telegram-0.10.6-fix-build.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: libGL-devel BuildRequires: libICE-devel BuildRequires: libSM-devel BuildRequires: libX11-devel @@ -29,32 +30,35 @@ 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: libinput-devel -BuildRequires: libjasper-devel +BuildRequires: libjpeg-devel BuildRequires: liblzma-devel -BuildRequires: libmng-devel -BuildRequires: libmtdev-devel BuildRequires: libopenal-devel BuildRequires: libopenssl-devel BuildRequires: libopus-devel +BuildRequires: libpcre-devel +BuildRequires: libpng-devel BuildRequires: libproxy-devel -BuildRequires: libstdc++6-devel BuildRequires: libswresample-ffmpeg-devel BuildRequires: libswscale-ffmpeg-devel -BuildRequires: libtiff-devel -BuildRequires: libts-devel -BuildRequires: libudev-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 Requires: kconfig BuildRoot: %{_tmppath}/%{name}-%{version}-root @@ -64,97 +68,109 @@ The official desktop client for the Telegram messenger. %debug_package %prep -%setup -q -c -a0 -a3 +%setup -q -c -a0 -a3 -a4 #% setup -q -c -D -T #:<< _EOF -git clone https://chromium.googlesource.com/breakpad/breakpad breakpad -git clone https://chromium.googlesource.com/linux-syscall-support breakpad-lss +git clone https://chromium.googlesource.com/external/gyp gyp -mkdir -p Libraries +mkdir -p Libraries/qt%{qt_ver} -mv qt-everywhere-opensource-src-%{qt_ver} Libraries/QtStatic -cd Libraries/QtStatic/qtbase -patch -p1 < ../../../tdesktop-%{version}/Telegram/_qtbase_%{qt_patchver}_patch.diff +mv qtbase-opensource-src-%{qt_ver} Libraries/qt%{qt_ver}/qtbase +mv qtimageformats-opensource-src-%{qt_ver} Libraries/qt%{qt_ver}/qtimageformats + +cd Libraries/qt%{qt_ver}/qtbase +patch -p1 < ../../../tdesktop-%{version}/Telegram/Patches/qtbase_%{qt_patchver}.diff cd ../../.. -if [ ! -h Libraries/breakpad ]; then - ln -s ../breakpad Libraries/breakpad - ln -s ../../../breakpad-lss Libraries/breakpad/src/third_party/lss -fi +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} +%patch1 -p1 %patch0 -p1 -sed -i 's/CUSTOM_API_ID//g' Telegram/Telegram.pro -sed -i 's,LIBS += /usr/local/lib/libxkbcommon.a,,g' Telegram/Telegram.pro -sed -i 's,LIBS += /usr/local/lib/libz.a,LIBS += -lz,g' Telegram/Telegram.pro - -( - echo "DEFINES += TDESKTOP_DISABLE_AUTOUPDATE" - echo "DEFINES += TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" - echo 'INCLUDEPATH += "%{_libdir}/glib-2.0/include"' - echo 'INCLUDEPATH += "%{_libdir}/gtk-2.0/include"' - echo 'INCLUDEPATH += "%{_includedir}/opus"' - echo 'LIBS += -lcrypto -lssl' -) >> Telegram/Telegram.pro +#sed -i 's/CUSTOM_API_ID//g' Telegram/Telegram.pro +#sed -i 's,LIBS += /usr/local/lib/libxkbcommon.a,,g' Telegram/Telegram.pro +#sed -i 's,LIBS += /usr/local/lib/libz.a,LIBS += -lz,g' Telegram/Telegram.pro +# +#( +# echo "DEFINES += TDESKTOP_DISABLE_AUTOUPDATE" +# echo "DEFINES += TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME" +# echo 'INCLUDEPATH += "%{_libdir}/glib-2.0/include"' + # echo 'INCLUDEPATH += "%{_libdir}/gtk-2.0/include"' +# echo 'INCLUDEPATH += "%{_includedir}/opus"' +# echo 'LIBS += -lcrypto -lssl' +#) >> Telegram/Telegram.pro %build # Build patched Qt -cd Libraries/QtStatic -./configure -prefix "%{_builddir}/telegram-%{version}/qt" -release -opensource -confirm-license -qt-zlib \ - -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \ - -qt-xkbcommon-x11 -no-opengl -static -nomake examples -nomake tests -%make module-qtbase module-qtimageformats -%make module-qtbase-install_subtargets module-qtimageformats-install_subtargets -cd ../.. +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-opengl -no-gtkstyle -static -nomake examples -nomake tests +%make +#module-qtbase module-qtimageformats +make install # also add /usr/bin to disable icecc export PATH="%{_builddir}/telegram-%{version}/qt/bin:/usr/bin:$PATH" -# Build breakpad -cd Libraries/breakpad -./configure +cd ../qtimageformats +qmake . %make -cd ../.. +make install -cd tdesktop-%{version} -# Build MetaStyle -mkdir -p Linux/DebugIntermediateStyle -cd Linux/DebugIntermediateStyle -qmake CONFIG+=debug "../../Telegram/MetaStyle.pro" +cd ../../../tdesktop-%{version}/Telegram +gyp/refresh.sh + +cd ../out/Release %make -cd ../.. +chrpath --delete Telegram -# Build MetaLang -mkdir -p Linux/DebugIntermediateLang -cd Linux/DebugIntermediateLang -qmake CONFIG+=debug "../../Telegram/MetaLang.pro" -%make -cd ../.. +## Build MetaStyle +#mkdir -p Linux/DebugIntermediateStyle +#cd Linux/DebugIntermediateStyle +#qmake CONFIG+=debug "../../Telegram/MetaStyle.pro" +#%make +#cd ../.. -# Build Telegram Desktop -mkdir -p Linux/ReleaseIntermediate -cd Linux/ReleaseIntermediate +## Build MetaLang +#mkdir -p Linux/DebugIntermediateLang +#cd Linux/DebugIntermediateLang +#qmake CONFIG+=debug "../../Telegram/MetaLang.pro" +#%make +#cd ../.. -qmake CONFIG+=release ../../Telegram/Telegram.pro -pattern="^PRE_TARGETDEPS +=" -grep "$pattern" ../../Telegram/Telegram.pro | sed "s/$pattern//g" | xargs make - -qmake CONFIG+=release ../../Telegram/Telegram.pro -%make -cd ../.. +## Build Telegram Desktop +#mkdir -p Linux/ReleaseIntermediate +#cd Linux/ReleaseIntermediate +# +#qmake CONFIG+=release ../../Telegram/Telegram.pro +#pattern="^PRE_TARGETDEPS +=" +#grep "$pattern" ../../Telegram/Telegram.pro | sed "s/$pattern//g" | xargs make +# +#qmake CONFIG+=release ../../Telegram/Telegram.pro +#%make +#cd ../.. %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" cd tdesktop-%{version} -install -D -m755 Linux/Release/Telegram %{buildroot}%{_bindir}/telegram-desktop +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 for icon_size in 16 32 48 64 128 256 512; do icon_dir="%{buildroot}%{_datadir}/icons/hicolor/${icon_size}x${icon_size}/apps" - install -D -m644 Telegram/SourceFiles/art/icon${icon_size}.png $icon_dir/telegram-desktop.png + install -D -m644 Telegram/Resources/art/icon${icon_size}.png $icon_dir/telegram-desktop.png done %clean @@ -169,6 +185,9 @@ done %doc tdesktop-%{version}/LICENSE %changelog +* Tue Sep 13 2016 Silvan Calarco 0.10.6-1mamba +- update to 0.10.6 + * Tue Mar 29 2016 Silvan Calarco 0.9.33-3mamba - rebuilt (for latest ffmpeg deps on x86_64)