mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Build kwayland as external project
This will simplify packaged Qt 6 build
This commit is contained in:
parent
fedd21b0a6
commit
a8f05a01ed
5 changed files with 12 additions and 67 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -94,3 +94,6 @@
|
||||||
[submodule "Telegram/ThirdParty/jemalloc"]
|
[submodule "Telegram/ThirdParty/jemalloc"]
|
||||||
path = Telegram/ThirdParty/jemalloc
|
path = Telegram/ThirdParty/jemalloc
|
||||||
url = https://github.com/jemalloc/jemalloc
|
url = https://github.com/jemalloc/jemalloc
|
||||||
|
[submodule "Telegram/ThirdParty/kwayland"]
|
||||||
|
path = Telegram/ThirdParty/kwayland
|
||||||
|
url = https://github.com/KDE/kwayland.git
|
||||||
|
|
1
Telegram/ThirdParty/kwayland
vendored
Submodule
1
Telegram/ThirdParty/kwayland
vendored
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 31e2e6cb59eb4b72392caa703909ef22cf06bcb7
|
|
@ -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 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 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 \
|
fontconfig-devel freetype-devel libX11-devel at-spi2-core-devel alsa-lib-devel \
|
||||||
pulseaudio-libs-devel mesa-libGL-devel mesa-libEGL-devel gtk3-devel \
|
pulseaudio-libs-devel mesa-libGL-devel mesa-libEGL-devel gtk3-devel \
|
||||||
perl-XML-Parser pkgconfig bison yasm file which xorg-x11-util-macros \
|
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 ..
|
WORKDIR ..
|
||||||
RUN [ -z "${QT6}" ] || rm -rf qt_${QT6_VER}
|
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
|
FROM patches AS breakpad
|
||||||
RUN git clone https://chromium.googlesource.com/breakpad/breakpad.git
|
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=libXdamage ${LibrariesPath}/libXdamage-cache /
|
||||||
COPY --from=libXcomposite ${LibrariesPath}/libXcomposite-cache /
|
COPY --from=libXcomposite ${LibrariesPath}/libXcomposite-cache /
|
||||||
COPY --from=wayland ${LibrariesPath}/wayland-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=libpciaccess ${LibrariesPath}/libpciaccess-cache /
|
||||||
COPY --from=drm ${LibrariesPath}/drm-cache /
|
COPY --from=drm ${LibrariesPath}/drm-cache /
|
||||||
COPY --from=libva ${LibrariesPath}/libva-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=libsigcplusplus ${LibrariesPath}/libsigcplusplus-cache /
|
||||||
COPY --from=glibmm ${LibrariesPath}/glibmm-cache /
|
COPY --from=glibmm ${LibrariesPath}/glibmm-cache /
|
||||||
COPY --from=qt ${LibrariesPath}/qt-cache /
|
COPY --from=qt ${LibrariesPath}/qt-cache /
|
||||||
COPY --from=kwayland ${LibrariesPath}/kwayland-cache /
|
|
||||||
COPY --from=breakpad ${LibrariesPath}/breakpad breakpad
|
COPY --from=breakpad ${LibrariesPath}/breakpad breakpad
|
||||||
COPY --from=breakpad ${LibrariesPath}/breakpad-cache /
|
COPY --from=breakpad ${LibrariesPath}/breakpad-cache /
|
||||||
COPY --from=webrtc ${LibrariesPath}/tg_owt tg_owt
|
COPY --from=webrtc ${LibrariesPath}/tg_owt tg_owt
|
||||||
|
|
2
cmake
2
cmake
|
@ -1 +1 @@
|
||||||
Subproject commit c2b070275eecb546b9899495090d27ce55384917
|
Subproject commit 857a31aec6e18541939a82ad70e243b9eb04636b
|
|
@ -100,10 +100,12 @@ parts:
|
||||||
- libopus-dev
|
- libopus-dev
|
||||||
- libpulse-dev
|
- libpulse-dev
|
||||||
- libssl-dev
|
- libssl-dev
|
||||||
|
- libwayland-dev
|
||||||
- libxcb1-dev
|
- libxcb1-dev
|
||||||
- libxcb-keysyms1-dev
|
- libxcb-keysyms1-dev
|
||||||
- libxcb-record0-dev
|
- libxcb-record0-dev
|
||||||
- libxcb-screensaver0-dev
|
- libxcb-screensaver0-dev
|
||||||
|
- wayland-protocols
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
stage-packages:
|
stage-packages:
|
||||||
- libasound2
|
- libasound2
|
||||||
|
@ -112,6 +114,7 @@ parts:
|
||||||
- libopus0
|
- libopus0
|
||||||
- libpulse0
|
- libpulse0
|
||||||
- libssl1.1
|
- libssl1.1
|
||||||
|
- libwayland-client0
|
||||||
- libwebkit2gtk-4.0-37
|
- libwebkit2gtk-4.0-37
|
||||||
- libxcb1
|
- libxcb1
|
||||||
- libxcb-keysyms1
|
- libxcb-keysyms1
|
||||||
|
@ -153,9 +156,9 @@ parts:
|
||||||
- desktop-qt
|
- desktop-qt
|
||||||
- extra-cmake-modules
|
- extra-cmake-modules
|
||||||
- ffmpeg
|
- ffmpeg
|
||||||
- kwayland
|
|
||||||
- mozjpeg
|
- mozjpeg
|
||||||
- openal
|
- openal
|
||||||
|
- plasma-wayland-protocols
|
||||||
- rnnoise
|
- rnnoise
|
||||||
- webrtc
|
- webrtc
|
||||||
|
|
||||||
|
@ -239,37 +242,6 @@ parts:
|
||||||
after:
|
after:
|
||||||
- mozjpeg
|
- 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:
|
mozjpeg:
|
||||||
source: https://github.com/mozilla/mozjpeg.git
|
source: https://github.com/mozilla/mozjpeg.git
|
||||||
source-depth: 1
|
source-depth: 1
|
||||||
|
|
Loading…
Add table
Reference in a new issue