Resolves: RHEL-53982
This commit is contained in:
Jan Grulich 2024-12-06 16:10:31 +01:00
parent dbae417b03
commit 471f24f8b7
8 changed files with 160 additions and 132 deletions

1
.gitignore vendored
View File

@ -25,3 +25,4 @@
/qttools-everywhere-src-6.6.1.tar.xz
/qttools-everywhere-src-6.7.0.tar.xz
/qttools-everywhere-src-6.7.1.tar.xz
/qttools-everywhere-src-6.8.1.tar.xz

View File

@ -0,0 +1,45 @@
<?xml version='1.0' encoding='utf-8'?>
<component type="desktop-application">
<!--Created with jdAppStreamEdit 8.0-->
<id>io.qt.Designer</id>
<name>Qt Designer</name>
<summary>Design GUIs for Qt applications</summary>
<summary xml:lang="de">Erstelle GUIs for Qt Anwendungen</summary>
<developer id="io.qt">
<name>The Qt Company</name>
</developer>
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPL-3.0-only</project_license>
<project_group>Qt</project_group>
<description>
<p>Qt Designer lets you created and edit .ui files for your Qt Widgets Application</p>
<p xml:lang="de">Mit Qt Designer kannst du .ui Dateien für deine Qt Anwendung erstellen und bearbeiten</p>
</description>
<screenshots>
<screenshot type="default">
<image type="source">https://doc.qt.io/qt-6/images/designer-multiple-screenshot.png</image>
</screenshot>
<screenshot>
<image type="source">https://doc.qt.io/qt-6/images/designer-screenshot.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://www.qt.io/</url>
<url type="bugtracker">https://bugreports.qt.io</url>
<url type="help">https://doc.qt.io/qt-6/qtdesigner-manual.html</url>
<url type="vcs-browser">https://code.qt.io/cgit/qt/qttools.git/tree/src/designer</url>
<url type="contribute">https://www.qt.io/community/contribute-to-qt</url>
<categories>
<category>Development</category>
<category>Qt</category>
</categories>
<recommends>
<control>pointing</control>
<control>keyboard</control>
</recommends>
<content_rating type="oars-1.1"/>
<launchable type="desktop-id">qt6-designer.desktop</launchable>
<provides>
<binary>designer</binary>
<mediatype>application/x-designer</mediatype>
</provides>
</component>

View File

@ -0,0 +1,43 @@
<?xml version='1.0' encoding='utf-8'?>
<component type="desktop-application">
<!--Created with jdAppStreamEdit 8.0-->
<id>io.qt.Linguist</id>
<name>Qt Linguist</name>
<summary>Add translations to Qt applications</summary>
<summary xml:lang="de">Übersetzungen zu Qt Programmen hinzufügen</summary>
<developer id="io.qt">
<name>The Qt Company</name>
</developer>
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPL-3.0-only</project_license>
<project_group>Qt</project_group>
<description>
<p>Qt Linguist allows you to translate Qt applications</p>
<p xml:lang="de">Qt Linguist erlaubt dir Übersetzung von Qt Programmen</p>
</description>
<screenshots>
<screenshot type="default">
<caption>The main window</caption>
<caption xml:lang="de">Das Hauptfenster</caption>
<image type="source">https://raw.githubusercontent.com/flathub/io.qt.Linguist/78c853bd0488bf62e2042b2011d674e08dcf7b76/Screenshots/MainWindow.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://www.qt.io/</url>
<url type="vcs-browser">https://code.qt.io/cgit/qt/qttools.git/tree/src/linguist/linguist</url>
<url type="contribute">https://www.qt.io/community/contribute-to-qt</url>
<categories>
<category>Translation</category>
<category>Qt</category>
</categories>
<requires>
<control>pointing</control>
<control>keyboard</control>
</requires>
<content_rating type="oars-1.1"/>
<launchable type="desktop-id">qt6-linguist.desktop</launchable>
<provides>
<binary>linguist</binary>
<mediatype>text/vnd.trolltech.linguist</mediatype>
<mediatype>application/x-linguist</mediatype>
</provides>
</component>

View File

@ -0,0 +1,40 @@
<?xml version='1.0' encoding='utf-8'?>
<component type="desktop-application">
<!--Created with jdAppStreamEdit 8.0-->
<id>io.qt.qdbusviewer</id>
<name>Qt QDBusViewer</name>
<summary>Debug D-Bus applications</summary>
<developer id="io.qt">
<name>The Qt Company</name>
</developer>
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPL-3.0-only</project_license>
<project_group>Qt</project_group>
<description>
<p>The Qt D-Bus Viewer is a tool that lets you introspect D-Bus objects and messages. You can choose between the system bus and the session bus.</p>
</description>
<screenshots>
<screenshot type="default">
<caption>The Main Window</caption>
<image type="source">https://github.com/flathub/io.qt.qdbusviewer/blob/5df144729039a83d41d5c3e285e8d090884564a7/Screenshots/MainWindow.png?raw=true</image>
</screenshot>
</screenshots>
<url type="homepage">https://www.qt.io/</url>
<url type="bugtracker">https://bugreports.qt.io</url>
<url type="vcs-browser">https://code.qt.io/cgit/qt/qttools.git/tree/src/qdbus/qdbusviewer</url>
<url type="contribute">https://www.qt.io/community/contribute-to-qt</url>
<categories>
<category>Development</category>
<category>Debugger</category>
<category>Qt</category>
</categories>
<recommends>
<control>pointing</control>
<control>keyboard</control>
</recommends>
<content_rating type="oars-1.1"/>
<launchable type="desktop-id">qt6-qdbusviewer.desktop</launchable>
<provides>
<binary>qdbusviewer</binary>
</provides>
</component>

View File

@ -7,11 +7,13 @@
%global examples 1
%global build_tests 1
# disable once Qt7 is stable and providing the apps
%global metainfo 1
Summary: Qt6 - QtTool components
Name: qt6-qttools
Version: 6.7.1
Release: 6%{?dist}
Version: 6.8.1
Release: 1%{?dist}
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
Url: http://www.qt.io
@ -32,19 +34,23 @@ Patch1: qttools-run-qttools-with-qt6-suffix.patch
Patch2: qttools-add-libatomic.patch
## upstream patches
Patch10: qttools-lupdate-fix-deprecation-warning-with-llvm-18.patch
Patch11: qttools-qdoc-adapt-to-breaking-changes-in-llvm-19.patch
Source20: assistant.desktop
Source21: designer.desktop
Source22: linguist.desktop
Source23: qdbusviewer.desktop
# borrowed from Flathub with adjustments for Fedora
Source31: io.qt.Designer.metainfo.xml
Source32: io.qt.Linguist.metainfo.xml
Source33: io.qt.qdbusviewer.metainfo.xml
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: desktop-file-utils
BuildRequires: /usr/bin/file
BuildRequires: libappstream-glib
BuildRequires: qt6-rpm-macros >= %{version}
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtbase-static >= %{version}
@ -165,9 +171,6 @@ Requires: %{name}-libs-help%{?_isa} = %{version}-%{release}
%patch -P2 -p1 -b .libatomic
%endif
%patch -P10 -p1 -b .lupdate-fix-deprecation-warning-with-llvm-18
%patch -P11 -p1 -b .qdoc-adapt-to-breaking-changes-in-llvm-19
%build
%cmake_qt6 \
-DQT_BUILD_EXAMPLES:BOOL=%{?examples:ON}%{!?examples:OFF} \
@ -198,6 +201,12 @@ desktop-file-install \
--vendor="qt6" \
%{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}
%if 0%{?metainfo}
install -Dm0644 -t %{buildroot}%{_metainfodir} \
%{SOURCE31} %{SOURCE32} %{SOURCE33}
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
%endif
# icons
install -m644 -p -D src/assistant/assistant/images/assistant.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/assistant-qt6.png
install -m644 -p -D src/assistant/assistant/images/assistant-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/assistant-qt6.png
@ -257,6 +266,7 @@ popd
%files
%{_qt6_archdatadir}/sbom/%{qt_module}-%{qt_version}.spdx
%{_bindir}/qdbus-qt6
%{_qt6_bindir}/qdbus
%{_qt6_bindir}/qdbus-qt6
@ -290,6 +300,9 @@ popd
%{_qt6_bindir}/qdistancefieldgenerator*
%{_qt6_libexecdir}/qhelpgenerator*
%{_qt6_libexecdir}/qtattributionsscanner*
%if 0%{?metainfo}
%{_metainfodir}/io.qt.Designer.metainfo.xml
%endif
%files -n qt6-designer
%{_bindir}/designer*
@ -315,12 +328,18 @@ popd
%{_qt6_libexecdir}/lprodump*
%{_qt6_libexecdir}/lrelease*
%{_qt6_libexecdir}/lupdate*
%if 0%{?metainfo}
%{_metainfodir}/io.qt.Linguist.metainfo.xml
%endif
%files -n qt6-qdbusviewer
%{_bindir}/qdbusviewer*
%{_qt6_bindir}/qdbusviewer*
%{_datadir}/applications/*qdbusviewer.desktop
%{_datadir}/icons/hicolor/*/apps/qdbusviewer*.*
%if 0%{?metainfo}
%{_metainfodir}/io.qt.qdbusviewer.metainfo.xml
%endif
%files devel
%{_bindir}/pixeltool*
@ -343,7 +362,6 @@ popd
%{_qt6_libdir}/libQt6UiTools.so
%{_qt6_libdir}/cmake/Qt6/FindWrapLibClang.cmake
%{_qt6_libdir}/cmake/Qt6BuildInternals/StandaloneTests/QtToolsTestsConfig.cmake
%dir %{_qt6_libdir}/cmake/Qt6Designer
%{_qt6_libdir}/cmake/Qt6Designer/*.cmake
%{_qt6_libdir}/cmake/Qt6DesignerComponentsPrivate/*.cmake
%dir %{_qt6_libdir}/cmake/Qt6QDocCatchPrivate
@ -399,6 +417,10 @@ popd
%endif
%changelog
* Fri Dec 06 2024 Jan Grulich <jgrulich@redhat.com> - 6.8.1-1
- 6.8.1
Resolves: RHEL-53982
* Mon Nov 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.7.1 -6
- Fix build against LLVM 19
Resolves: RHEL-64941

View File

@ -1,30 +0,0 @@
From 687fc1601863ae7a67897bc3590b33bd3bdcc3bc Mon Sep 17 00:00:00 2001
From: Joerg Bornemann <joerg.bornemann@qt.io>
Date: Mon, 15 Jul 2024 15:17:04 +0200
Subject: [PATCH] lupdate/clang: Fix deprecation warning with llvm 18
Change-Id: Ib22dda34bfdf7a1cd0e9932eec0f6f13a912a688
Reviewed-by: Lucie Gerard <lucie.gerard@qt.io>
---
src/linguist/lupdate/clangtoolastreader.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/linguist/lupdate/clangtoolastreader.cpp b/src/linguist/lupdate/clangtoolastreader.cpp
index 6b85c6ccb3..3db9e0d64a 100644
--- a/src/linguist/lupdate/clangtoolastreader.cpp
+++ b/src/linguist/lupdate/clangtoolastreader.cpp
@@ -782,8 +782,14 @@ bool LupdateVisitor::VisitNamedDecl(clang::NamedDecl *namedDeclaration)
if (!fullLocation.isValid() || !fullLocation.getFileEntry())
return true;
+#if (LUPDATE_CLANG_VERSION >= LUPDATE_CLANG_VERSION_CHECK(18,0,0))
+ auto fileEntry = fullLocation.getFileEntryRef();
+ if (fileEntry && !LupdatePrivate::isFileSignificant(fileEntry->getName().str()))
+ return true;
+#else
if (!LupdatePrivate::isFileSignificant(fullLocation.getFileEntry()->getName().str()))
return true;
+#endif
qCDebug(lcClang) << "NamedDecl Name: " << QString::fromStdString(namedDeclaration->getQualifiedNameAsString());
qCDebug(lcClang) << "NamedDecl source: " << QString::fromStdString(namedDeclaration->getSourceRange().printToString(

View File

@ -1,93 +0,0 @@
From 4a368a06afa5929d8674d2e94c2d7cbd6ad85d4e Mon Sep 17 00:00:00 2001
From: Paul Wicking <paul.wicking@qt.io>
Date: Fri, 13 Sep 2024 14:37:38 +0200
Subject: [PATCH] QDoc: Adapt to breaking changes in LLVM 19
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Due to upstream changes in LLVM 19, QDoc fails to compile when linked
against Clang libraries from this version of LLVM. Three issues arise;
- Two cases of passing an argument of wrong type to a function.
- One case of accessing a non-existing member of an enumeration.
One upstream change (see [0]) is responsible for two of the issues:
- `get_expression_as_string()` is modified such that it correctly
obtains the parameter type when calling
`get_fully_qualified_type_name()`, by appending
`.getArgument().getAsType()` to the call to `getDefaultArgument()`.
- `get_default_value_initializer_as_string()` is modified such that it
correctly passes the source expression to
`get_expression_as_string()`, by appending `.getSourceExpression()`
to the call to `getDefaultArgument()`.
Both of these changes are is incompatible with QDoc built against
Clang libraries from earlier versions of LLVM, and are therefore
wrapped in #if-ery.
Finally, LLVM 19 drops a value used in QDoc from the enumeration
`clang::TemplateName::Qualified`, see [1]. The enum value `Fully` is
removed without replacement. The enum is left with two values,
`AsWritten` and `None`. QDoc is modified such that it relies on the
former of the two. This change doesn't cause any change in output from
QDoc when built against Clang libraries from LLVM 17 and 18, and the
change is therefore not wrapped in #if-ery.
[0] - https://github.com/llvm/llvm-project/commit/e42b799bb28815431f2c5a95f7e13fde3f1b36a1
[1] - https://github.com/llvm/llvm-project/commit/9c4a716c12920
Done-with: Khem Raj <raj.khem@gmail.com>
Fixes: QTBUG-128644
Pick-to: 6.8
Change-Id: I34fbb46cf28b5676b4adda5e563d6d59fc40f602
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
---
src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
index eb3a781bc..385d651ec 100644
--- a/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
+++ b/src/qdoc/qdoc/src/qdoc/clangcodeparser.cpp
@@ -207,9 +207,15 @@ static std::string get_expression_as_string(const clang::Expr* expression, const
* If the parameter has no default value the empty string will be returned.
*/
static std::string get_default_value_initializer_as_string(const clang::TemplateTypeParmDecl* parameter) {
+#if LIBCLANG_VERSION_MAJOR >= 19
+ return (parameter && parameter->hasDefaultArgument()) ?
+ get_fully_qualified_type_name(parameter->getDefaultArgument().getArgument().getAsType(), parameter->getASTContext()) :
+ "";
+#else
return (parameter && parameter->hasDefaultArgument()) ?
get_fully_qualified_type_name(parameter->getDefaultArgument(), parameter->getASTContext()) :
"";
+#endif
}
@@ -223,8 +229,13 @@ static std::string get_default_value_initializer_as_string(const clang::Template
* If the parameter as no default value the empty string will be returned.
*/
static std::string get_default_value_initializer_as_string(const clang::NonTypeTemplateParmDecl* parameter) {
+#if LIBCLANG_VERSION_MAJOR >= 19
+ return (parameter && parameter->hasDefaultArgument()) ?
+ get_expression_as_string(parameter->getDefaultArgument().getSourceExpression(), parameter->getASTContext()) : "";
+#else
return (parameter && parameter->hasDefaultArgument()) ?
get_expression_as_string(parameter->getDefaultArgument(), parameter->getASTContext()) : "";
+#endif
}
@@ -244,7 +255,7 @@ static std::string get_default_value_initializer_as_string(const clang::Template
const clang::TemplateName template_name = parameter->getDefaultArgument().getArgument().getAsTemplate();
llvm::raw_string_ostream ss{default_value};
- template_name.print(ss, parameter->getASTContext().getPrintingPolicy(), clang::TemplateName::Qualified::Fully);
+ template_name.print(ss, parameter->getASTContext().getPrintingPolicy(), clang::TemplateName::Qualified::AsWritten);
}
return default_value;

View File

@ -1 +1 @@
SHA512 (qttools-everywhere-src-6.7.1.tar.xz) = 5b21fc8a5f208615a3493a2ae24356705477c50f675cd7f29fc2eb7f7af5c2af7859068d26404ff8075d163adf0b0c4f267d14fa3f618de76ace8cd353a58a15
SHA512 (qttools-everywhere-src-6.8.1.tar.xz) = 1f5eb44e86d400858abe21efcadb27537ae213127078d95ee56792b57923573e55fd850042e63ca547cd27ba199196fe9956646dcb285c6f6976a22a7832db52