%bcond_without directfb # DirectFB platform support
%bcond_without egl # EGL (EGLFS, minimal EGL) platform support
%bcond_without gtk # GTK+ theme integration
+%bcond_without kerberos5 # KRB5 GSSAPI Support
%bcond_without kms # KMS platform support
%bcond_without libinput # libinput support
%bcond_without pch # pch (pre-compiled headers) in qmake
%ifarch pentium4 %{x8664} x32
%define with_sse2 1
%endif
+# QTBUG-36129
+%ifnarch %{arm} aarch64
+%define with_red_reloc 1
+%endif
%if %{with bootstrap}
%undefine with_doc
%undefine with_qm
%endif
-%define icu_abi 65
+%define icu_abi 70
%define next_icu_abi %(echo $((%{icu_abi} + 1)))
%define orgname qtbase
Summary: Qt5 - base components
Summary(pl.UTF-8): Biblioteka Qt5 - podstawowe komponenty
Name: qt5-%{orgname}
-Version: 5.14.2
-Release: 1
-# See LGPL_EXCEPTION.txt for exception details
-License: LGPL v2 with Digia Qt LGPL Exception v1.1 or GPL v3
+Version: 5.15.2
+Release: 8.1
+License: LGPL v3 or GPL v2 or GPL v3 or commercial
Group: X11/Libraries
-Source0: http://download.qt.io/official_releases/qt/5.14/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
-# Source0-md5: b6c14e01ff20925305be109785ed4aa4
-Source1: http://download.qt.io/official_releases/qt/5.14/%{version}/submodules/qttranslations-everywhere-src-%{version}.tar.xz
-# Source1-md5: bcf8b00e49f4fe4271ff4651bf32aca8
+Source0: https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/%{orgname}-everywhere-src-%{version}.tar.xz
+# Source0-md5: 0eb522ff6c2194f9690cbdcd5b33e803
+Source1: https://download.qt.io/official_releases/qt/5.15/%{version}/submodules/qttranslations-everywhere-src-%{version}.tar.xz
+# Source1-md5: 9b66cdb64402e8fd9e843f8a7120abb1
Patch0: %{name}-system_cacerts.patch
-URL: http://www.qt.io/
+Patch1: gcc11.patch
+Patch2: egl-x11.patch
+URL: https://www.qt.io/
%{?with_directfb:BuildRequires: DirectFB-devel}
BuildRequires: EGL-devel
%{?with_ibase:BuildRequires: Firebird-devel}
%{?with_kms:BuildRequires: Mesa-libgbm-devel}
BuildRequires: OpenGL-devel
%{?with_kms:BuildRequires: OpenGLESv2-devel}
+BuildRequires: Vulkan-Loader-devel
BuildRequires: at-spi2-core-devel
%{?with_cups:BuildRequires: cups-devel >= 1.4}
BuildRequires: dbus-devel >= 1.2
BuildRequires: double-conversion-devel
BuildRequires: fontconfig-devel
%{?with_freetds:BuildRequires: freetds-devel}
-BuildRequires: freetype-devel >= 2.1.3
+BuildRequires: freetype-devel >= 2.2.0
%{?with_pch:BuildRequires: gcc >= 5:4.0}
BuildRequires: gdb
BuildRequires: glib2-devel >= 2.0.0
%{?with_gtk:BuildRequires: gtk+3-devel >= 3.6}
BuildRequires: harfbuzz-devel >= 1.6.0
+%{?with_kerberos5:BuildRequires: heimdal-devel}
%{?with_kms:BuildRequires: libdrm-devel}
# see dependency on libicu version below
BuildRequires: libicu-devel < %{next_icu_abi}
%{?with_libinput:BuildRequires: libinput-devel}
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 2:1.0.8
-BuildRequires: libstdc++-devel
+BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: libxcb-devel >= 1.12
BuildRequires: mtdev-devel
%{?with_mysql:BuildRequires: mysql-devel}
-BuildRequires: openssl-devel >= 1.0.0
+BuildRequires: openssl-devel >= 1.1.1
%{?with_oci:BuildRequires: oracle-instantclient-devel}
-BuildRequires: pcre2-16-devel >= 8.20
+BuildRequires: pcre2-16-devel >= 10.20
BuildRequires: pkgconfig
%{?with_pgsql:BuildRequires: postgresql-backend-devel}
%{?with_pgsql:BuildRequires: postgresql-devel}
%{?with_qm:BuildRequires: qt5-linguist >= 5.2}
-%{?with_doc:BuildRequires: qt5-assistant}
-BuildRequires: rpmbuild(macros) >= 1.654
+%{?with_doc:BuildRequires: qt5-assistant >= 5.9}
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sed >= 4.0
%{?with_sqlite2:BuildRequires: sqlite-devel}
%{?with_sqlite3:BuildRequires: sqlite3-devel}
%{?with_tslib:BuildRequires: tslib-devel}
BuildRequires: udev-devel
%{?with_odbc:BuildRequires: unixODBC-devel >= 2.3.0}
-BuildRequires: Vulkan-Loader-devel
BuildRequires: wayland-devel
BuildRequires: xcb-util-image-devel >= 0.3.9
BuildRequires: xcb-util-keysyms-devel >= 0.3.9
BuildRequires: xorg-lib-libxkbcommon-devel >= 0.5.0
BuildRequires: xorg-lib-libxkbcommon-x11-devel >= 0.5.0
BuildRequires: xz
-BuildRequires: zlib-devel
+BuildRequires: zlib-devel >= 1.0.8
BuildRequires: zstd-devel >= 1.3
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Group: Development/Libraries
# for (subset of) Qt5Core headers
Requires: Qt5Core-devel = %{version}-%{release}
-Requires: zlib-devel
+Requires: zlib-devel >= 1.0.8
%description -n Qt5AccessibilitySupport-devel
Qt5 AccessibilitySupport library - development files.
Group: Development/Libraries
# for (subset of) Qt5Core headers
Requires: Qt5Core-devel = %{version}-%{release}
-Requires: zlib-devel
+Requires: zlib-devel >= 1.0.8
%description -n Qt5Bootstrap-devel
Qt5 Bootstrap library (minimal part of Qt5 Core) - development files.
Summary: Qt5 Core library
Summary(pl.UTF-8): Biblioteka Qt5 Core
Group: Libraries
-Requires: pcre16 >= 8.30
+Requires: pcre2-16 >= 10.20
+Requires: zlib >= 1.0.8
Requires: zstd >= 1.3
-Obsoletes: qt5-qtbase
+Obsoletes: qt5-qtbase < 5.2.0-1
%description -n Qt5Core
Qt5 Core library provides core non-GUI functionality.
Summary(pl.UTF-8): Biblioteka Qt5 Core - pliki programistyczne
Group: Development/Libraries
Requires: Qt5Core = %{version}-%{release}
-Requires: glib2-devel >= 2.0
Requires: libicu-devel
-Requires: pcre16-devel >= 8.30
-Requires: zlib-devel
-Obsoletes: qt5-qtbase-devel
+Requires: libstdc++-devel >= 6:4.7
+Requires: pcre2-16-devel >= 10.20
+Requires: qt5-build = %{version}-%{release}
+Requires: qt5-qmake = %{version}-%{release}
+Requires: zlib-devel >= 1.0.8
+Obsoletes: qt5-qtbase-devel < 5.2.0-1
%description -n Qt5Core-devel
Header files for Qt5 Core library.
Group: Development/Libraries
# for (subset of) Qt5Core headers
Requires: Qt5Core-devel = %{version}-%{release}
+Requires: glib2-devel >= 2.0
%description -n Qt5EventDispatcherSupport-devel
Qt5 EventDispatcherSupport library - development files.
Requires: Qt5DBus = %{version}-%{release}
# for compose platforminputcontext plugin
Requires: xorg-lib-libxkbcommon >= 0.4.1
+Suggests: Qt5Gui-platform-xcb
%description -n Qt5Gui
The Qt5 GUI library provides the basic enablers for graphical
Summary(pl.UTF-8): Wtyczka motywów platform Qt5 Gui dla GTK+ 3.x
Group: Libraries
Requires: Qt5Gui = %{version}-%{release}
+Obsoletes: Qt5Gui-platformtheme-gtk2 < 5.8
%description -n Qt5Gui-platformtheme-gtk3
Qt5 Gui platform theme plugin for GTK+ 3.x.
Summary(pl.UTF-8): Wtyczka motywów platform Qt5 Gui dla xdg-desktop-portal
Group: Libraries
Requires: Qt5Gui = %{version}-%{release}
+Requires: harfbuzz >= 1.6.0
Obsoletes: Qt5Gui-platformtheme-flatpak < 5.12.1
%description -n Qt5Gui-platformtheme-xdgdesktopportal
Group: Development/Libraries
Requires: Qt5Core-devel = %{version}-%{release}
Requires: Qt5Network = %{version}-%{release}
-Requires: openssl-devel
+%requires_ge openssl-devel
%description -n Qt5Network-devel
Header files for Qt5 Network library.
Requires: Qt5DBus-devel = %{version}-%{release}
Requires: Qt5Gui-devel = %{version}-%{release}
Requires: fontconfig-devel
-Requires: freetype-devel >= 2.1.3
+Requires: freetype-devel >= 2.2.0
Requires: udev-devel
Requires: xorg-lib-libX11-devel
Requires: xorg-lib-libXext-devel
%description -n Qt5Test-devel -l pl.UTF-8
Pliki nagłówkowe biblioteki Qt5 Test.
-%package -n -devel
-Summary: library - development files
-Summary(pl.UTF-8): Biblioteka - pliki programistyczne
-Group: Development/Libraries
-# for (subset of) Qt5Core headers
-Requires: Qt5Core-devel = %{version}-%{release}
-Requires: zlib-devel
-
-%description -n -devel
-library - development files.
-
-%description -n -devel -l pl.UTF-8
-Biblioteka - pliki programistyczne.
-
%package -n Qt5VulkanSupport-devel
Summary: Qt5 VulkanSupport library - development files
Summary(pl.UTF-8): Biblioteka Qt5 VulkanSupport - pliki programistyczne
Summary: Common part of Qt5 documentation
Summary(pl.UTF-8): Część wspólna dokumentacji do Qt5
Group: Documentation
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description -n qt5-doc-common
Common part of Qt5 documentation, global for all components.
Summary(pl.UTF-8): Dokumentacja podstawowych komponentów szkieletu aplikacji Qt5 w formacie HTML
Group: Documentation
Requires: qt5-doc-common = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc
-Qt5 application framework base components documentation in HTML format.
+Qt5 application framework base components documentation in HTML
+format.
%description doc -l pl.UTF-8
-Dokumentacja podstawowych komponentów szkieletu aplikacji Qt5 w formacie HTML.
+Dokumentacja podstawowych komponentów szkieletu aplikacji Qt5 w
+formacie HTML.
%package doc-qch
Summary: Qt5 application framework base components documentation in QCH format
Summary(pl.UTF-8): Dokumentacja podstawowych komponentów szkieletu aplikacji Qt5 w formacie QCH
Group: Documentation
Requires: qt5-doc-common = %{version}-%{release}
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description doc-qch
Qt5 application framework base components documentation in QCH format.
%description doc-qch -l pl.UTF-8
-Dokumentacja podstawowych komponentów szkieletu aplikacji Qt5 w formacie QCH.
+Dokumentacja podstawowych komponentów szkieletu aplikacji Qt5 w
+formacie QCH.
%package examples
Summary: Examples for Qt5 application framework base components
Summary(pl.UTF-8): Przykłady do podstawowych komponentów szkieletu aplikacji Qt5
Group: X11/Development/Libraries
-%if "%{_rpmversion}" >= "5"
BuildArch: noarch
-%endif
%description examples
Examples for Qt5 application framework base components.
%prep
%setup -q -n %{orgname}-everywhere-src-%{version} %{?with_qm:-a1}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%{__sed} -i -e 's,usr/X11R6/,usr/,g' mkspecs/linux-g++-64/qmake.conf
-%{!?with_gtk:no-}gtk \
-icu \
%{?with_systemd:-journald} \
+ -no-compile-examples \
%{!?with_egl:-no-eglfs} \
%{!?with_statx:-no-feature-statx} \
%{!?with_kms:-no-kms} \
-openssl-linked \
-optimized-qmake \
-%{!?with_pch:no-}pch \
- -reduce-relocations \
+ %{?with_red_reloc:-reduce-relocations} \
-sm \
+ -system-doubleconversion \
-system-freetype \
+ -system-harfbuzz \
-system-libjpeg \
-system-libpng \
-system-pcre \
-system-sqlite \
- -system-xcb \
-system-zlib \
%{?with_tslib:-tslib} \
- -xcb-xinput \
+ -xcb \
-xkbcommon \
%{!?with_db2:-no}-sql-db2 \
%{!?with_ibase:-no}-sql-ibase \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/qt5,%{_bindir},%{_pkgconfigdir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/qt5,%{_bindir},%{_pkgconfigdir},%{qt5dir}/libexec}
# for QtSolutions (qtlockedfile, qtsingleapplication, etc)
install -d $RPM_BUILD_ROOT%{_includedir}/qt5/QtSolutions
find_qt5_qm qtbase >> qtbase.lang
%endif
+install -d $RPM_BUILD_ROOT%{qt5dir}/plugins/styles
+
%clean
rm -rf $RPM_BUILD_ROOT
# static-only
%{_libdir}/libQt5Bootstrap.a
%{_libdir}/libQt5Bootstrap.prl
-%{_libdir}/cmake/Qt5Bootstrap
%{qt5dir}/mkspecs/modules/qt_lib_bootstrap_private.pri
%files -n Qt5Concurrent
%files -n Qt5Core -f qtbase.lang
%defattr(644,root,root,755)
-%doc header.* dist/{README,changes-*}
+%doc dist/{README,changes-*}
%attr(755,root,root) %{_libdir}/libQt5Core.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libQt5Core.so.5
%dir %{_sysconfdir}/qt5
%dir %{qt5dir}
%dir %{qt5dir}/bin
+%dir %{qt5dir}/libexec
%dir %{qt5dir}/mkspecs
%dir %{qt5dir}/mkspecs/modules
%dir %{qt5dir}/plugins
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5Core.so
%{_libdir}/libQt5Core.prl
+%dir %{_libdir}/metatypes
+%{_libdir}/metatypes/qt5core_metatypes.json
%dir %{_includedir}/qt5
%dir %{_includedir}/qt5/QtSolutions
%{_includedir}/qt5/QtCore
%attr(755,root,root) %{qt5dir}/bin/qvkgen
%attr(755,root,root) %{_libdir}/libQt5Gui.so
%{_libdir}/libQt5Gui.prl
+%{_libdir}/metatypes/qt5gui_metatypes.json
%{_includedir}/qt5/QtGui
%{_includedir}/qt5/QtPlatformHeaders
%{_pkgconfigdir}/Qt5Gui.pc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5Widgets.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libQt5Widgets.so.5
+%dir %{qt5dir}/plugins/styles
%files -n Qt5Widgets-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libQt5Widgets.so
%{_libdir}/libQt5Widgets.prl
+%{_libdir}/metatypes/qt5widgets_metatypes.json
%{_includedir}/qt5/QtWidgets
%{_pkgconfigdir}/Qt5Widgets.pc
%dir %{_libdir}/cmake/Qt5Widgets
%{qt5dir}/mkspecs/qnx-*
%{qt5dir}/mkspecs/solaris-*
%{qt5dir}/mkspecs/unsupported
+%{qt5dir}/mkspecs/wasm-emscripten
%{qt5dir}/mkspecs/win32-*
%{qt5dir}/mkspecs/winrt-*
%{qt5dir}/mkspecs/*.pri