Compare commits

...

21 Commits

Author SHA1 Message Date
David Abdurachmanov 3b176b1aee
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-12-03 14:08:10 +02:00
Jan Grulich 0916bd3f34 6.6.1 2023-11-27 14:57:46 +01:00
Alessandro Astone 4d5e0869d8 Add xkbcommon as a devel dependency
Optional dev dependency of Qt6::Gui
2023-11-10 18:29:27 +01:00
David Abdurachmanov 6211c5565a
Disable SSE2 on riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-11-10 14:59:45 +02:00
Jan Grulich 469e3a8860 Revert: Fix Qt not showing up emoji by handling emoji font family 2023-11-09 12:54:48 +01:00
Jan Grulich a44bfe9ca5 Fix Qt not showing up emoji by handling emoji font family 2023-11-07 15:55:23 +01:00
Jan Grulich a19a7d36f9 Upstream backports
- a11y - fix race condition on atspi startup on Wayland
2023-11-06 09:52:37 +01:00
Jan Grulich 66655b0bf6 Do not use tslib on RHEL builds 2023-10-23 08:24:07 +02:00
Neal Gompa d130b7be6c Add qtwayland weak dep to -gui subpackage and use arched weak deps 2023-10-15 08:58:53 -04:00
Jan Grulich a0b5aa05f9 6.6.0 2023-10-10 14:42:17 +02:00
Justin Zobel 1149fa7db3 Fix sources 2023-10-01 16:28:04 +10:30
Justin Zobel f7e88d6ae1 Update to 6.5.3 2023-10-01 15:58:07 +10:30
LuK1337 ca477f48a6 Unbreak CMake Qt6::ExampleIconsPrivate package
This fixes build for the following CMakeLists.txt:
  cmake_minimum_required(VERSION 3.18)
  project(hello)
  find_package(Qt6 COMPONENTS ExampleIconsPrivate)
2023-09-17 11:37:37 +02:00
Yaakov Selkowitz 7f9c50ebd7 Use bundled libb2 in RHEL builds
Standalone libb2 is unwanted in RHEL.
2023-08-28 21:01:30 -04:00
Jan Grulich fed7db12b2 Don't use QGnomePlatform by default on F39+ 2023-08-11 14:52:10 +02:00
Fedora Release Engineering 3e8f6395e9 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-21 16:11:01 +00:00
Jan Grulich e0efab4a30 6.5.2 2023-07-21 10:28:02 +02:00
František Zatloukal b4166db60e Rebuilt for ICU 73.2 2023-07-12 17:00:21 +02:00
Jan Grulich d487a7a9a0 Bump build for private API version change 2023-07-12 12:58:51 +02:00
František Zatloukal 9911d344d7 Rebuilt for ICU 73.2 2023-07-11 22:21:36 +02:00
Yaakov Selkowitz 8abd8fe461 Update PCRE build dependencies
The runtime builds show a proper dependency on libpcre2-16, so an
immediate revbump and rebuild doesn't seem necessary.
2023-07-10 13:37:04 -04:00
6 changed files with 227 additions and 50 deletions

5
.gitignore vendored
View File

@ -20,3 +20,8 @@
/qtbase-everywhere-src-6.4.3.tar.xz
/qtbase-everywhere-src-6.5.0.tar.xz
/qtbase-everywhere-src-6.5.1.tar.xz
/qtbase-everywhere-src-6.5.2.tar.xz
/qt-everywhere-src-6.5.3.tar.xz
/qtbase-everywhere-src-6.5.3.tar.xz
/qtbase-everywhere-src-6.6.0.tar.xz
/qtbase-everywhere-src-6.6.1.tar.xz

View File

@ -2,7 +2,7 @@
%global multilib_archs x86_64 %{ix86} %{?mips} ppc64 ppc s390x s390 sparc64 sparcv9
%global multilib_basearchs x86_64 %{?mips64} ppc64 s390x sparc64
%ifarch s390x ppc64le aarch64 armv7hl
%ifarch s390x ppc64le aarch64 armv7hl riscv64
%global no_sse2 1
%endif
@ -37,8 +37,8 @@ BuildRequires: pkgconfig(libsystemd)
Name: qt6-qtbase
Summary: Qt6 - QtBase components
Version: 6.5.1
Release: 1%{?dist}
Version: 6.6.1
Release: 1.0.riscv64%{?dist}
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
Url: http://qt-project.org/
@ -66,7 +66,7 @@ Source6: 10-qt6-check-opengl2.sh
Source10: macros.qt6-qtbase
Patch1: qtbase-tell-the-truth-about-private-API.patch
Patch2: qtbase-use-qgnomeplatform-as-default-platform-theme-on-gnome.patch
Patch2: qtbase-CMake-Install-objects-files-into-ARCHDATADIR.patch
# upstreamable patches
# namespace QT_VERSION_CHECK to workaround major/minor being pre-defined (#1396755)
@ -87,8 +87,14 @@ Patch56: qtbase-mysql.patch
# fix FTBFS against libglvnd-1.3.4+
Patch58: qtbase-libglvnd.patch
# gcc-11
Patch90: qtbase-gcc11.patch
# Bug 1954359 - Many emoji don't show up in Qt apps because qt does not handle 'emoji' font family
# FIXME: this change seems to completely break font rendering for some people
# Patch60: qtbase-cache-emoji-font.patch
%if 0%{?fedora} < 39
# Latest QGnomePlatform needs to be specified to be used
Patch100: qtbase-use-qgnomeplatform-as-default-platform-theme-on-gnome.patch
%endif
## upstream patches
@ -112,13 +118,19 @@ BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: findutils
BuildRequires: double-conversion-devel
%if 0%{?fedora} || 0%{?epel}
BuildRequires: libb2-devel
%else
Provides: bundled(libb2)
%endif
BuildRequires: libjpeg-devel
BuildRequires: libmng-devel
BuildRequires: libtiff-devel
BuildRequires: libzstd-devel
BuildRequires: mtdev-devel
%if 0%{?fedora} || 0%{?epel}
BuildRequires: tslib-devel
%endif
BuildRequires: pkgconfig(alsa)
# required for -accessibility
BuildRequires: pkgconfig(atspi-2)
@ -159,8 +171,7 @@ BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(sqlite3) >= 3.7
BuildRequires: pkgconfig(harfbuzz) >= 0.9.42
BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(libpcre2-posix) >= 10.20
BuildRequires: pkgconfig(libpcre) >= 8.0
BuildRequires: pkgconfig(libpcre2-16) >= 10.20
%global pcre 1
BuildRequires: pkgconfig(xcb-xkb)
BuildRequires: pkgconfig(xcb) pkgconfig(xcb-glx) pkgconfig(xcb-icccm) pkgconfig(xcb-image) pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil) pkgconfig(xcb-cursor)
@ -210,6 +221,8 @@ Requires: pkgconfig(gl)
%if 0%{?vulkan}
Requires: pkgconfig(vulkan)
%endif
# Optional dev dependency of Qt6::Gui
Requires: pkgconfig(xkbcommon)
Requires: qt6-rpm-macros
%if 0%{?use_clang}
Requires: clang >= 3.7.0
@ -288,7 +301,8 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%package gui
Summary: Qt6 GUI-related libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Recommends: mesa-dri-drivers
Recommends: mesa-dri-drivers%{?_isa}
Recommends: qt6-qtwayland%{?_isa}
# for Source6: 10-qt6-check-opengl2.sh:
# glxinfo
Requires: glx-utils
@ -346,6 +360,7 @@ export MAKEFLAGS="%{?_smp_mflags}"
-DQT_FEATURE_enable_new_dtags=ON \
-DQT_FEATURE_journald=%{?journald:ON}%{!?journald:OFF} \
-DQT_FEATURE_openssl_linked=ON \
-DQT_FEATURE_openssl_hash=ON \
-DQT_FEATURE_libproxy=ON \
-DQT_FEATURE_sctp=ON \
-DQT_FEATURE_separate_debug_info=OFF \
@ -403,7 +418,7 @@ translationdir=%{_qt6_translationdir}
Name: Qt6
Description: Qt6 Configuration
Version: 6.5.1
Version: 6.6.1
EOF
# rpm macros
@ -466,9 +481,6 @@ rm %{buildroot}/%{_qt6_libexecdir}/qt-cmake-private-install.cmake
# Use better location for some new scripts in qtbase-6.0.1
mv %{buildroot}/%{_qt6_libexecdir}/ensure_pro_file.cmake %{buildroot}/%{_qt6_libdir}/cmake/Qt6/ensure_pro_file.cmake
# FIXME why is this being installed?
rm %{buildroot}/%{_qt6_libdir}/objects-RelWithDebInfo/ExampleIconsPrivate_resources_1/.rcc/qrc_example_icons.cpp.o
%check
# verify Qt6.pc
export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig
@ -581,6 +593,7 @@ make check -k ||:
%{_bindir}/qmake*
%{_bindir}/qtpaths*
%{_bindir}/qt-cmake
%{_bindir}/qt-cmake-create
%{_bindir}/qt-configure-module
%{_libdir}/qt6/bin/qmake6
%{_qt6_bindir}/androiddeployqt
@ -591,6 +604,7 @@ make check -k ||:
%{_qt6_bindir}/qmake
%{_qt6_bindir}/qtpaths*
%{_qt6_bindir}/qt-cmake
%{_qt6_bindir}/qt-cmake-create
%{_qt6_bindir}/qt-configure-module
%{_qt6_libexecdir}/qt-cmake-private
%{_qt6_libexecdir}/qt-cmake-standalone-test
@ -713,6 +727,7 @@ make check -k ||:
%{_qt6_libdir}/cmake/Qt6XcbQpaPrivate/*.cmake
%{_qt6_libdir}/cmake/Qt6Xml/*.cmake
%{_qt6_libdir}/qt6/metatypes/*.json
%{_qt6_libdir}/qt6/objects-RelWithDebInfo/ExampleIconsPrivate_resources_1/.rcc/qrc_example_icons.cpp.o
%{_qt6_libdir}/pkgconfig/*.pc
%if 0%{?egl}
@ -780,7 +795,9 @@ make check -k ||:
%{_qt6_plugindir}/generic/libqevdevtabletplugin.so
%{_qt6_plugindir}/generic/libqevdevtouchplugin.so
%{_qt6_plugindir}/generic/libqlibinputplugin.so
%if 0%{?fedora} || 0%{?epel}
%{_qt6_plugindir}/generic/libqtslibplugin.so
%endif
%{_qt6_plugindir}/generic/libqtuiotouchplugin.so
# Imageformats
%{_qt6_plugindir}/imageformats/libqico.so
@ -818,6 +835,61 @@ make check -k ||:
%changelog
* Sun Dec 03 2023 David Abdurachmanov <davidlt@rivosinc.com> - 6.6.1-1.0.riscv64
- Disable SSE2 on riscv64
* Mon Nov 27 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.1-1
- 6.6.1
* Fri Nov 10 2023 Alessandro Astone <ales.astone@gmail.com> - 6.6.0-7
- Add xkbcommon as a devel dependency
* Thu Nov 09 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-6
- Revert: Fix Qt not showing up emoji by handling emoji font family
* Tue Nov 07 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-5
- Fix Qt not showing up emoji by handling emoji font family
* Mon Nov 06 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-4
- Upstream backports
- a11y - fix race condition on atspi startup on Wayland
* Mon Oct 23 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-3
- Do not use tslib on RHEL builds
* Sun Oct 15 2023 Neal Gompa <ngompa@fedoraproject.org> - 6.6.0-2
- Add qtwayland weak dep to -gui subpackage and use arched weak deps
* Tue Oct 10 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-1
- 6.6.0
* Sun Oct 01 2023 Justin Zobel <justin.zobel@gmail.com> - 6.5.3-1
- new version
* Sun Sep 03 2023 LuK1337 <priv.luk@gmail.com> - 6.5.2-5
- Unbreak CMake Qt6::ExampleIconsPrivate package
* Mon Aug 28 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 6.5.2-4
- Use bundled libb2 in RHEL builds
* Fri Aug 11 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.2-3
- Don't use QGnomePlatform by default on F39+
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jul 21 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.2-1
- 6.5.2
* Wed Jul 12 2023 František Zatloukal <fzatlouk@redhat.com> - 6.5.1-4
- Rebuilt for ICU 73.2
* Wed Jul 12 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.1-3
- Bump build for private API version change
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 6.5.1-2
- Rebuilt for ICU 73.2
* Mon May 22 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.1-1
- 6.5.1

View File

@ -0,0 +1,51 @@
From 4e517492a03b6c0b710a2d9a3df05922ac233992 Mon Sep 17 00:00:00 2001
From: Christophe Marin <christophe@krop.fr>
Date: Wed, 24 May 2023 11:23:39 +0200
Subject: [PATCH] CMake: Install objects files into 'ARCHDATADIR'
Change-Id: I917a9ef4d83f93eb5c3e47964bf1814d1b53fdab
---
cmake/QtResourceHelpers.cmake | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/cmake/QtResourceHelpers.cmake b/cmake/QtResourceHelpers.cmake
index 2df1fed50f..e4f34b5ff1 100644
--- a/cmake/QtResourceHelpers.cmake
+++ b/cmake/QtResourceHelpers.cmake
@@ -38,7 +38,7 @@ function(qt_internal_add_resource target resourceName)
if (out_targets)
qt_install(TARGETS ${out_targets}
EXPORT "${INSTALL_CMAKE_NAMESPACE}${target}Targets"
- DESTINATION "${INSTALL_LIBDIR}"
+ DESTINATION "${INSTALL_ARCHDATADIR}"
)
qt_internal_add_targets_to_additional_targets_export_file(
TARGETS ${out_targets}
@@ -47,7 +47,7 @@ function(qt_internal_add_resource target resourceName)
qt_internal_install_resource_pdb_files("${out_targets}")
qt_internal_record_rcc_object_files("${target}" "${out_targets}"
- INSTALL_DIRECTORY "${INSTALL_LIBDIR}")
+ INSTALL_DIRECTORY "${INSTALL_ARCHDATADIR}")
endif()
if (arg_OUTPUT_TARGETS)
@@ -77,7 +77,7 @@ function(qt_internal_record_rcc_object_files target resource_targets)
# It's comprised of thee following path parts:
#
# part (1) INSTALL_DIRECTORY.
- # A usual value is '${INSTALL_LIBDIR}/' for libraries
+ # A usual value is '${INSTALL_ARCHDATADIR}/' for libraries
# and '${INSTALL_QMLDIR}/foo/bar/' for qml plugin resources.
#
# part (2) the value computed by CMake's computeInstallObjectDir comprised of an
@@ -128,6 +128,6 @@ function(qt_internal_install_resource_pdb_files objlib_targets)
_qt_resource_generated_cpp_relative_path)
get_filename_component(rel_obj_file_dir "${generated_cpp_file_relative_path}" DIRECTORY)
qt_internal_install_pdb_files(${target}
- "${INSTALL_LIBDIR}/objects-$<CONFIG>/${target}/${rel_obj_file_dir}")
+ "${INSTALL_ARCHDATADIR}/objects-$<CONFIG>/${target}/${rel_obj_file_dir}")
endforeach()
endfunction()
--
2.40.1

View File

@ -0,0 +1,85 @@
diff --git a/src/gui/text/unix/qfontconfigdatabase.cpp b/src/gui/text/unix/qfontconfigdatabase.cpp
index 474644b8..f61e6e83 100644
--- a/src/gui/text/unix/qfontconfigdatabase.cpp
+++ b/src/gui/text/unix/qfontconfigdatabase.cpp
@@ -592,6 +592,7 @@ void QFontconfigDatabase::populateFontDatabase()
++f;
}
+ cacheEmojiFontFamily();
//QPA has very lazy population of the font db. We want it to be initialized when
//QApplication is constructed, so that the population procedure can do something like this to
//set the default font
@@ -735,6 +736,9 @@ QStringList QFontconfigDatabase::fallbacksForFamily(const QString &family, QFont
if (!pattern)
return fallbackFamilies;
+ if (!m_cacheEmojiFontFamily.isEmpty())
+ fallbackFamilies << m_cacheEmojiFontFamily;
+
FcValue value;
value.type = FcTypeString;
const QByteArray cs = family.toUtf8();
@@ -1016,4 +1020,47 @@ void QFontconfigDatabase::setupFontEngine(QFontEngineFT *engine, const QFontDef
engine->glyphFormat = format;
}
+void QFontconfigDatabase::cacheEmojiFontFamily()
+{
+ FcPattern *pattern;
+ pattern = FcPatternCreate();
+
+ FcValue value;
+ value.type = FcTypeString;
+ value.u.s = (const FcChar8 *)"emoji";
+ FcPatternAdd(pattern,FC_FAMILY,value,true);
+
+ FcLangSet *ls = FcLangSetCreate();
+ FcLangSetAdd(ls, (const FcChar8*)"und-zsye");
+ FcPatternAddLangSet(pattern, FC_LANG, ls);
+
+ FcConfigSubstitute(nullptr, pattern, FcMatchPattern);
+ FcDefaultSubstitute(pattern);
+
+ FcResult result = FcResultMatch;
+ FcFontSet *fontSet = FcFontSort(nullptr,pattern,FcTrue,nullptr,&result);
+ FcPatternDestroy(pattern);
+
+ if (fontSet) {
+ for (int i = 0; i < fontSet->nfont; i++) {
+ FcChar8 *value = nullptr;
+ if (FcPatternGetString(fontSet->fonts[i], FC_FAMILY, 0, &value) != FcResultMatch)
+ continue;
+
+ FcLangSet *rls = nullptr;
+ if (FcPatternGetLangSet(fontSet->fonts[i], FC_LANG, 0, &rls) != FcResultMatch)
+ continue;
+
+ if (!FcLangSetContains(rls, ls))
+ continue;
+
+ m_cacheEmojiFontFamily = QString::fromUtf8((const char *)value);
+ break;
+ }
+ FcFontSetDestroy(fontSet);
+ }
+
+ FcLangSetDestroy(ls);
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/text/unix/qfontconfigdatabase_p.h b/src/gui/text/unix/qfontconfigdatabase_p.h
index cf15306e..90b94087 100644
--- a/src/gui/text/unix/qfontconfigdatabase_p.h
+++ b/src/gui/text/unix/qfontconfigdatabase_p.h
@@ -37,7 +37,10 @@ public:
QFont defaultFont() const override;
private:
+ void cacheEmojiFontFamily();
void setupFontEngine(QFontEngineFT *engine, const QFontDef &fontDef) const;
+
+ QString m_cacheEmojiFontFamily;
};
QT_END_NAMESPACE

View File

@ -1,36 +0,0 @@
diff --git a/examples/corelib/tools/contiguouscache/randomlistmodel.h b/examples/corelib/tools/contiguouscache/randomlistmodel.h
index 1fabb0d9..393ebaa3 100644
--- a/examples/corelib/tools/contiguouscache/randomlistmodel.h
+++ b/examples/corelib/tools/contiguouscache/randomlistmodel.h
@@ -50,6 +50,7 @@
#ifndef RANDOMLISTMODEL_H
#define RANDOMLISTMODEL_H
+#include <limits>
#include <QContiguousCache>
#include <QAbstractListModel>
diff --git a/src/corelib/text/qanystringview.h b/src/corelib/text/qanystringview.h
index a7606253..60747cf0 100644
--- a/src/corelib/text/qanystringview.h
+++ b/src/corelib/text/qanystringview.h
@@ -39,6 +39,7 @@
#ifndef QANYSTRINGVIEW_H
#define QANYSTRINGVIEW_H
+#include <limits>
#include <QtCore/qstringview.h>
#include <QtCore/qutf8stringview.h>
diff --git a/src/corelib/text/qbytearray.h b/src/corelib/text/qbytearray.h
index 9f646aaa..a5af793c 100644
--- a/src/corelib/text/qbytearray.h
+++ b/src/corelib/text/qbytearray.h
@@ -41,6 +41,7 @@
#ifndef QBYTEARRAY_H
#define QBYTEARRAY_H
+#include <limits>
#include <QtCore/qrefcount.h>
#include <QtCore/qnamespace.h>
#include <QtCore/qarraydata.h>

View File

@ -1 +1 @@
SHA512 (qtbase-everywhere-src-6.5.1.tar.xz) = 7f7b20bbc25cda65266d6067cdd68e3e077636988d67dbf5783f79a61186135fb3a36d57ac72cfe4501012035b630ab1f5849148e4817726d4f459fa1937e91a
SHA512 (qtbase-everywhere-src-6.6.1.tar.xz) = 93e77b9b077a3acd5607b643db282fdd7ed0bdfa07df74c3f0d2285afeb1672a6fa229a7e7a6c8a462701305fc22ffef20c212d906484e50fb5cdb706a7b72e1