diff --git a/.gitignore b/.gitignore index f96fe9b..5b3b45f 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,8 @@ /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 +/qtbase-everywhere-src-6.6.2.tar.xz diff --git a/qt6-qtbase.spec b/qt6-qtbase.spec index 6a8b26c..b0767d8 100644 --- a/qt6-qtbase.spec +++ b/qt6-qtbase.spec @@ -37,8 +37,8 @@ BuildRequires: pkgconfig(libsystemd) Name: qt6-qtbase Summary: Qt6 - QtBase components -Version: 6.5.2 -Release: 5%{?dist} +Version: 6.6.2 +Release: 1%{?dist} License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0 Url: http://qt-project.org/ @@ -87,8 +87,9 @@ 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 @@ -127,7 +128,9 @@ 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) @@ -192,7 +195,7 @@ Requires: %{name}-common = %{version}-%{release} %if 0%{?fedora} || 0%{?epel} %global ibase 1 %endif - + %description Qt is a software toolkit for developing applications. @@ -218,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 @@ -296,7 +301,10 @@ 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} +# Required for some locales: https://pagure.io/fedora-kde/SIG/issue/311 +Recommends: qt6-qttranslations # for Source6: 10-qt6-check-opengl2.sh: # glxinfo Requires: glx-utils @@ -354,6 +362,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 \ @@ -411,7 +420,7 @@ translationdir=%{_qt6_translationdir} Name: Qt6 Description: Qt6 Configuration -Version: 6.5.2 +Version: 6.6.2 EOF # rpm macros @@ -586,6 +595,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 @@ -596,6 +606,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 @@ -786,7 +797,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 @@ -824,6 +837,49 @@ make check -k ||: %changelog +* Thu Feb 15 2024 Jan Grulich - 6.6.2-1 +- 6.6.2 + +* Wed Jan 31 2024 Pete Walter - 6.6.1-5 +- Rebuild for ICU 74 + +* Fri Jan 26 2024 Fedora Release Engineering - 6.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 6.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Tue Dec 12 2023 Timothée Ravier - 6.6.1-2 +- Recommend qt6-qttranslations + +* Mon Nov 27 2023 Jan Grulich - 6.6.1-1 +- 6.6.1 + +* Fri Nov 10 2023 Alessandro Astone - 6.6.0-7 +- Add xkbcommon as a devel dependency + +* Thu Nov 09 2023 Jan Grulich - 6.6.0-6 +- Revert: Fix Qt not showing up emoji by handling emoji font family + +* Tue Nov 07 2023 Jan Grulich - 6.6.0-5 +- Fix Qt not showing up emoji by handling emoji font family + +* Mon Nov 06 2023 Jan Grulich - 6.6.0-4 +- Upstream backports + - a11y - fix race condition on atspi startup on Wayland + +* Mon Oct 23 2023 Jan Grulich - 6.6.0-3 +- Do not use tslib on RHEL builds + +* Sun Oct 15 2023 Neal Gompa - 6.6.0-2 +- Add qtwayland weak dep to -gui subpackage and use arched weak deps + +* Tue Oct 10 2023 Jan Grulich - 6.6.0-1 +- 6.6.0 + +* Sun Oct 01 2023 Justin Zobel - 6.5.3-1 +- new version + * Sun Sep 03 2023 LuK1337 - 6.5.2-5 - Unbreak CMake Qt6::ExampleIconsPrivate package diff --git a/qtbase-cache-emoji-font.patch b/qtbase-cache-emoji-font.patch new file mode 100644 index 0000000..2ec9a05 --- /dev/null +++ b/qtbase-cache-emoji-font.patch @@ -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 diff --git a/qtbase-gcc11.patch b/qtbase-gcc11.patch deleted file mode 100644 index dfbd08f..0000000 --- a/qtbase-gcc11.patch +++ /dev/null @@ -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 - #include - #include - -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 - #include - #include - -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 - #include - #include - #include diff --git a/sources b/sources index 5151a6f..cd120ad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (qtbase-everywhere-src-6.5.2.tar.xz) = 8d97029aae5b73a3e03624c9a8495dbf2fe54a4f5e992071c06f3d93935e64c80f2121b33eeb60a92d96ceb288cb25d74906a5bf47b45bb018d859d4a2d13f20 +SHA512 (qtbase-everywhere-src-6.6.2.tar.xz) = ea343bcf269779a4e078ed8baddfbe6c5ec4a34275c7d72b3f3928da60feece2ddc9ce4a380c6536a4e1654b483cee8918f8ad3038904725d2dd1c653ae83ece