Source: qt6-tools
Version: 6.4.2
Severity: wishlist
Tags: ftbfs patch
User: debian-loongarch@lists.debian.org
Usertags: loong64
We need to add architectural support for qt6-tools-6.4.2
Otherwise it will build failures .
Please consider the following patch that I metioned.
Would it be possible to include the support for LoongArch in the next upload?
If you have any questions, you can contact me at any time.
root@loongson:/home/loongson/whq/qt6-tools-6.4.2# dpkg-buildpackage
dpkg-buildpackage: info: source package qt6-tools
dpkg-buildpackage: info: source version 6.4.2-3
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Lisandro Damián Nicanor Pérez Meyer <lisandro@debian.org>
dpkg-buildpackage: info: host architecture loong64
dpkg-source --before-build .
dpkg-checkbuilddeps: error: Unmet build dependencies: clang-15 libclang-15-dev llvm-15-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
For some reasons, we are unable to build LLVM-15 version on the loong64 architecture.
Therefore, we need to build qt6-tools on a higher version of LLVM.
Consequently, we need to modify the control file in the Debian directory.
diff --git a/debian/control b/debian/control
index 2d95429..deaa591 100644
--- a/debian/control
+++ b/debian/control
@@ -3,16 +3,16 @@ Section: libs
Priority: optional
Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Uploaders: Patrick Franz <deltaone@debian.org>,
-Build-Depends: clang-15,
+Build-Depends: clang,
cmake (>= 3.24~),
debhelper-compat (= 13),
- libclang-15-dev,
+ libclang-dev,
libgl-dev,
liblitehtml-dev (>= 0.6~),
libssl-dev,
libvulkan-dev [linux-any],
libxcb-xkb-dev,
- llvm-15-dev,
+ llvm-dev,
ninja-build,
pkg-config,
pkg-kde-tools,
Additionally, since we are compiling with a higher version of LLVM,
we also need to backport some upstream code into this version of qt6-tools.
commit 87fac2de7378963e753a847da667d52d4ba95bff
Author: Björn Schäpers <bjoern@hazardy.de>
Date: Wed Feb 8 12:31:04 2023 +0100
lupdate: Fix build with clang 16+
The signature changed again.
I've tested it with a current main, that is clang 17, but the commit
854c10f8d185286d941307e1033eb492e085c203 with introduced the change is
also contained in clang 16.
Pick-to: 6.4 6.5
Change-Id: I050ca5843708be4489757538849000d3675005ac
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.cpp b/src/linguist/lupdate/lupdatepreprocessoraction.cpp
index d963747d8..478d5fbea 100644
--- a/src/linguist/lupdate/lupdatepreprocessoraction.cpp
+++ b/src/linguist/lupdate/lupdatepreprocessoraction.cpp
@@ -157,7 +157,9 @@ void LupdatePPCallbacks::SourceRangeSkipped(clang::SourceRange sourceRange,
void LupdatePPCallbacks::InclusionDirective(clang::SourceLocation /*hashLoc*/,
const clang::Token & /*includeTok*/, clang::StringRef /*fileName*/, bool /*isAngled*/,
clang::CharSourceRange /*filenameRange*/,
-#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(16,0,0))
+ const clang::OptionalFileEntryRef file,
+#elif (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
const clang::Optional<clang::FileEntryRef> file,
#else
const clang::FileEntry *file,
diff --git a/src/linguist/lupdate/lupdatepreprocessoraction.h b/src/linguist/lupdate/lupdatepreprocessoraction.h
index 3e44cee83..673ecb495 100644
--- a/src/linguist/lupdate/lupdatepreprocessoraction.h
+++ b/src/linguist/lupdate/lupdatepreprocessoraction.h
@@ -52,7 +52,9 @@ private:
void InclusionDirective(clang::SourceLocation /*hashLoc*/, const clang::Token &/*includeTok*/,
clang::StringRef /*fileName*/, bool /*isAngled*/,
clang::CharSourceRange /*filenameRange*/,
-#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(16,0,0))
+ const clang::OptionalFileEntryRef file,
+#elif (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(15,0,0))
const clang::Optional<clang::FileEntryRef> file,
#else
const clang::FileEntry *file,