diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 3fd97931b5..e97ffe76f9 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -31,7 +31,7 @@ jobs: CMAKE_VER: "3.16.3" UPLOAD_ARTIFACT: "false" ONLY_CACHE: "false" - MANUAL_CACHING: "5" + MANUAL_CACHING: "6" DOC_PATH: "docs/building-cmake.md" steps: @@ -55,13 +55,13 @@ jobs: sudo apt-get install software-properties-common -y && \ sudo apt-get install git libexif-dev liblzma-dev libz-dev libssl-dev \ libgtk2.0-dev libice-dev libsm-dev libicu-dev libdrm-dev dh-autoreconf \ - autoconf automake build-essential libass-dev libfreetype6-dev \ + autoconf automake build-essential libxml2-dev libass-dev libfreetype6-dev \ libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ libvorbis-dev libenchant-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \ libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libatspi2.0-dev \ libxcb-render-util0-dev libxcb-util0-dev libxcb-xkb-dev libxrender-dev \ - libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev bison \ - libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html yasm \ + libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev libegl1-mesa-dev \ + libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html bison yasm \ zlib1g-dev xutils-dev python-xcbgen chrpath gperf wget -y --force-yes && \ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \ sudo apt-get update && \ @@ -350,6 +350,18 @@ jobs: cd .. rm -rf libxkbcommon + - name: Libwayland. + run: | + cd $LibrariesPath + + git clone -b 1.16 https://gitlab.freedesktop.org/wayland/wayland + cd wayland + ./autogen.sh --enable-static --disable-documentation + make -j$(nproc) + sudo make install + cd .. + rm -rf wayland + - name: Qt 5.12.5 cache. id: cache-qt uses: actions/cache@v1 @@ -363,8 +375,8 @@ jobs: git clone -b v5.12.5 --depth=1 git://code.qt.io/qt/qt5.git qt_${QT} cd qt_${QT} - perl init-repository --module-subset=qtbase,qtimageformats,qtsvg - git submodule update qtbase qtimageformats qtsvg + perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg + git submodule update qtbase qtwayland qtimageformats qtsvg cd qtbase git apply ../../patches/qtbase_${QT}.diff cd src/plugins/platforminputcontexts @@ -386,7 +398,6 @@ jobs: -qt-xcb \ -system-freetype \ -fontconfig \ - -no-opengl \ -no-gtk \ -static \ -dbus-runtime \ diff --git a/Telegram/SourceFiles/qt_static_plugins.cpp b/Telegram/SourceFiles/qt_static_plugins.cpp index 8d3e03633c..6cfb245598 100644 --- a/Telegram/SourceFiles/qt_static_plugins.cpp +++ b/Telegram/SourceFiles/qt_static_plugins.cpp @@ -20,7 +20,19 @@ Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) Q_IMPORT_PLUGIN(QGenericEnginePlugin) #elif defined Q_OS_LINUX // Q_OS_WIN | Q_OS_MAC +Q_IMPORT_PLUGIN(ShmServerBufferPlugin) +Q_IMPORT_PLUGIN(DmaBufServerBufferPlugin) +Q_IMPORT_PLUGIN(DrmEglServerBufferPlugin) +Q_IMPORT_PLUGIN(QWaylandEglClientBufferPlugin) +Q_IMPORT_PLUGIN(QWaylandIviShellIntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandWlShellIntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandXdgShellV5IntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandXdgShellV6IntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandXdgShellIntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandBradientDecorationPlugin) Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandIntegrationPlugin) +Q_IMPORT_PLUGIN(QWaylandEglPlatformIntegrationPlugin) Q_IMPORT_PLUGIN(QGenericEnginePlugin) Q_IMPORT_PLUGIN(QComposePlatformInputContextPlugin) Q_IMPORT_PLUGIN(QSvgIconPlugin) diff --git a/Telegram/SourceFiles/stdafx.h b/Telegram/SourceFiles/stdafx.h index ccba4b9bce..5e5d6ead2e 100644 --- a/Telegram/SourceFiles/stdafx.h +++ b/Telegram/SourceFiles/stdafx.h @@ -78,10 +78,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include #endif // OS_MAC_OLD -// Fix Google Breakpad build for Mac App Store version -#ifdef Q_OS_MAC +// Fix Google Breakpad build for Mac App Store and Linux version +#if defined Q_OS_MAC || defined Q_OS_LINUX #define __STDC_FORMAT_MACROS -#endif // Q_OS_MAC +#endif // Q_OS_MAC || Q_OS_LINUX #include #include diff --git a/docs/building-cmake.md b/docs/building-cmake.md index 32661ef664..af59c2d305 100644 --- a/docs/building-cmake.md +++ b/docs/building-cmake.md @@ -15,13 +15,13 @@ You will need GCC 8 installed. To install them and all the required dependencies sudo apt-get install software-properties-common -y && \ sudo apt-get install git libexif-dev liblzma-dev libz-dev libssl-dev \ libgtk2.0-dev libice-dev libsm-dev libicu-dev libdrm-dev dh-autoreconf \ - autoconf automake build-essential libass-dev libfreetype6-dev \ + autoconf automake build-essential libxml2-dev libass-dev libfreetype6-dev \ libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ libvorbis-dev libenchant-dev libxcb1-dev libxcb-image0-dev libxcb-shm0-dev \ libxcb-xfixes0-dev libxcb-keysyms1-dev libxcb-icccm4-dev libatspi2.0-dev \ libxcb-render-util0-dev libxcb-util0-dev libxcb-xkb-dev libxrender-dev \ - libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev bison \ - libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html yasm \ + libasound-dev libpulse-dev libxcb-sync0-dev libxcb-randr0-dev libegl1-mesa-dev \ + libx11-xcb-dev libffi-dev libncurses5-dev pkg-config texi2html bison yasm \ zlib1g-dev xutils-dev python-xcbgen chrpath gperf -y --force-yes && \ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y && \ sudo apt-get update && \ @@ -225,11 +225,19 @@ Go to ***BuildPath*** and run sudo make install cd .. + git clone -b 1.16 https://gitlab.freedesktop.org/wayland/wayland + cd wayland + ./autogen.sh --enable-static --disable-documentation + make -j$(nproc) + sudo make install + cd .. + git clone git://code.qt.io/qt/qt5.git qt_5_12_5 cd qt_5_12_5 - perl init-repository --module-subset=qtbase,qtimageformats,qtsvg + perl init-repository --module-subset=qtbase,qtwayland,qtimageformats,qtsvg git checkout v5.12.5 git submodule update qtbase + git submodule update qtwayland git submodule update qtimageformats git submodule update qtsvg cd qtbase @@ -254,7 +262,6 @@ Go to ***BuildPath*** and run -qt-xcb \ -system-freetype \ -fontconfig \ - -no-opengl \ -no-gtk \ -static \ -dbus-runtime \