Accepting request 1164304 from home:krop:Qt6:Release

Qt 6.7.0. qtwebengine is still building

OBS-URL: https://build.opensuse.org/request/show/1164304
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt6/qt6-base?expand=0&rev=104
This commit is contained in:
Christophe Marin 2024-04-06 12:11:02 +00:00 committed by Git OBS Bridge
parent 3671944dc2
commit db71d68699
7 changed files with 131 additions and 50 deletions

View File

@ -0,0 +1,66 @@
From bccbdc225505eb39458336922fa30f87fd81476a Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@intel.com>
Date: Thu, 21 Mar 2024 10:07:03 -0700
Subject: [PATCH] CMake/ELF: allow using Qt's full version number in the
private tags
We added the feature to tag private symbols using the Qt major version
only, because us developers often move between versions and need to keep
compiled code working, even when using private API (we're supposed to
know what we're doing). Linux distributions, however, want to be told
that something used private API and therefore needs to be rebuilt. See
[1][2][3].
Distributors will learn about this feature when updating Qt causes the
existing patch to fail to apply.
[1] https://build.opensuse.org/projects/openSUSE:Factory/packages/qt6-base/files/0001-Tell-the-truth-about-private-API.patch?expand=1
[2] https://src.fedoraproject.org/rpms/qt6-qtbase/blob/rawhide/f/qtbase-tell-the-truth-about-private-API.patch
[3] https://github.com/clearlinux-pkgs/qtbase/blob/main/tell-the-truth-about-private-api.patch
Change-Id: I5f663c2f9f4149af84fefffd17bed69026f4038d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit e0940081bc7439d87d9ca41402a543a9c17fb857)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
---
cmake/QtFlagHandlingHelpers.cmake | 6 +++++-
configure.cmake | 6 ++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
index 28231cb564..32ce929e45 100644
--- a/cmake/QtFlagHandlingHelpers.cmake
+++ b/cmake/QtFlagHandlingHelpers.cmake
@@ -69,7 +69,11 @@ function(qt_internal_add_linker_version_script target)
endforeach()
endforeach()
- string(APPEND contents "\n};\nQt_${PROJECT_VERSION_MAJOR}_PRIVATE_API { qt_private_api_tag*;\n")
+ string(APPEND contents "\n};\nQt_${PROJECT_VERSION_MAJOR}")
+ if(QT_FEATURE_elf_private_full_version)
+ string(APPEND contents ".${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+ endif()
+ string(APPEND contents "_PRIVATE_API { qt_private_api_tag*;\n")
if(arg_PRIVATE_HEADERS)
foreach(ph ${arg_PRIVATE_HEADERS})
string(APPEND contents " @FILE:${ph}@\n")
diff --git a/configure.cmake b/configure.cmake
index 037aab9b2d..19dd2bf34e 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -551,6 +551,12 @@ qt_feature("rpath" PUBLIC
CONDITION BUILD_SHARED_LIBS AND UNIX AND NOT WIN32 AND NOT ANDROID
)
qt_feature_config("rpath" QMAKE_PUBLIC_QT_CONFIG)
+qt_feature("elf_private_full_version" PRIVATE
+ LABEL "Use Qt's full version number in ELF version symbols"
+ AUTODETECT OFF
+ CONDITION BUILD_SHARED_LIBS AND UNIX AND NOT APPLE
+)
+qt_feature_config("elf_private_full_version" QMAKE_PRIVATE_QT_CONFIG)
qt_feature("force_asserts" PUBLIC
LABEL "Force assertions"
AUTODETECT OFF
--
2.44.0

View File

@ -1,29 +0,0 @@
From 25e78cce15fdf737cc48ed5d7683ad1d01b55621 Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <christophe@krop.fr>
Date: Sun, 20 Sep 2020 09:57:22 +0200
Subject: [PATCH] Tell the truth about private API
Mark private API with symbols only for the current patch release
This change is a port of the libqt5-qtbase patch which was
added during the Qt 5.6 cycle.
---
cmake/QtFlagHandlingHelpers.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
index d8597326cc..f9da7b2171 100644
--- a/cmake/QtFlagHandlingHelpers.cmake
+++ b/cmake/QtFlagHandlingHelpers.cmake
@@ -23,7 +23,7 @@ function(qt_internal_add_linker_version_script target)
endif()
if(TEST_ld_version_script)
- set(contents "Qt_${PROJECT_VERSION_MAJOR}_PRIVATE_API {\n qt_private_api_tag*;\n")
+ set(contents "Qt_${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}_PRIVATE_API {\n qt_private_api_tag*;\n")
if(arg_PRIVATE_HEADERS)
foreach(ph ${arg_PRIVATE_HEADERS})
string(APPEND contents " @FILE:${ph}@\n")
--
2.40.0

View File

@ -0,0 +1,32 @@
From a0439a7370df302e4a8f0402249b1aa2b1aeab4b Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <aacid@kde.org>
Date: Wed, 3 Apr 2024 00:47:01 +0200
Subject: [PATCH] Use ifdef instead of if for __cpp_lib_span
Like the other times it's used in this file
This is causing compilation errors in projects that use -Werror=undef
Fixes: QTBUG-123937
Pick-to: 6.7
Change-Id: I0cdd2910755dc9079890011dd8dbc27a6e64793e
---
src/corelib/tools/qspan.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/corelib/tools/qspan.h b/src/corelib/tools/qspan.h
index c9de1005a7..d6ae2570ae 100644
--- a/src/corelib/tools/qspan.h
+++ b/src/corelib/tools/qspan.h
@@ -297,7 +297,7 @@ public:
: QSpanBase(il.begin(), il.size())
{}
-#if __cpp_lib_span
+#ifdef __cpp_lib_span
template <typename S, size_t N, if_qualification_conversion<S> = true>
Q_IMPLICIT constexpr QSpanBase(std::span<S, N> other) noexcept
: QSpanBase(other.data(), other.size())
--
2.44.0

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Tue Apr 2 13:39:34 UTC 2024 - Christophe Marin <christophe@krop.fr>
- Update to 6.7.0:
* https://www.qt.io/blog/qt-6.7-released
- Replace 0001-Tell-the-truth-about-private-API.patch with
upstream change:
* 0001-CMake-ELF-allow-using-Qt-s-full-version-number-in-th.patch
- Add upstream fix (QTBUG-123937):
* fix_builds_with_Werror.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Mar 26 14:25:22 UTC 2024 - Christophe Marin <christophe@krop.fr> Tue Mar 26 14:25:22 UTC 2024 - Christophe Marin <christophe@krop.fr>

View File

@ -16,8 +16,8 @@
# #
%define real_version 6.6.3 %define real_version 6.7.0
%define short_version 6.6 %define short_version 6.7
%define tar_name qtbase-everywhere-src %define tar_name qtbase-everywhere-src
%define tar_suffix %{nil} %define tar_suffix %{nil}
# #
@ -30,7 +30,7 @@
%global with_gles 1 %global with_gles 1
%endif %endif
Name: qt6-base%{?pkg_suffix} Name: qt6-base%{?pkg_suffix}
Version: 6.6.3 Version: 6.7.0
Release: 0 Release: 0
Summary: Qt 6 core components (Core, Gui, Widgets, Network...) Summary: Qt 6 core components (Core, Gui, Widgets, Network...)
# Legal: qtpaths is BSD-3-Clause # Legal: qtpaths is BSD-3-Clause
@ -39,8 +39,9 @@ URL: https://www.qt.io
Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz Source: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz
Source99: qt6-base-rpmlintrc Source99: qt6-base-rpmlintrc
# Patches 0-100 are upstream patches # # Patches 0-100 are upstream patches #
Patch0: fix_builds_with_Werror.patch
# Patches 100-200 are openSUSE and/or non-upstream(able) patches # # Patches 100-200 are openSUSE and/or non-upstream(able) patches #
Patch100: 0001-Tell-the-truth-about-private-API.patch Patch100: 0001-CMake-ELF-allow-using-Qt-s-full-version-number-in-th.patch
# No need to pollute the library dir with object files, install them in the qt6 subfolder # No need to pollute the library dir with object files, install them in the qt6 subfolder
Patch101: 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch Patch101: 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch
%if 0%{?suse_version} == 1500 %if 0%{?suse_version} == 1500
@ -771,24 +772,25 @@ sed -i '/zstd CONFIG/d' cmake/FindWrapZSTD.cmake
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DQT_BUILD_EXAMPLES:BOOL=TRUE \ -DQT_BUILD_EXAMPLES:BOOL=TRUE \
-DQT_BUILD_TESTS:BOOL=FALSE \ -DQT_BUILD_TESTS:BOOL=FALSE \
-DQT_CREATE_VERSIONED_HARD_LINK:BOOL=OFF \ -DQT_CREATE_VERSIONED_HARD_LINK:BOOL=FALSE \
-DQT_DISABLE_RPATH:BOOL=OFF \ -DQT_DISABLE_RPATH:BOOL=FALSE \
%ifnarch ppc64 %ifnarch ppc64
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=ON \ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=TRUE \
%endif %endif
-DFEATURE_enable_new_dtags:BOOL=ON \ -DFEATURE_elf_private_full_version=TRUE \
-DFEATURE_journald:BOOL=ON \ -DFEATURE_enable_new_dtags:BOOL=TRUE \
-DFEATURE_libproxy:BOOL=ON \ -DFEATURE_journald:BOOL=TRUE \
-DFEATURE_reduce_relocations:BOOL=OFF \ -DFEATURE_libproxy:BOOL=TRUE \
-DFEATURE_relocatable:BOOL=OFF \ -DFEATURE_reduce_relocations:BOOL=FALSE \
-DFEATURE_system_sqlite:BOOL=ON \ -DFEATURE_relocatable:BOOL=FALSE \
-DFEATURE_system_xcb_xinput:BOOL=ON \ -DFEATURE_system_sqlite:BOOL=TRUE \
-DFEATURE_xcb_native_painting:BOOL=ON \ -DFEATURE_system_xcb_xinput:BOOL=TRUE \
-DFEATURE_xcb_native_painting:BOOL=TRUE \
-DINPUT_openssl:STRING=linked \ -DINPUT_openssl:STRING=linked \
-DFEATURE_forkfd_pidfd:BOOL=OFF \ -DFEATURE_forkfd_pidfd:BOOL=FALSE \
%if 0%{?with_gles} %if 0%{?with_gles}
-DINPUT_opengl:STRING=es2 \ -DINPUT_opengl:STRING=es2 \
-DFEATURE_opengles3:BOOL=ON -DFEATURE_opengles3:BOOL=TRUE
%endif %endif
%{qt6_build} %{qt6_build}
@ -816,7 +818,6 @@ rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_concurrent_private.pri
rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_openglwidgets_private.pri rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_openglwidgets_private.pri
# These files are only useful for the Qt continuous integration # These files are only useful for the Qt continuous integration
rm %{buildroot}%{_qt6_libexecdir}/android_*.sh
rm %{buildroot}%{_qt6_libexecdir}/ensure_pro_file.cmake rm %{buildroot}%{_qt6_libexecdir}/ensure_pro_file.cmake
rm %{buildroot}%{_qt6_libexecdir}/qt-testrunner.py rm %{buildroot}%{_qt6_libexecdir}/qt-testrunner.py
rm %{buildroot}%{_qt6_libexecdir}/sanitizer-testrunner.py rm %{buildroot}%{_qt6_libexecdir}/sanitizer-testrunner.py

BIN
qtbase-everywhere-src-6.6.3.tar.xz (Stored with Git LFS)

Binary file not shown.

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:11b2e29e2e52fb0e3b453ea13bbe51a10fdff36e1c192d8868c5a40233b8b254
size 49314276