AppImage: enable Wayland support (#163)

This commit is contained in:
Cyano Hao 2023-11-26 11:05:48 +08:00 committed by GitHub
parent d75f550742
commit 3aa64decda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 65 additions and 18 deletions

View File

@ -15,9 +15,7 @@ RUN yum-config-manager --enable ol7_optional_latest && \
# Qt build tools
file which \
# Qt libs
at-spi2-core-devel dbus-devel fontconfig-devel freetype-devel glib2-devel libXrender-devel libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel mesa-libGL-devel xcb-util-devel \
# fcitx5-qt build tools
cmake3 extra-cmake-modules && \
at-spi2-core-devel dbus-devel fontconfig-devel freetype-devel glib2-devel libXrender-devel libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel mesa-libGL-devel wayland-devel xcb-util-devel && \
yum clean all
ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-7/root
@ -49,8 +47,7 @@ RUN mkdir -p /build/squashfs-tools && \
# Qt 5
RUN mkdir -p /build/qt5 && \
cd /build/qt5 && \
curl -O "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/submodules/qt{base,svg,tools}-everywhere-src-${QT_VERSION}.tar.xz" && \
curl -L -o fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz "https://github.com/fcitx/fcitx5-qt/archive/refs/tags/${FCITX5_QT_VERSION}.tar.gz" && \
curl -O "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/submodules/qt{base,svg,tools,wayland}-everywhere-src-${QT_VERSION}.tar.xz" && \
tar xf qtbase-everywhere-src-${QT_VERSION}.tar.xz && \
cd qtbase-everywhere-src-${QT_VERSION} && \
./configure \
@ -75,8 +72,23 @@ RUN mkdir -p /build/qt5 && \
qmake . && \
make -j$(nproc) && \
make install && \
# fcitx5 package
# wayland package
cd /build/qt5 && \
tar xf qtwayland-everywhere-src-${QT_VERSION}.tar.xz && \
cd qtwayland-everywhere-src-${QT_VERSION} && \
qmake . && \
make -j$(nproc) && \
make install && \
# cleanup
cd / && \
rm -r /build/qt5
# fcitx5-qt
RUN yum install -y \
cmake3 extra-cmake-modules && \
mkdir -p /build/qt5 && \
cd /build/qt5 && \
curl -L -o fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz "https://github.com/fcitx/fcitx5-qt/archive/refs/tags/${FCITX5_QT_VERSION}.tar.gz" && \
tar xf fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz && \
cd fcitx5-qt-${FCITX5_QT_VERSION} && \
cmake3 . -Bbuild -DCMAKE_MODULE_PATH=/usr/local/lib/cmake -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_BUILD_TYPE=Release -DENABLE_QT4=Off -DENABLE_QT5=On -DENABLE_QT6=Off -DBUILD_ONLY_PLUGIN=On -DBUILD_STATIC_PLUGIN=On && \
@ -84,5 +96,8 @@ RUN mkdir -p /build/qt5 && \
# cmake 3.14 is too old to `--install`
cmake3 --build build -- install && \
# cleanup
yum autoremove -y \
cmake3 extra-cmake-modules && \
yum clean all && \
cd / && \
rm -r /build/qt5

View File

@ -12,9 +12,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
# Qt build tools
file \
# Qt libs
libatspi2.0-dev libdbus-1-dev libfontconfig1-dev libfreetype6-dev libgl1-mesa-dev libxkbcommon-x11-dev \
# fcitx-qt5 build tools
cmake extra-cmake-modules \
libatspi2.0-dev libdbus-1-dev libfontconfig1-dev libfreetype6-dev libgl1-mesa-dev libwayland-dev libxkbcommon-x11-dev \
# appimage tools
squashfs-tools && \
apt clean && \
@ -32,8 +30,7 @@ RUN curl -L -o /opt/appimage-runtime 'https://github.com/cyano-linux/appimage-ri
# Qt 5
RUN mkdir -p /build/qt5 && \
cd /build/qt5 && \
curl -O "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/submodules/qt{base,svg,tools}-everywhere-src-${QT_VERSION}.tar.xz" && \
curl -L -o fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz "https://github.com/fcitx/fcitx5-qt/archive/refs/tags/${FCITX5_QT_VERSION}.tar.gz" && \
curl -O "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/submodules/qt{base,svg,tools,wayland}-everywhere-src-${QT_VERSION}.tar.xz" && \
tar xf qtbase-everywhere-src-${QT_VERSION}.tar.xz && \
cd qtbase-everywhere-src-${QT_VERSION} && \
./configure \
@ -58,13 +55,33 @@ RUN mkdir -p /build/qt5 && \
qmake . && \
make -j$(nproc) && \
make install && \
# fcitx5 package
# wayland package
cd /build/qt5 && \
tar xf qtwayland-everywhere-src-${QT_VERSION}.tar.xz && \
cd qtwayland-everywhere-src-${QT_VERSION} && \
qmake . && \
make -j$(nproc) && \
make install && \
# cleanup
cd / && \
rm -r /build/qt5
# fcitx5-qt
RUN export DEBIAN_FRONTEND=noninteractive && \
apt update && \
apt install --no-install-recommends -y \
cmake extra-cmake-modules && \
mkdir -p /build/qt5 && \
cd /build/qt5 && \
curl -L -o fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz "https://github.com/fcitx/fcitx5-qt/archive/refs/tags/${FCITX5_QT_VERSION}.tar.gz" && \
tar xf fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz && \
cd fcitx5-qt-${FCITX5_QT_VERSION} && \
cmake . -Bbuild -DCMAKE_MODULE_PATH=/usr/local/lib/cmake -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_BUILD_TYPE=Release -DENABLE_QT4=Off -DENABLE_QT5=On -DENABLE_QT6=Off -DBUILD_ONLY_PLUGIN=On -DBUILD_STATIC_PLUGIN=On && \
cmake --build build --parallel && \
cmake --install build && \
# cleanup
apt autoremove --purge -y \
cmake extra-cmake-modules && \
rm -rf /var/lib/apt/lists/* && \
cd / && \
rm -r /build/qt5

View File

@ -13,9 +13,7 @@ RUN yum install -y centos-release-scl-rh epel-release && \
# Qt build tools
file which \
# Qt libs
at-spi2-core-devel dbus-devel fontconfig-devel freetype-devel glib2-devel libXrender-devel libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel mesa-libGL-devel xcb-util-devel \
# fcitx5-qt build tools
cmake3 extra-cmake-modules && \
at-spi2-core-devel dbus-devel fontconfig-devel freetype-devel glib2-devel libXrender-devel libxcb-devel libxkbcommon-devel libxkbcommon-x11-devel mesa-libGL-devel wayland-devel xcb-util-devel && \
yum clean all
ARG DEVTOOLSET_ROOTPATH=/opt/rh/devtoolset-7/root
@ -47,8 +45,7 @@ RUN mkdir -p /build/squashfs-tools && \
# Qt 5
RUN mkdir -p /build/qt5 && \
cd /build/qt5 && \
curl -O "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/submodules/qt{base,svg,tools}-everywhere-src-${QT_VERSION}.tar.xz" && \
curl -L -o fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz "https://github.com/fcitx/fcitx5-qt/archive/refs/tags/${FCITX5_QT_VERSION}.tar.gz" && \
curl -O "https://download.qt.io/archive/qt/${QT_MAJOR_MINOR}/${QT_VERSION}/submodules/qt{base,svg,tools,wayland}-everywhere-src-${QT_VERSION}.tar.xz" && \
tar xf qtbase-everywhere-src-${QT_VERSION}.tar.xz && \
cd qtbase-everywhere-src-${QT_VERSION} && \
./configure \
@ -73,13 +70,31 @@ RUN mkdir -p /build/qt5 && \
qmake . && \
make -j$(nproc) && \
make install && \
# fcitx5 package
# wayland package
cd /build/qt5 && \
tar xf qtwayland-everywhere-src-${QT_VERSION}.tar.xz && \
cd qtwayland-everywhere-src-${QT_VERSION} && \
qmake . && \
make -j$(nproc) && \
make install && \
# cleanup
cd / && \
rm -r /build/qt5
# fcitx5-qt
RUN yum install -y \
cmake3 extra-cmake-modules && \
mkdir -p /build/qt5 && \
cd /build/qt5 && \
curl -L -o fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz "https://github.com/fcitx/fcitx5-qt/archive/refs/tags/${FCITX5_QT_VERSION}.tar.gz" && \
tar xf fcitx5-qt-${FCITX5_QT_VERSION}.tar.gz && \
cd fcitx5-qt-${FCITX5_QT_VERSION} && \
cmake3 . -Bbuild -DCMAKE_MODULE_PATH=/usr/local/lib/cmake -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_BUILD_TYPE=Release -DENABLE_QT4=Off -DENABLE_QT5=On -DENABLE_QT6=Off -DBUILD_ONLY_PLUGIN=On -DBUILD_STATIC_PLUGIN=On && \
cmake3 --build build --parallel && \
cmake3 --install build && \
# cleanup
yum autoremove -y \
cmake3 extra-cmake-modules && \
yum clean all && \
cd / && \
rm -r /build/qt5