diff --git a/.gitmodules b/.gitmodules index 38c5797e8..20bf11a83 100644 --- a/.gitmodules +++ b/.gitmodules @@ -94,3 +94,6 @@ [submodule "Telegram/ThirdParty/jemalloc"] path = Telegram/ThirdParty/jemalloc url = https://github.com/jemalloc/jemalloc +[submodule "Telegram/ThirdParty/kwayland"] + path = Telegram/ThirdParty/kwayland + url = https://github.com/KDE/kwayland.git diff --git a/Telegram/ThirdParty/kwayland b/Telegram/ThirdParty/kwayland new file mode 160000 index 000000000..31e2e6cb5 --- /dev/null +++ b/Telegram/ThirdParty/kwayland @@ -0,0 +1 @@ +Subproject commit 31e2e6cb59eb4b72392caa703909ef22cf06bcb7 diff --git a/Telegram/build/docker/centos_env/Dockerfile b/Telegram/build/docker/centos_env/Dockerfile index 559a61a5e..9265f6f0d 100644 --- a/Telegram/build/docker/centos_env/Dockerfile +++ b/Telegram/build/docker/centos_env/Dockerfile @@ -24,7 +24,7 @@ RUN yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.n RUN yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm && yum clean all RUN yum -y install centos-release-scl && yum clean all -RUN yum -y install git meson ninja-build autoconf automake libtool \ +RUN yum -y install git meson ninja-build autoconf automake libtool patch \ fontconfig-devel freetype-devel libX11-devel at-spi2-core-devel alsa-lib-devel \ pulseaudio-libs-devel mesa-libGL-devel mesa-libEGL-devel gtk3-devel \ perl-XML-Parser pkgconfig bison yasm file which xorg-x11-util-macros \ @@ -766,38 +766,6 @@ RUN [ -z "${QT6}" ] || DESTDIR="$LibrariesPath/qt-cache" cmake --install . WORKDIR .. RUN [ -z "${QT6}" ] || rm -rf qt_${QT6_VER} -FROM patches AS kwayland -ARG QT6 - -COPY --from=extra-cmake-modules ${LibrariesPath}/extra-cmake-modules-cache / -COPY --from=libffi ${LibrariesPath}/libffi-cache / -COPY --from=zlib ${LibrariesPath}/zlib-cache / -COPY --from=libproxy ${LibrariesPath}/libproxy-cache / -COPY --from=mozjpeg ${LibrariesPath}/mozjpeg-cache / -COPY --from=xcb ${LibrariesPath}/xcb-cache / -COPY --from=xcb-wm ${LibrariesPath}/xcb-wm-cache / -COPY --from=xcb-util ${LibrariesPath}/xcb-util-cache / -COPY --from=xcb-image ${LibrariesPath}/xcb-image-cache / -COPY --from=xcb-keysyms ${LibrariesPath}/xcb-keysyms-cache / -COPY --from=xcb-render-util ${LibrariesPath}/xcb-render-util-cache / -COPY --from=wayland ${LibrariesPath}/wayland-cache / -COPY --from=wayland-protocols ${LibrariesPath}/wayland-protocols-cache / -COPY --from=plasma-wayland-protocols ${LibrariesPath}/plasma-wayland-protocols-cache / -COPY --from=openssl ${LibrariesPath}/openssl-cache / -COPY --from=xkbcommon ${LibrariesPath}/xkbcommon-cache / -COPY --from=qt ${LibrariesPath}/qt-cache / - -RUN git clone -b v5.87.0 --depth=1 $GIT/KDE/kwayland.git - -WORKDIR kwayland -RUN [ -z "${QT6}" ] || git apply ../patches/kwayland-qt6.patch -RUN cmake -GNinja -B build . -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -RUN cmake --build build --target KF5WaylandClient --parallel -RUN DESTDIR="$LibrariesPath/kwayland-cache" cmake --install build/src/client - -WORKDIR .. -RUN rm -rf kwayland - FROM patches AS breakpad RUN git clone https://chromium.googlesource.com/breakpad/breakpad.git @@ -880,6 +848,8 @@ COPY --from=libXrender ${LibrariesPath}/libXrender-cache / COPY --from=libXdamage ${LibrariesPath}/libXdamage-cache / COPY --from=libXcomposite ${LibrariesPath}/libXcomposite-cache / COPY --from=wayland ${LibrariesPath}/wayland-cache / +COPY --from=wayland-protocols ${LibrariesPath}/wayland-protocols-cache / +COPY --from=plasma-wayland-protocols ${LibrariesPath}/plasma-wayland-protocols-cache / COPY --from=libpciaccess ${LibrariesPath}/libpciaccess-cache / COPY --from=drm ${LibrariesPath}/drm-cache / COPY --from=libva ${LibrariesPath}/libva-cache / @@ -892,7 +862,6 @@ COPY --from=xkbcommon ${LibrariesPath}/xkbcommon-cache / COPY --from=libsigcplusplus ${LibrariesPath}/libsigcplusplus-cache / COPY --from=glibmm ${LibrariesPath}/glibmm-cache / COPY --from=qt ${LibrariesPath}/qt-cache / -COPY --from=kwayland ${LibrariesPath}/kwayland-cache / COPY --from=breakpad ${LibrariesPath}/breakpad breakpad COPY --from=breakpad ${LibrariesPath}/breakpad-cache / COPY --from=webrtc ${LibrariesPath}/tg_owt tg_owt diff --git a/cmake b/cmake index c2b070275..857a31aec 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit c2b070275eecb546b9899495090d27ce55384917 +Subproject commit 857a31aec6e18541939a82ad70e243b9eb04636b diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index dd7414550..babaa3b36 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -100,10 +100,12 @@ parts: - libopus-dev - libpulse-dev - libssl-dev + - libwayland-dev - libxcb1-dev - libxcb-keysyms1-dev - libxcb-record0-dev - libxcb-screensaver0-dev + - wayland-protocols - zlib1g-dev stage-packages: - libasound2 @@ -112,6 +114,7 @@ parts: - libopus0 - libpulse0 - libssl1.1 + - libwayland-client0 - libwebkit2gtk-4.0-37 - libxcb1 - libxcb-keysyms1 @@ -153,9 +156,9 @@ parts: - desktop-qt - extra-cmake-modules - ffmpeg - - kwayland - mozjpeg - openal + - plasma-wayland-protocols - rnnoise - webrtc @@ -239,37 +242,6 @@ parts: after: - mozjpeg - kwayland: - source: https://github.com/KDE/kwayland.git - source-depth: 1 - source-tag: v5.87.0 - plugin: cmake - build-packages: - - libwayland-dev - - wayland-protocols - stage-packages: - - libwayland-client0 - - libwayland-server0 - cmake-parameters: - - -DCMAKE_BUILD_TYPE=Release - - -DCMAKE_INSTALL_PREFIX=/usr - - -DBUILD_TESTING=OFF - override-pull: | - snapcraftctl pull - patch -p1 < $SNAPCRAFT_STAGE/patches/kwayland-qt6.patch - prime: - - -./usr/include - - -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libexec - - -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pkgconfig - - -./usr/lib/$SNAPCRAFT_ARCH_TRIPLET/*.so - - -./usr/mkspecs - - -./usr/share - after: - - extra-cmake-modules - - desktop-qt - - patches - - plasma-wayland-protocols - mozjpeg: source: https://github.com/mozilla/mozjpeg.git source-depth: 1