From 3aa64decdaa8a30c61de569e5934f61fca130065 Mon Sep 17 00:00:00 2001 From: Cyano Hao Date: Sun, 26 Nov 2023 11:05:48 +0800 Subject: [PATCH] AppImage: enable Wayland support (#163) --- .../appimage/dockerfile-aarch64/Dockerfile | 27 +++++++++++++---- .../appimage/dockerfile-riscv64/Dockerfile | 29 +++++++++++++++---- .../appimage/dockerfile-x86_64/Dockerfile | 27 +++++++++++++---- 3 files changed, 65 insertions(+), 18 deletions(-) diff --git a/packages/appimage/dockerfile-aarch64/Dockerfile b/packages/appimage/dockerfile-aarch64/Dockerfile index 701900e8..9e5534c1 100644 --- a/packages/appimage/dockerfile-aarch64/Dockerfile +++ b/packages/appimage/dockerfile-aarch64/Dockerfile @@ -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 diff --git a/packages/appimage/dockerfile-riscv64/Dockerfile b/packages/appimage/dockerfile-riscv64/Dockerfile index 4c3acbc2..adce9c2f 100644 --- a/packages/appimage/dockerfile-riscv64/Dockerfile +++ b/packages/appimage/dockerfile-riscv64/Dockerfile @@ -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 diff --git a/packages/appimage/dockerfile-x86_64/Dockerfile b/packages/appimage/dockerfile-x86_64/Dockerfile index b6f789e6..73055843 100644 --- a/packages/appimage/dockerfile-x86_64/Dockerfile +++ b/packages/appimage/dockerfile-x86_64/Dockerfile @@ -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