+#
+# Conditional build:
+%bcond_without webengine # QtWebEngine based help viewer
+
+%ifnarch %{x8664} aarch64
+%undefine with_webengine
+%endif
+
+%define qtver 6
+
Summary: An IDE tailored to the needs of Qt developers
-Summary(pl.UTF-8): IDE dostosowane do potrzeb developerow Qt
+Summary(pl.UTF-8): IDE dostosowane do potrzeb programistów Qt
Name: qt-creator
-Version: 4.1.0
-Release: 1
+Version: 8.0.2
+Release: 3
Epoch: 1
License: LGPL v2.1
Group: X11/Development/Tools
-Source0: http://download.qt.io/official_releases/qtcreator/4.1/%{version}/%{name}-opensource-src-%{version}.tar.xz
-# Source0-md5: c90743aad6e222db88e4d52267b82cff
-Source1: %{name}.desktop
-Patch0: %{name}-libexec.patch
-URL: http://doc.qt.io/qt-5/topics-app-development.html
-BuildRequires: Qt5Concurrent-devel >= 5.4.0
-BuildRequires: Qt5Declarative-devel >= 5.4.0
-BuildRequires: Qt5Designer-devel >= 5.4.0
-BuildRequires: Qt5Gui-devel >= 5.4.0
-BuildRequires: Qt5Help-devel >= 5.4.0
-BuildRequires: Qt5Network-devel >= 5.4.0
-BuildRequires: Qt5Script-devel >= 5.4.0
-BuildRequires: Qt5Svg-devel >= 5.4.0
-BuildRequires: Qt5UiTools-devel >= 5.4.0
-BuildRequires: Qt5WebKit-devel >= 5.4.0
-BuildRequires: Qt5Xml-devel >= 5.4.0
-BuildRequires: clang-devel >= 3.8.0
+Source0: https://download.qt.io/official_releases/qtcreator/8.0/%{version}/%{name}-opensource-src-%{version}.tar.xz
+# Source0-md5: bdd73958efa2383a6a0953b81f48cc57
+Patch0: llvm15.patch
+URL: https://doc.qt.io/qt-5/topics-app-development.html
+BuildRequires: Qt6Concurrent-devel >= %{qtver}
+BuildRequires: Qt6Designer-devel >= %{qtver}
+BuildRequires: Qt6Gui-devel >= %{qtver}
+BuildRequires: Qt6Help-devel >= %{qtver}
+BuildRequires: Qt6Network-devel >= %{qtver}
+BuildRequires: Qt6PrintSupport-devel >= %{qtver}
+BuildRequires: Qt6Qml-devel >= %{qtver}
+BuildRequires: Qt6Qt5Compat-devel >= %{qtver}
+BuildRequires: Qt6Quick-devel >= %{qtver}
+BuildRequires: Qt6SerialPort-devel >= %{qtver}
+BuildRequires: Qt6ShaderTools-devel >= %{qtver}
+BuildRequires: Qt6Sql-devel >= %{qtver}
+BuildRequires: Qt6Svg-devel >= %{qtver}
+BuildRequires: Qt6UiTools-devel >= %{qtver}
+%{?with_webengine:BuildRequires: Qt6WebEngine-devel >= %{qtver}}
+BuildRequires: Qt6Widgets-devel >= %{qtver}
+BuildRequires: Qt6Xml-devel >= %{qtver}
+BuildRequires: clang-devel >= 6.0.0
BuildRequires: gdb
BuildRequires: libstdc++-devel
-BuildRequires: llvm-devel >= 3.8.0
-BuildRequires: qt5-build >= 5.4.0
-BuildRequires: qt5-linguist
-BuildRequires: qt5-qmake >= 5.4.0
-BuildRequires: rpmbuild(macros) >= 1.602
+BuildRequires: llvm-devel >= 7.0.0
+BuildRequires: qt6-build >= %{qtver}
+BuildRequires: qt6-linguist
+BuildRequires: qt6-shadertools
+BuildRequires: rpmbuild(macros) >= 1.742
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
Requires(post,postun): desktop-file-utils
-%requires_eq Qt5Core
-Requires: Qt5Gui-platform-xcb
-Requires: Qt5Quick-controls
-Requires: Qt5Sql-sqldriver-sqlite3
+%requires_eq Qt6Core
+Requires: Qt6Gui-platform-xcb
+Requires: Qt6Sql-sqldriver-sqlite3
Requires: hicolor-icon-theme
+Requires: qt5-qtdeclarative
# for xdg-open
Suggests: xdg-utils
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define skip_post_check_so 'libClangsupport\.so.*'
+
%description
Qt Creator is a cross-platform integrated development environment
(IDE) tailored to the needs of Qt developers.
%description -l pl.UTF-8
-Qt Creator to wieloplatformowe IDE dostosowane do potrzeb developerow
+Qt Creator to wieloplatformowe IDE dostosowane do potrzeb programistów
Qt.
%prep
%setup -q -n %{name}-opensource-src-%{version}
%patch0 -p1
-# fix unresolved symbols in libQtcSsh
-echo >> src/libs/ssh/ssh_dependencies.pri
-echo "LIBS += -ldl" >> src/libs/ssh/ssh_dependencies.pri
+sed -i '1s|^#!.*python\b|#!%{__python}|' src/shared/qbs/src/3rdparty/python/bin/dmgbuild
%build
-export QTDIR=%{_libdir}/qt5
-# the qmakespec in qt4 is somewhat broken, need to look at this
-#export QMAKESPEC=%{_datadir}/qt4/mkspecs/linux-g++/
-
-qmake-qt5 qtcreator.pro \
- IDE_LIBRARY_BASENAME="%{_lib}" \
- LLVM_INSTALL_DIR="%{_prefix}" \
- QMAKE_CXX="%{__cxx}" \
- QMAKE_LINK="%{__cxx}" \
- QMAKE_CXXFLAGS_RELEASE="%{rpmcxxflags}" \
- QMAKE_RPATH=
+%cmake -B build \
+ -DBUILD_QBS:BOOL=ON \
+ %{cmake_on_off webengine BUILD_HELPVIEWERBACKEND_QTWEBENGINE}
-%{__make}
+%{__make} -C build
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_desktopdir}
-export QTDIR=%{_libdir}/qt5
-%{__make} install \
- INSTALL_ROOT=$RPM_BUILD_ROOT%{_prefix}
+%{__make} -C build install \
+ DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/qtcreator" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/qtcreator.conf
+cp -p share/applications/org.qt-project.qtcreator.desktop $RPM_BUILD_ROOT%{_desktopdir}
-cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+rm -f $RPM_BUILD_ROOT%{_libdir}/qtcreator/*.prl
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/qbs
%attr(755,root,root) %{_bindir}/qbs-config
%attr(755,root,root) %{_bindir}/qbs-config-ui
-%attr(755,root,root) %{_bindir}/qbs-qmltypes
+%attr(755,root,root) %{_bindir}/qbs-create-project
%attr(755,root,root) %{_bindir}/qbs-setup-android
%attr(755,root,root) %{_bindir}/qbs-setup-qt
%attr(755,root,root) %{_bindir}/qbs-setup-toolchains
%attr(755,root,root) %{_bindir}/qtcreator
%{_sysconfdir}/ld.so.conf.d/qtcreator.conf
+%dir %{_libexecdir}/qtcreator
+%attr(755,root,root) %{_libexecdir}/qtcreator/buildoutputparser
+%attr(755,root,root) %{_libexecdir}/qtcreator/cpaster
+%attr(755,root,root) %{_libexecdir}/qtcreator/dmgbuild
+%attr(755,root,root) %{_libexecdir}/qtcreator/perf2text
+%attr(755,root,root) %{_libexecdir}/qtcreator/perfparser
+%attr(755,root,root) %{_libexecdir}/qtcreator/qtcreator_processlauncher
+%attr(755,root,root) %{_libexecdir}/qtcreator/qbs_processlauncher
+%attr(755,root,root) %{_libexecdir}/qtcreator/qml2puppet
+%attr(755,root,root) %{_libexecdir}/qtcreator/qtcreator_process_stub
+%attr(755,root,root) %{_libexecdir}/qtcreator/qtc-askpass
+%attr(755,root,root) %{_libexecdir}/qtcreator/qtpromaker
+%attr(755,root,root) %{_libexecdir}/qtcreator/sdktool
%dir %{_libdir}/qtcreator
-%attr(755,root,root) %{_libdir}/qtcreator/buildoutputparser
-%attr(755,root,root) %{_libdir}/qtcreator/clangbackend
-%attr(755,root,root) %{_libdir}/qtcreator/cpaster
-%attr(755,root,root) %{_libdir}/qtcreator/qml2puppet
-%attr(755,root,root) %{_libdir}/qtcreator/qtcreator_process_stub
-%attr(755,root,root) %{_libdir}/qtcreator/qtpromaker
-%attr(755,root,root) %{_libdir}/qtcreator/sdktool
%attr(755,root,root) %{_libdir}/qtcreator/lib*.so.*.*
%attr(755,root,root) %{_libdir}/qtcreator/lib*.so
-%attr(755,root,root) %ghost %{_libdir}/qtcreator/lib*.so.1
-%attr(755,root,root) %ghost %{_libdir}/qtcreator/lib*.so.4
+%attr(755,root,root) %ghost %{_libdir}/qtcreator/lib*.so.8
%dir %{_libdir}/qtcreator/plugins
%attr(755,root,root) %{_libdir}/qtcreator/plugins/lib*.so
%dir %{_libdir}/qtcreator/plugins/qbs
%dir %{_libdir}/qtcreator/plugins/qbs/plugins
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libclangcompilationdbgenerator.so
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libiarewgenerator.so
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libkeiluvgenerator.so
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libmakefilegenerator.so
%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libqbs_cpp_scanner.so
%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libqbs_qt_scanner.so
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qbs/plugins/libvisualstudiogenerator.so
%dir %{_libdir}/qtcreator/plugins/qmldesigner
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qmldesigner/libStudioPlugin.so
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qmldesigner/libassetexporterplugin.so
%attr(755,root,root) %{_libdir}/qtcreator/plugins/qmldesigner/libcomponentsplugin.so
+%attr(755,root,root) %{_libdir}/qtcreator/plugins/qmldesigner/libqmlpreviewplugin.so
%attr(755,root,root) %{_libdir}/qtcreator/plugins/qmldesigner/libqtquickplugin.so
%{_datadir}/qtcreator
-%{_desktopdir}/qt-creator.desktop
-%{_iconsdir}/hicolor/*/*/*.png
+%{_datadir}/metainfo/org.qt-project.qtcreator.appdata.xml
+%{_desktopdir}/org.qt-project.qtcreator.desktop
+%{_iconsdir}/hicolor/*x*/apps/QtProject-qtcreator.png