[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1069810: qt6-tools:6.4.2: Please add support for loongarch64



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,





本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 
This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it. 

Reply to: