Repository: AOSC-Dev/aosc-os-abbs
Pull request #10161: qt-6-doc: new, 6.8.2-1
Author: login: prcups
Labels: name: new-package
description: New AOSC OS package
Created: 2025-03-20T07:03:10Z | Merged: 2025-03-27T00:53:18Z

Topic Description
-----------------

- qt-6-doc: new, 6.8.2-1
- qt-5-doc: split global file to qt-5

Package(s) Affected
-------------------

- qt-5: 1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121-1
- qt-5-doc: 1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121-1
- qt-6: 6.8.2-1
- qt-6-doc: 6.8.2-1

Security Update?
----------------

No

Build Order
-----------

```
#buildit qt-5 qt-5-doc qt-6 qt-6-doc
```

Test Build(s) Done
------------------

**Primary Architectures**

- [x] AMD64 `amd64`
- [x] AArch64 `arm64`
- [x] LoongArch 64-bit `loongarch64`

**Secondary Architectures**

- [x] Loongson 3 `loongson3`
- [x] PowerPC 64-bit (Little Endian) `ppc64el`
- [x] RISC-V 64-bit `riscv64`



Diff:
diff --git a/runtime-desktop/qt-5/01-runtime/build b/runtime-desktop/qt-5/01-runtime/build
index 9d90dd5fcca1..d22443ec01c5 100644
--- a/runtime-desktop/qt-5/01-runtime/build
+++ b/runtime-desktop/qt-5/01-runtime/build
@@ -1,7 +1,3 @@
-# Save PKGDIR.
-export ORIG_PKGDIR="$PKGDIR"
-export PKGDIR="$SRCDIR"/tmp_installroot
-
 if [[ "${CROSS:-$ARCH}" != "amd64" && "${CROSS:-$ARCH}" != "arm64" ]]; then
     abinfo "FIXME: Skipping QtWebEngine on loongson3, ppc64el and riscv64 ..."
     QTWEOPT="-skip qtwebengine"
@@ -50,6 +46,7 @@ abinfo "Configuring Qt 5 ..."
         -sysconfdir /etc/xdg \
         -examplesdir /usr/share/doc/qt-5/examples \
         -shared \
+        -nomake examples \
         -nomake tests \
         -no-rpath \
         -no-reduce-relocations \
@@ -123,11 +120,3 @@ abinfo "Building QtWebKit ..."
     abinfo "Building and installing QtWebKit binaries ..."
     DESTDIR="$PKGDIR" ninja install
 )
-
-abinfo "Installing Qt 5 libraries, development files and tools into PKGDIR ..."
-export TMP_INSTROOT="$PKGDIR"
-export PKGDIR="$ORIG_PKGDIR"
-for p in usr/bin usr/include usr/lib usr/share/qt5 ; do
-	install -dvm755 "$PKGDIR"/"$p"
-	cp -av "$TMP_INSTROOT"/"$p"/* "$PKGDIR"/"$p"
-done
diff --git a/runtime-desktop/qt-5/01-runtime/defines b/runtime-desktop/qt-5/01-runtime/defines
index 0cf8f19c335a..d9bb44fe732f 100644
--- a/runtime-desktop/qt-5/01-runtime/defines
+++ b/runtime-desktop/qt-5/01-runtime/defines
@@ -39,8 +39,8 @@ NOSTATIC=0
 # FIXME: QtWebKit breaks LTO
 NOLTO=1
 
-PKGBREAK="qtvirtualkeyboard<=5.11.2 qtchooser<=1:64 qt-5-doc<=1:5.12.2+wk5.212.0 qt-5<=1:5.15.5+webengine5.15.10+webkit5.212.0+kde20220705-9"
-PKGREP="qtvirtualkeyboard<=5.11.2 qtchooser<=1:64 qt-5-doc<=1:5.12.2+wk5.212.0 qt-5<=1:5.15.5+webengine5.15.10+webkit5.212.0+kde20220705-9"
+PKGBREAK="qtvirtualkeyboard<=5.11.2 qtchooser<=1:64 qt-5-doc<=1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121 qt-5<=1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121"
+PKGREP="qtvirtualkeyboard<=5.11.2 qtchooser<=1:64 qt-5-doc<=1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121 qt-5<=1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121"
 
 # Note: Extra Provides for Spiral (Debian compatibility).
 PKGPROV="libqt5sql5-mysql_spiral libqt5sql5-odbc_spiral \
diff --git a/runtime-desktop/qt-5/02-docs/build b/runtime-desktop/qt-5/02-docs/build
index 61548c3881da..d4f4356c5795 100644
--- a/runtime-desktop/qt-5/02-docs/build
+++ b/runtime-desktop/qt-5/02-docs/build
@@ -1,8 +1,21 @@
-export TMP_INSTROOT="$SRCDIR"/tmp_installroot
 abinfo "Building Qt 5 documentation ..."
 make docs
 
 abinfo "Installing Qt 5 documentation ..."
 make INSTALL_ROOT="$PKGDIR" install_docs
-install -dvm644  "$PKGDIR"/usr/share/doc
-cp -av "$TMP_INSTROOT"/usr/share/doc/qt-5 "$PKGDIR"/usr/share/doc/
+
+
+# As PKGBUILD of qt5-doc of Arch Linux says, The various
+# example dirs have conflicting project files, but QtCreator 
+# requires them to be in the same top-level directory.
+# Matching the Qt installer, only the qtbase project is kept.
+abinfo "Installing Qt 5 examples..."
+EXAMPLESDIR="$PKGDIR"/usr/share/doc/qt-5/examples
+[ -d "$EXAMPLESDIR" ] || mkdir -pv "$EXAMPLESDIR"
+
+cp -v "$SRCDIR"/qtbase/examples/{examples.pro,README} "$EXAMPLESDIR"
+for dir in `find "$SRCDIR" -maxdepth 2 -type d -name examples`
+do
+    rm -fv "$dir"/{examples.pro,CMakeLists.txt,README}
+    cp -rv "$dir"/* "$EXAMPLESDIR"
+done
diff --git a/runtime-desktop/qt-5/02-docs/defines b/runtime-desktop/qt-5/02-docs/defines
index 1153ce6856f1..ed947b594727 100644
--- a/runtime-desktop/qt-5/02-docs/defines
+++ b/runtime-desktop/qt-5/02-docs/defines
@@ -3,7 +3,7 @@ PKGEPOCH=1
 PKGSEC=doc
 PKGDES="Documentation and examples of Qt 5"
 
-PKGREP="qt-5<=1:5.15.5+webengine5.15.10+webkit5.212.0+kde20220705-9"
-PKGBREAK="qt-5<=1:5.15.5+webengine5.15.10+webkit5.212.0+kde20220705-9"
+PKGREP="qt-5<=1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121"
+PKGBREAK="qt-5<=1:5.15.16+webengine5.15.18+webkit5.212.0+kde20241121"
 
 ABSPLITDBG=0
diff --git a/runtime-desktop/qt-5/spec b/runtime-desktop/qt-5/spec
index 96d71e8c6da0..2d5bea9474fc 100644
--- a/runtime-desktop/qt-5/spec
+++ b/runtime-desktop/qt-5/spec
@@ -2,6 +2,7 @@ UPSTREAM_VER=5.15.16
 WEBENGINE_VER=5.15.18
 WEBKIT_VER=5.212.0
 KDE_VER=20241121
+REL=1
 VER=${UPSTREAM_VER}+webengine${WEBENGINE_VER}+webkit${WEBKIT_VER}+kde${KDE_VER}
 SRCS="https://repo.aosc.io/aosc-repacks/qt-5-$VER.tar.xz"
 CHKSUMS="sha256::8981b82416ab8e9b8a9e33f25d3c6801cb4fcda9a282201e04ee1c53016aae8c"
diff --git a/runtime-desktop/qt-6/autobuild/beyond b/runtime-desktop/qt-6/01-runtime/beyond
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/beyond
rename to runtime-desktop/qt-6/01-runtime/beyond
diff --git a/runtime-desktop/qt-6/autobuild/defines b/runtime-desktop/qt-6/01-runtime/defines
similarity index 94%
rename from runtime-desktop/qt-6/autobuild/defines
rename to runtime-desktop/qt-6/01-runtime/defines
index b1682499552b..b5fe4b82ec7f 100644
--- a/runtime-desktop/qt-6/autobuild/defines
+++ b/runtime-desktop/qt-6/01-runtime/defines
@@ -1,8 +1,11 @@
 PKGNAME=qt-6
 PKGSEC=x11
+PKGSUG=qt-6-doc
 PKGDES="Qt version 6"
+
+# FIXME: qdoc-qt6 needs to specify llvm dir, so using specific version of llvm
 PKGDEP="alsa-lib bluez cups dbus desktop-file-utils double-conversion ffmpeg \
-        fontconfig geoclue glib gst-plugins-base-1-0 harfbuzz \
+        fontconfig geoclue glib gst-plugins-base-1-0 harfbuzz llvm-runtime-18 \
         hicolor-icon-theme hyphen icu lcms2 libb2 libdrm libevent libinput \
         libglvnd libjpeg-turbo libmng libpng libproxy libvpx libwebp \
         libxkbcommon libxml2 libxslt mesa minizip opus pciutils pcre2 perl \
@@ -11,7 +14,7 @@ PKGDEP="alsa-lib bluez cups dbus desktop-file-utils double-conversion ffmpeg \
         xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-utils zlib \
         libxkbcommon vulkan html5lib-python"
 BUILDDEP="gperf gtk-3 mariadb nodejs openssl postgresql python-2 python-3 \
-          unixodbc ninja cmake"
+          unixodbc ninja cmake llvm-18"
 BUILDDEP__NOWEBENGINE=" \
           ${BUILDDEP/nodejs/}"
 BUILDDEP__LOONGSON3="${BUILDDEP__NOWEBENGINE}"
@@ -46,6 +49,7 @@ CMAKE_AFTER="-DINSTALL_BINDIR=lib/qt6/bin \
              -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
              -DINSTALL_DATADIR=share/qt6 \
              -DINSTALL_SYSCONFDIR=/etc/xdg \
+             -DLLVM_INSTALL_DIR=/usr/lib/llvm-18 \
              -DINSTALL_EXAMPLESDIR=share/doc/qt-6/examples \
              -DBUILD_SHARED_LIB=ON \
              -DCMAKE_SKIP_RPATH=OFF \
diff --git a/runtime-desktop/qt-6/autobuild/patches/0001-ARCHLINUX-qtbase-respect-system-compiler-linker-flag.patch b/runtime-desktop/qt-6/01-runtime/patches/0001-ARCHLINUX-qtbase-respect-system-compiler-linker-flag.patch
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/patches/0001-ARCHLINUX-qtbase-respect-system-compiler-linker-flag.patch
rename to runtime-desktop/qt-6/01-runtime/patches/0001-ARCHLINUX-qtbase-respect-system-compiler-linker-flag.patch
diff --git a/runtime-desktop/qt-6/autobuild/patches/0002-FEDORA-qt3d-assimp-fix-build-with-GCC-13.patch b/runtime-desktop/qt-6/01-runtime/patches/0002-FEDORA-qt3d-assimp-fix-build-with-GCC-13.patch
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/patches/0002-FEDORA-qt3d-assimp-fix-build-with-GCC-13.patch
rename to runtime-desktop/qt-6/01-runtime/patches/0002-FEDORA-qt3d-assimp-fix-build-with-GCC-13.patch
diff --git a/runtime-desktop/qt-6/autobuild/patches/0003-AOSCOS-qtbase-fallback-to-GLES-if-GL-EGL-context-cre.patch b/runtime-desktop/qt-6/01-runtime/patches/0003-AOSCOS-qtbase-fallback-to-GLES-if-GL-EGL-context-cre.patch
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/patches/0003-AOSCOS-qtbase-fallback-to-GLES-if-GL-EGL-context-cre.patch
rename to runtime-desktop/qt-6/01-runtime/patches/0003-AOSCOS-qtbase-fallback-to-GLES-if-GL-EGL-context-cre.patch
diff --git a/runtime-desktop/qt-6/autobuild/patches/0004-BACKPORT-fix-qtquick3d-src-3rdparty-openxr-Add-suppo.patch b/runtime-desktop/qt-6/01-runtime/patches/0004-BACKPORT-fix-qtquick3d-src-3rdparty-openxr-Add-suppo.patch
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/patches/0004-BACKPORT-fix-qtquick3d-src-3rdparty-openxr-Add-suppo.patch
rename to runtime-desktop/qt-6/01-runtime/patches/0004-BACKPORT-fix-qtquick3d-src-3rdparty-openxr-Add-suppo.patch
diff --git a/runtime-desktop/qt-6/autobuild/patches/0005-AOSCOS-LOONGARCH64-qtwebengine-chromium-add-LoongArc.patch.loongarch64 b/runtime-desktop/qt-6/01-runtime/patches/0005-AOSCOS-LOONGARCH64-qtwebengine-chromium-add-LoongArc.patch.loongarch64
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/patches/0005-AOSCOS-LOONGARCH64-qtwebengine-chromium-add-LoongArc.patch.loongarch64
rename to runtime-desktop/qt-6/01-runtime/patches/0005-AOSCOS-LOONGARCH64-qtwebengine-chromium-add-LoongArc.patch.loongarch64
diff --git a/runtime-desktop/qt-6/autobuild/patches/0006-FROMLIST-qtwebengine-disable-broken-XNNPACK-for-ARM-.patch b/runtime-desktop/qt-6/01-runtime/patches/0006-FROMLIST-qtwebengine-disable-broken-XNNPACK-for-ARM-.patch
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/patches/0006-FROMLIST-qtwebengine-disable-broken-XNNPACK-for-ARM-.patch
rename to runtime-desktop/qt-6/01-runtime/patches/0006-FROMLIST-qtwebengine-disable-broken-XNNPACK-for-ARM-.patch
diff --git a/runtime-desktop/qt-6/autobuild/prepare b/runtime-desktop/qt-6/01-runtime/prepare
similarity index 100%
rename from runtime-desktop/qt-6/autobuild/prepare
rename to runtime-desktop/qt-6/01-runtime/prepare
diff --git a/runtime-desktop/qt-6/02-docs/build b/runtime-desktop/qt-6/02-docs/build
new file mode 100644
index 000000000000..16a565679671
--- /dev/null
+++ b/runtime-desktop/qt-6/02-docs/build
@@ -0,0 +1,21 @@
+abinfo "Building Qt 6 documentation ..."
+cmake --build "$BLDDIR" --target docs
+
+abinfo "Installing Qt 6 documentation ..."
+DESTDIR="$PKGDIR" cmake --build "$BLDDIR" --target install_docs
+
+
+# As PKGBUILD of qt6-doc of Arch Linux says, The various
+# example dirs have conflicting project files, but QtCreator 
+# requires them to be in the same top-level directory.
+# Matching the Qt installer, only the qtbase project is kept.
+abinfo "Installing Qt 6 examples..."
+EXAMPLESDIR="$PKGDIR"/usr/share/doc/qt-6/examples
+[ -d "$EXAMPLESDIR" ] || mkdir -pv "$EXAMPLESDIR"
+
+cp -v "$SRCDIR"/qtbase/examples/{examples.pro,CMakeLists.txt,README} "$EXAMPLESDIR"
+for dir in `find "$SRCDIR" -maxdepth 2 -type d -name examples`
+do
+    rm -fv "$dir"/{examples.pro,CMakeLists.txt,README}
+    cp -rv "$dir"/* "$EXAMPLESDIR"
+done
diff --git a/runtime-desktop/qt-6/02-docs/defines b/runtime-desktop/qt-6/02-docs/defines
new file mode 100644
index 000000000000..9c42dec0a435
--- /dev/null
+++ b/runtime-desktop/qt-6/02-docs/defines
@@ -0,0 +1,5 @@
+PKGNAME=qt-6-doc
+PKGSEC=doc
+PKGDES="Documentation and examples of Qt 6"
+
+ABSPLITDBG=0
diff --git a/runtime-desktop/qt-6/spec b/runtime-desktop/qt-6/spec
index 1bce5e921811..b46a331bd3ef 100644
--- a/runtime-desktop/qt-6/spec
+++ b/runtime-desktop/qt-6/spec
@@ -1,4 +1,5 @@
 VER=6.8.2
+REL=1
 SRCS="https://download.qt.io/official_releases/qt/${VER:0:3}/${VER}/single/qt-everywhere-src-${VER}.tar.xz"
 CHKSUMS="sha256::659d8bb5931afac9ed5d89a78e868e6bd00465a58ab566e2123db02d674be559"
 CHKUPDATE="anitya::id=7927"


Reviews:
user: login: MingcongBai
state: CHANGES_REQUESTED
author_association: MEMBER
submitted_at: 2025-03-23T14:28:41Z
user: login: prcups
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-23T14:51:33Z
user: login: MingcongBai
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-27T00:53:11Z

Review comments:
diff_hunk: @@ -11,7 +12,7 @@ PKGDEP="alsa-lib bluez cups dbus desktop-file-utils double-conversion ffmpeg \
         xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-utils zlib \
         libxkbcommon vulkan html5lib-python"
 BUILDDEP="gperf gtk-3 mariadb nodejs openssl postgresql python-2 python-3 \
-          unixodbc ninja cmake"
+          unixodbc ninja cmake llvm-20"
path: runtime-desktop/qt-6/01-runtime/defines
user: login: MingcongBai
body: Maybe I missed something - why were we using LLVM 20 here, does the default version (18) not work?
created_at: 2025-03-23T14:26:22Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,16 @@
+abinfo "Building Qt 6 documentation ..."
+cmake --build "$BLDDIR" --target docs
+
+abinfo "Installing Qt 6 documentation ..."
+DESTDIR="$PKGDIR" cmake --build "$BLDDIR" --target install_docs
+
+abinfo "Installing Qt 6 examples..."
+EXAMPLESDIR="$PKGDIR"/usr/share/doc/qt-6/examples
+[ -d "$EXAMPLESDIR" ] || mkdir -p "$EXAMPLESDIR"
+
+cp -v "$SRCDIR"/qtbase/examples/{examples.pro,CMakeLists.txt,README} "$EXAMPLESDIR"
+for dir in `find "$SRCDIR" -maxdepth 2 -type d -name examples`
+do
+    rm -f "$dir"/{examples.pro,CMakeLists.txt,README}
path: runtime-desktop/qt-6/02-docs/build
user: login: MingcongBai
body: Verbosity here.
created_at: 2025-03-23T14:26:35Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,16 @@
+abinfo "Building Qt 6 documentation ..."
+cmake --build "$BLDDIR" --target docs
+
+abinfo "Installing Qt 6 documentation ..."
+DESTDIR="$PKGDIR" cmake --build "$BLDDIR" --target install_docs
+
+abinfo "Installing Qt 6 examples..."
+EXAMPLESDIR="$PKGDIR"/usr/share/doc/qt-6/examples
+[ -d "$EXAMPLESDIR" ] || mkdir -p "$EXAMPLESDIR"
path: runtime-desktop/qt-6/02-docs/build
user: login: MingcongBai
body: Verbosity here.
created_at: 2025-03-23T14:26:42Z
author_association: MEMBER
diff_hunk: @@ -11,7 +12,7 @@ PKGDEP="alsa-lib bluez cups dbus desktop-file-utils double-conversion ffmpeg \
         xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-utils zlib \
         libxkbcommon vulkan html5lib-python"
 BUILDDEP="gperf gtk-3 mariadb nodejs openssl postgresql python-2 python-3 \
-          unixodbc ninja cmake"
+          unixodbc ninja cmake llvm-20"
path: runtime-desktop/qt-6/01-runtime/defines
user: login: prcups
body: Firstly, LLVM_INSTALL_DIR needs to specify so I think using specific version instead of just "llvm" to avoid version change may be better. 
Secondly, current version needs llvm 17 or higher, and it may change in the near future.
created_at: 2025-03-23T14:51:33Z
author_association: CONTRIBUTOR

PR comments:
user: login: prcups
created_at: 2025-03-22T16:55:58Z
body: ![屏幕截图_20250323_005529](https://github.com/user-attachments/assets/58ec6fd7-38b4-4e76-aee8-4c69b802d167)

author_association: CONTRIBUTOR
user: login: aosc-buildit-bot
created_at: 2025-03-23T14:20:52Z
body: Dickens-topic report has been uploaded to pastebin as [paste 28d0d8ad-8b5c-47a0-bd61-e1781c668576](https://aosc.io/paste/detail?id=28d0d8ad-8b5c-47a0-bd61-e1781c668576).
author_association: CONTRIBUTOR