File qtcreator.spec of Package qtcreator

#
# spec file for package qtcreator-core
#
# Copyright (c) 2015 COMBES Pascal <pascom@orange.fr>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

Name:           qtcreator
Version:        17.0.1
Release:        0
Summary:        Qt Creator lightweight Qt-based C++ IDE tailored for Qt
License:        SUSE-LGPL-2.1-with-digia-exception-1.1
Group:          Development/Tools/IDE
Url:            https://wiki.qt.io/Qt_Creator
Source0:        qtcreator-%{version}.tar.xz
#Source1:        qtcreator.desktop
Source999:      %{name}-rpmlintrc
Patch1:         001-syntax-highlighting-%{version}.patch
Patch2:         002-clang-%{version}.patch
Patch3:         003-todo_filepath-%{version}.patch
Patch4:         004-run_control_signal-%{version}.patch
Patch5:         005-no_src_in_include_path-%{version}.patch
Patch6:         006-separate-exports-%{version}.patch
BuildRequires:  fdupes
BuildRequires:  gdb
BuildRequires:  libbotan-devel >= 2
BuildRequires:  libdw-devel
BuildRequires:  libsecret-devel >= 0.12
BuildRequires:  yaml-cpp-devel >= 0.6
%define min_qt_version 6.5.3
BuildRequires:  cmake(Qt6) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Charts) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Concurrent) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Core) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Core5Compat) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Designer) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Gui) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Help) >= %{min_qt_version}
BuildRequires:  cmake(Qt6LinguistTools) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Network) >= %{min_qt_version}
BuildRequires:  cmake(Qt6PrintSupport) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Qml) >= %{min_qt_version}
BuildRequires:  cmake(Qt6QmlCompiler) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Quick) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Quick3D) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Quick3DAssetImport) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Quick3DAssetUtils) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Quick3DParticles) >= %{min_qt_version}
BuildRequires:  cmake(Qt6QuickWidgets) >= %{min_qt_version}
BuildRequires:  cmake(Qt6SerialPort) >= %{min_qt_version}
BuildRequires:  cmake(Qt6ShaderTools) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Sql) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Svg) >= %{min_qt_version}
BuildRequires:  cmake(Qt6SvgWidgets) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Tools) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Test) >= %{min_qt_version}
BuildRequires:  cmake(Qt6WebEngineWidgets) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Widgets) >= %{min_qt_version}
BuildRequires:  cmake(Qt6Xml) >= %{min_qt_version}
BuildRequires:  qt6-core-private-devel >= %{min_qt_version}
BuildRequires:  qt6-designercomponents-private-devel >= %{min_qt_version}
BuildRequires:  qt6-gui-private-devel >= %{min_qt_version}
BuildRequires:  qt6-qml-private-devel >= %{min_qt_version}
BuildRequires:  qt6-qmlcompiler-private-devel >= %{min_qt_version}
BuildRequires:  qt6-qmldom-devel-static >= %{min_qt_version}
BuildRequires:  qt6-qmltoolingsettings-devel-static >= %{min_qt_version}
BuildRequires:  qt6-quick3dassetutils-private-devel >= %{min_qt_version}
BuildRequires:  qt6-quick3dparticles-private-devel >= %{min_qt_version}
BuildRequires:  %{primary_python}-lxml
BuildRequires:  %{primary_python}-beautifulsoup4
#BuildRequires: llvm-clang-devel >= 6.0.0
BuildRequires:  hicolor-icon-theme

# Fix for internal QML imports (see https://build.opensuse.org/package/view_file/openSUSE:Factory/qml-autoreqprov/README):
#%%global __requires_exclude (CameraGeometry)|(GridGeometry)|(HelperWidgets)|(LineGeometry)|(MouseArea3D)|(QtQuickDesignerTheme)|(SelectionBoxGeometry)|(StudioControls)|(StudioTheme)|(LightUtils)
# Inspired from https://build.opensuse.org/projects/openSUSE:Factory/packages/qt-creator/files/qt-creator.spec?expand=1
# After build: zypper if --requires [package name])
# Before build: grep -Rn import share/qtcreator/ | grep -vP 'QtQuick|QtCharts|QtGraphs|$BELOW_EXPRESSION$' | grep '.qml:' | grep import
%global __requires_exclude qt6qmlimport\\((AssetsLibraryBackend|BackendApi|CameraGeometry|ConnectionsEditorEditorBackend|ContentLibraryBackend|DataModels|DesignSystemBackend|DesignSystemControls|DeviceManagerControls|EffectComposerBackend|EffectComposerPropertyData|ExampleCheckout|GridGeometry|HelperWidgets|ItemLibraryBackend|LandingPage|LandingPageApi|LandingPageTheme|LightUtils|LineGeometry|MaterialBrowserBackend|MaterialToolBarAction|ModelModules|MouseArea3D|NewProjectDialog|OutputPane|ProjectType|PropertyToolBarAction|projectmodel|QmlDesigner.DesignSystem|QtQuickDesignerColorPalette|QtQuickDesignerTheme|ScriptEditorBackend|ScriptsEditor|SelectionBoxGeometry|StatesEditor|StatesEditorBackend|StudioControls|StudioFonts|StudioHelpers|StudioQuickUtils|StudioTheme|StudioWindowManager|TableModules|TextureToolBarAction|ToolBar|UiTour|WebFetcher|WelcomeScreen).*

# Get GCC version (major and minor)
#%%define gcc_version_major %%(gcc --version | grep gcc | cut -d' ' -f 4 | cut -d'.' -f 1)
#%%define gcc_version_minor %%(gcc --version | grep gcc | cut -d' ' -f 4 | cut -d'.' -f 2)

%{echo:SUSEV=%{suse_version}; }
%{echo:SLEV=%{sle_version}; }
%{echo:LeapV=%{leap_version}; }
%{echo:GCCV=%{?gcc_version}; }

# Test if distribution is openSUSE Leap 15.4 to 15.6
%if ((0%{?sle_version} >= 150400) && (0%{?sle_version} <= 150600) && 0%{?is_opensuse})
BuildRequires:  gcc11
BuildRequires:  gcc11-c++
%endif

# Test if distribution is openSUSE Tumbleweed or Slowroll
%if (0%{?suse_version} > 1600)
BuildRequires:  kf6-syntax-highlighting-devel >= 6.5.0
%{echo:Using system syntax-highlighting}
%bcond_without system_syntax_highlighting
%else
%{echo:Using embedded syntax-highlighting}
%bcond_with system_syntax_highlighting
%endif

%description
Qt Creator is a new, lightweight, cross-platform integrated development
environment (IDE) designed to make development with the Qt application
framework even faster and easier.

%package ide
Summary:    The core of Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-data = %{version}
Requires:   qtcreator-plugin-core = %{version}
Conflicts:  qt6-creator
%if 0%{?suse_version} >= 1140
Requires(post):    desktop-file-utils
Requires(postun):  desktop-file-utils
%endif

%description ide
This package contains the core of Qt Creator.
You can add the plugins you desire to extend its functionalities.
    
%package data
BuildArch:  noarch
Summary:    Shared data of Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-ide = %{version}

%description data
This package contains the shared data files used by Qt Creator.    

%if !%{with system_syntax_highlighting}
%package syntax-highlighting
Summary:    Syntax highliting for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-syntax-highlighting-data = %{version}

%description syntax-highlighting
This package contains the syntax highlighting library which is used by Qt
Creator. It is based on KDE syntax highlighting library.

It is provided here since the version of KDE library shipped with Leap is
usually too old to compile Qt Creator.

%package syntax-highlighting-data
Summary:    Syntax highlighting data files for Qt Creator, a plugin-based C++ IDE

%description syntax-highlighting-data
This package contains the syntax highlighting rules which are used by Qt
Creator. These are the default rules which come with KDE syntax
highlighting library.
%endif

%package lib-qlitehtml
Summary:    Light-weight HTML library for Qt Creator, a plugin-based C++ IDE

%description lib-qlitehtml
This package contains a light-weight HTML library written in Qt
used by Qt Creator to for HTML rendering.

# Auto-generated metadata of subpackages

%package lib-advanceddockingsystem
Summary:    Advanced docking system for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-utils = %{version}

%description lib-advanceddockingsystem
This package constains a library implementing an advanced docking in Qt Creator.
It is used by the QML designer plugin.

%package lib-aggregation
Summary:    A library for QObjects storage used by Qt Creator, a plugin-based C++ IDE

%description lib-aggregation
This package contains a library for storing QObjects.
It is used by Qt Creator's extension system.

%package lib-cmdbridgeclient
Summary:    Go command bridge library for Qt Creator, a plugin-based C++ IDE

%description lib-cmdbridgeclient
This package contains command bridge client library for Go, which is used by Qt Creator.

%package lib-cplusplus
Summary:    A C++ parsing library for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-utils = %{version}

%description lib-cplusplus
This package contains a C++ parsing library, which is used by Qt Creator
to parse C++ files.

%package lib-extensionsystem
Summary:    Qt creator plugin management library
Requires:   qtcreator-lib-aggregation = %{version}
Requires:   qtcreator-lib-utils = %{version}

%description lib-extensionsystem
This package contains the "extension system" library,
a powerful plugin management library used by Qt Creator.

%package lib-glsl
Summary:    A library for GLSL language parsing used by Qt Creator, a plugin-based C++ IDE

%description lib-glsl
This package contains a GLSL (OpenGL Shading language) parsing library used by Qt Creator's GLSL plugin.

#%%package lib-googletest
#Summary:    # TODO
#
#%%description lib-googletest
## TODO

%package lib-languageserverprotocol
Summary:    A library implementing language server interface for Qt Creator
Requires:   qtcreator-lib-utils = %{version}

%description lib-languageserverprotocol
This package contains a library implementing a language server interface
to be used by Qt Creator.

%package lib-languageutils
Summary:    Qt Creator language utils library

%description lib-languageutils
This package contains a utility library for languages used by Qt Creator.

%package lib-modeling
Summary:    A UML library for Qt Creator, a plugin-based IDE
Requires:   qtcreator-lib-utils = %{version}

%description lib-modeling
This package contains a library to draw UML (Unified Modeling Language) schemes in Qt Creator.

%package lib-nanotrace
Summary:    A tracing library for Qt Creator, a plugin-based C++ IDE

%description lib-nanotrace
This package contains a basic tracing library, which is used by Qt Creator libraries and plugins.

%package lib-proparser
Summary: Parser for qmake project files for Qt Creator, a plugin-based C++ IDE

%description lib-proparser
This package contains a library allowing to parse qmake project files.

%package lib-qmldebug
Summary:    Qt Creator QML debugger library
Requires:   qtcreator-lib-utils = %{version}

%description lib-qmldebug
This package contains a library, which is used by Qt Creator when debugging QML.

%package lib-qmldesignercore
Summary:    QML designer core library for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-utils = %{version}
Requires:   qtcreator-lib-nanotrace = %{version}

%description lib-qmldesignercore
This package contains the core library of QML designer plugin for Qt Creator

#%%package lib-qmldesignersettings
#Summary:    # TODO
#Requires:   qtcreator-lib-utils = %%{version}
#
#%%description lib-qmldesignersettings
## TODO

#%%package lib-qmldesignerutils
#Summary:    QML designer utilities library for Qt Creator, a plugin-based C++ IDE
#Requires:   qtcreator-lib-utils = %%{version}
#
#%%description lib-qmldesignerutils
#This package contains a library of utilities for QML designer plugin for Qt Creator

%package lib-qmleditorwidgets
Summary:    Qt Creator library containing QML editor widgets
Requires:   qtcreator-lib-qmljs = %{version}

%description lib-qmleditorwidgets
This package contains a library of widgets used by QML editor.

%package lib-qmljs
Summary:    Qt Creator QML JavaScript library
Requires:   qtcreator-lib-cplusplus = %{version}
Requires:   qtcreator-lib-extensionsystem = %{version}
Requires:   qtcreator-lib-languageutils = %{version}

%description lib-qmljs
This package contains a library used by Qt Creator
when parsing QML JavaScript language.

#%%package lib-qmlprojectmanagerlib
#Summary:    QML project manager library for Qt Creator, a plugin-based C++ IDE
#Requires:   qtcreator-lib-qmljs = %%{version}
#
#%%description lib-qmlprojectmanagerlib
#This package contains the QML project manager library for Qt Creator.

%package lib-qtkeychain
Summary:    Secret storage library for Qt Creator, a plugin-based C++ IDE

%description lib-qtkeychain
This package contains a library allowing to store secrets in Qt Creator.

%package lib-sqlite
Summary:    SQLite database library for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-sqliteinternal = %{version}
Requires:   qtcreator-lib-nanotrace = %{version}

%description lib-sqlite
This package contains an QSLite library used by Qt Creator to store some persistent data.

#%%package lib-sqliteinternal
#Summary:    Internal SQLite database library for Qt Creator, a plugin-based C++ IDE
#
#%%description lib-sqliteinternal
#This package contains an internal QSLite library used by Qt Creator to store some persistent data.

%package lib-terminal
Summary: Terminal library for Qt Creator, a plugin-based C++ IDE

%description lib-terminal
This package contains a terminal library for Qt Creator.

#%%package lib-texteditorsupport
#Summary:    Text editor support for Qt Creator, a plugin-based C++ IDE
#Requires:   qtcreator-lib-utils = %%{version}
#
#%%description lib-texteditorsupport
#This package contains a library enhancing the support for text editor in Qt Creator.

%package lib-tracing
Summary:    Tracing utils used by QML profiler plugin
Requires:   qtcreator-lib-utils = %{version}

%description lib-tracing
This package contains various tracing utilities  used by Qt Creator QML
profiler plugin.

%package lib-utils
Summary:    Utilities library for Qt Creator, a plugin-based C++ IDE

%description lib-utils
This package constains a utility library used by Qt Creator.

#%%package lib-zip
#Summary:    Compression utilities library for Qt Creator, a plugin-based C++ IDE
#
#%%description lib-zip
#This package constains a compression library (zip) to be used by Qt Creator.

%package plugin-android
Summary:    A plugin for Android development in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}
Requires:   qtcreator-plugin-languageclient = %{version}

%description plugin-android
This package contains a plugin simplifying Android development in Qt Creator.

%package plugin-appstatisticsmonitor
Summary:    Plugin tp visualize CPU and memory in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-appstatisticsmonitor
This package contains a plugin allowing to visualize CPU and memory statistics in Qt Creator.

%package plugin-autotest
Summary:    Autotest plugin simplifies test execution in Qt Creator
Requires:   qtcreator-plugin-qmljstools = %{version}
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-autotest
This package contains a plugin which simplifies test execution in
Qt Creator. It parses the output of tests and output it in a separate
output pane. The output can then be filtered, ...

%package plugin-autotoolsprojectmanager
Summary:    Auto tools project plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-autotoolsprojectmanager
This package contains a plugin simplifying auto tools usage in Qt Creator.

%package plugin-axivion
Summary:    Static code analysis by Axivion in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-axivion
This package contains a plugin simplifying the use of Axivion tool for static code analysis
in Qt Creator.
Axivion is the technology leader for next generation static code analysis.
In addition to classic analyses such as MISRA, AUTOSAR C++14 or metrics,
Axivion Suite exclusively allows you to check the compliance of your software architecture.
With additional checks for clones, cycles or unreachable code,
you will always be able to prevent software erosion in your development projects.

%package plugin-baremetal
Summary:    A plugin for bare metal development in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-baremetal
This package contains a plugin for simplifying bare metal project development.

%package plugin-bazaar
Summary:    Bazaar VCS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-bazaar
This package provides a plugin intagrating Bazaar VCS (Version Control System) in Qt Creator.

%package plugin-beautifier
Summary:    Formatter for source files for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-beautifier
This package contains a plugin formatting source files with the help of beautifiers
like AStyle, uncrustify or clang-format.

%package plugin-bineditor
Summary:    A binary editor for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-bineditor
This package contains a plugin integrating a binary file editor in Qt Creator.

%package plugin-boot2qt
Summary:    Boot2Qt integration in QtCreator
Requires:   qtcreator-plugin-remotelinux = %{version}

%description plugin-boot2qt
This package constains a plugin integrating Boot2Qt into Qt Creator.
Boot2Qt is a OS for embedded systems based on Yocto Poky. It allows to easily
develop Qt applications for embedded devices.

%package plugin-classview
Summary:    Class view plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}

%description plugin-classview
This package constains a plugin allowing to view classes in Qt Creator.

%package plugin-clearcase
Summary:    Clear Case VCS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-clearcase
This package contains a plugin integrating Clear Case VCS (Version Control System) in Qt Creator.

%package plugin-cmakeprojectmanager
Summary:    CMake plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-cmakeprojectmanager
This package contains a plugins allowing to open projects based on CMake in Qt Creator.

%package plugin-coco
Summary:    Access the Coco CoverageBrowser in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-languageclient = %{version}

%description plugin-coco
This package contains a plugin for Qt Creator allowing to view the results
from the Coco CoverageBrowser to make tests more efficient and complete.

%package plugin-codepaster
Summary:    Code paster plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-codepaster
This package contains a plugin to copy and paste code in Qt Creator.

%package plugin-compilationdatabaseprojectmanager
Summary:    Compilation database project plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}

%description plugin-compilationdatabaseprojectmanager
This package contains a plugin allowing to manage compilation database projects
in Qt Creator.

%package plugin-compilerexplorer
Summary:    Compiler Explorer plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-compilerexplorer
This package contains a plugin allowing to visualize the assembly code generated
for a piece of code in various compilers.

%package plugin-conan
Summary:    Conan package manager for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-conan
This package contains a plugin which integrates Conan package manager in Qt Creator.
Conan is a MIT-licensed, Open Source package manager for C and C++ development,
allowing development teams to easily and efficiently manage their packages and
dependencies across platforms and build systems.

%package plugin-copilot
Summary:    Copilot plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-languageclient = %{version}

%description plugin-copilot
This package contains a plugin allowing to interact with Copilot in Qt Creator.
Copilot is a LLM (Large Language Model) trained on Github code base.

%package plugin-core
Summary:    The core of Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-ide = %{version}
Requires:   qtcreator-lib-extensionsystem = %{version}

%description plugin-core
This package contains the base plugin of Qt Creator.
This is the only required plugin as it contains, the graphical interface.

%package plugin-cppcheck
Summary:    C++ check plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-cppcheck
This package contains a plugin allowing Qt Creator to validate C++ files.

%package plugin-cppeditor
Summary:    C++ editor plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-cplusplus = %{version}
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-cppeditor
This package contains a plugin providing a nice editor for C++ files.
It proposes syntax highlighting, code completion, multi-editing and
many other useful features.

%package plugin-ctfvisualizer
Summary:    View Chrome Trace Format tracing files in Qt Creator
Requires:   qtcreator-lib-tracing = %{version}
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-ctfvisualizer
This package contains a plugin allowing to visualize Chrome Trace Event logs
in Qt Creator.
The visualizer supports the following event types:
- Begin, end, duration, and instant events
- Counter events (graphs)
- Metadata events (process and thread name)
and silently ignores the other unsupported events.

%package plugin-cvs
Summary:    CVS VCS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-cvs
This package contains a plugin allowing to use CVS in Qt Creator.

%package plugin-debugger
Summary:    Debugger plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-plugin-qtsupport = %{version}
Requires:   qtcreator-lib-qmldebug = %{version}
Requires:   qtcreator-lib-qmljs = %{version}

%description plugin-debugger
This package contains a plugin which allows to easily debug program in Qt Creator.
It allows to get stack traces and explore core files after crashes.
It also supports breakpoints and step-by-step execution of programs.

%package plugin-designer
Summary:    UI designer plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-designer
This package contains a plugin allowing to design graphically UIs (User Interfaces).
It is based on the old Qt Designer.

%package plugin-diffeditor
Summary:    Diff edtor plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-diffeditor
This package contains a plugin providing an editor for diffs.

%package plugin-docker
Summary:    Docker plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-cmdbridgeclient = %{version}
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-docker
This package contains a plugin allowing to interact with Docker in Qt Creator.
Docker is a tool that helps developers build, share, and run applications using containers.

%package plugin-effectcomposer
Summary:    Effect composer plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qmldesigner = %{version}
Requires:   qtcreator-lib-glsl = %{version}

%description plugin-effectcomposer
This package contains a plugin allowing to use Effect Composer from Qt Creator.
Effect Composer creates post-processing effects that can be applied to 2D or 3D components

%package plugin-emacskeys
Summary:    Emacs shortcuts in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-emacskeys
This package contains plugin for Qt Creator to provide additional actions a typical emacs user would expect.
It doesn't claim to provide full emacs emulation. The following actions are available:
- Movement [C-f, C-b, C-n, C-p, M-f, M-b, C-a, C-e, M-<, M->]
- Mark-based selection [C-SPC, C-x C-x]
- Cut/copy/yank (doesn't provide kill ring feature) [M-w, C-w, C-y]
- Kill actions, which interact properly with clipboard [C-k, M-d, C-d]
- Scrolling (half of the screen, keeps cursor visible) [C-v, M-v]
- Insert new line and indent [C-j]

%package plugin-extensionmanager
Summary:    Extension manager for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-core = %{version}

%description plugin-extensionmanager
This package contains an extension manager for Qt Creator.

%package plugin-extrapropertyeditormanager
Summary:    Plugin for displaying additional instances of property editor in Qt Creator
Requires:   qtcreator-plugin-qmldesigner = %{version}

%description plugin-extrapropertyeditormanager
This package contains a plugin allowing to display additional instances
of property editor in Qt Creator

%package plugin-fakevim
Summary:    Vim emulation in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-fakevim
This package contains a plugin emulating Vim (VI improved) keyboard navigation in Qt Creator.

%package plugin-fossil
Summary:    Fossil source code management plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-fossil
This package contains a plugin allowing to interact with Fossil version control system
from Qt Creator.
Fossil is a simple, high-reliability, distributed SCM system with advanced features.

%package plugin-genericprojectmanager
Summary:    A generic project manager for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-genericprojectmanager
This package contains a plugin integrating a generic project manager in Qt Creator.

%package plugin-git
Summary:    Git VCS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-git
This package contains a plugin integrating Git in Qt Creator.
It allows you to manage your repositories (local and remote)
with ease and graphical interfaces.

%package plugin-gitlab
Summary:    Gitlab plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-git = %{version}

%description plugin-gitlab
This package contains a plugin allowing to interact with Gitlab
source code management platform from Qt Creator.

%package plugin-glsleditor
Summary:    A GLSL editor for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-lib-glsl = %{version}

%description plugin-glsleditor
This package contains a GLSL (openGL Shading Language) editor to use in Qt Creator.

%package plugin-helloworld
Summary:    Hello World sample plugin
Requires:   qtcreator-plugin-core = %{version}

%description plugin-helloworld
This package contains a very basic Qt Creator plugin.

%package plugin-help
Summary:    Help browser for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-help
This package contains a plugin to browse help.
It uses QCH files and it is based on the old Qt Assistant.

%package plugin-imageviewer
Summary:    An image viewer for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-core = %{version}

%description plugin-imageviewer
This package proposes a viewer for images inside Qt Creator.

%package plugin-incredibuild
Summary:    Incredibuild build system integration in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-incredibuild
This package contains a plugin which integrates incredibuild build
system in Qt Creator.
Incredibuild is an optimized build system.

%package plugin-insight
Summary:    Qt Insight plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qmldesigner = %{version}

%description plugin-insight
This package contains a plugin allowing to visualize user statistics
from Qt Insight in Qt Creator.

%package plugin-ios
Summary:    A Qt Creator plugin to simplify iOS development
Requires:   qtcreator-plugin-qmakeprojectmanager = %{version}
Requires:   qtcreator-plugin-cmakeprojectmanager = %{version}

%description plugin-ios
This package contains a plugin simplifying development
of iOS applications.

%package plugin-languageclient
Summary:    Language client plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-languageserverprotocol = %{version}
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-languageclient
This package contains a plugin allowing Qt Creator to dialog with a language
server.

%package plugin-learning
Summary:    Qt Learning Hub plugin for Qt Creator
Requires:   qtcreator-plugin-core = %{version}

%description plugin-learning
This package contains a plugin integrating Qt Learning Hub content in Qt Creator.

%package plugin-lua
Summary:    Lua language plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-lua
This package contains a plugin allowing to write Lua code efficiently in Qt Creator.

%package plugin-lualanguageclient
Summary:    Lua language client plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-lua = %{version}
Requires:   qtcreator-plugin-languageclient = %{version}

%description plugin-lualanguageclient
This package contains a plugin implementing a language client for Lua.

%package plugin-macros
Summary:    Macros in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-macros
This package contains a plugin allowing to use macros in Qt Creator.

%package plugin-mcusupport
Summary:    Integration of MCU support in Qt Creator
Requires:   qtcreator-plugin-baremetal = %{version}
Requires:   qtcreator-plugin-qmljstools = %{version}
Requires:   qtcreator-plugin-cmakeprojectmanager = %{version}

%description plugin-mcusupport
This package contains a pluging easing MCU (MicroController Units) development
in Qt Creator.

%package plugin-mercurial
Summary:    Mercurial VCS integration in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-mercurial
This package contains a plugin integrating Mercurial VCS (Version Control System) in Qt Creator.

%package plugin-mesonprojectmanager
Summary:    Meson project manager integration in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qtsupport = %{version}
Requires:   qtcreator-lib-qmljs = %{version}

%description plugin-mesonprojectmanager
This package contains a plugin integrating Meson build system in Qt Creator.
Meson is an open-source multi-platform build system, which is designed to be
as fast and as user-friendly as possible.

%package plugin-modeleditor
Summary:    UML graphical modeling for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-lib-modeling = %{version}

%description plugin-modeleditor
This package constains a plugin allowing UML (Unified Modeling Language)
graphical modeling in Qt Creator.

%package plugin-nim
Summary:    A plugin for the Nim language
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-nim
This package contains a plugin which interfaces Qt Creator with Nim language,
see <http://nim-lang.org> for more information.

%package plugin-perforce
Summary:    Perfore VCS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-perforce
This package contains a plugin allowing to use Perforce VCS (Version Control System) in Qt Creator.

%package plugin-perfprofiler
Summary:    Performance profiler for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-tracing = %{version}
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-perfprofiler
This package contains a performance profiler plugin for Qt Creator.

%package plugin-projectexplorer
Summary:    Project explorer for Qt Creator
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-projectexplorer
This package contains a generic project explorer used in Qt Creator.
It proposes a project tree and manages the configuration required
by builds, deployents and executions.

%package plugin-python
Summary:    Python plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qtsupport = %{version}
Requires:   qtcreator-lib-qmljs = %{version}
Requires:   qtcreator-plugin-languageclient = %{version}

%description plugin-python
This package contains a plugin providing a nice editor for python files.

%package plugin-qbsprojectmanager
Summary:    QBS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qmljseditor = %{version}
Requires:   qtcreator-qbs = %{version}

%description plugin-qbsprojectmanager
This package contains a plugin allowing to open projects based on QBS (Qt Build System) in Qt Creator.

%package plugin-qmakeprojectmanager
Summary:    QMake projects in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-plugin-qtsupport = %{version}
Requires:   qtcreator-lib-qmljs = %{version}

%description plugin-qmakeprojectmanager
This package contains a plugin simplifying the usage of QMake based projects in Qt Creator.
It provides intagration of QMake and syntax highlighting when editing QMake (*.pro and *.pri) files.

%package plugin-qmldesigner
Summary:    QML designer plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-advanceddockingsystem = %{version}
Requires:   qtcreator-lib-sqlite = %{version}
Requires:   qtcreator-plugin-qmlprojectmanager = %{version}
Requires:   qtcreator-plugin-qmakeprojectmanager = %{version}

%description plugin-qmldesigner
This package contains a plugin simplifying QML design in Qt Creator.

%package plugin-qmldesignerbase
Summary:    QML designer base plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-qmldesignerbase
This package contains the base plugin for QML designer in Qt Creator.
QML designer allows to simplify QML design in Qt Creator.

%package plugin-qmldesignerlite
Summary:    Light QML designer plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qmldesigner = %{version}

%description plugin-qmldesignerlite
This package contains a light version of QML designer plugin for Qt Creator.
QML designer allows to simplify QML design in Qt Creator.

%package plugin-qmljseditor
Summary:    A QML JavaScript editor for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-qmleditorwidgets = %{version}
Requires:   qtcreator-plugin-qmljstools = %{version}
Requires:   qtcreator-plugin-languageclient = %{version}

%description plugin-qmljseditor
This package contains a plugin integrating a QML JavaScript editor in Qt Creator.

%package plugin-qmljstools
Summary:    Tools for analysing Qml JavaScript code in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-plugin-qtsupport = %{version}
Requires:   qtcreator-lib-qmljs = %{version}

%description plugin-qmljstools
This package contains a plugin allowing to analyse QML JavaScript code in Qt Creator.

%package plugin-qmlpreview
Summary:    A QML previewer for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-qmldebug = %{version}
Requires:   qtcreator-plugin-qmlprojectmanager = %{version}

%description plugin-qmlpreview
This package contains a plugin allowing to preview QML-based graphics in Qt Creator IDE.

%package plugin-qmlprofiler
Summary:    QML profiler plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-lib-tracing = %{version}
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-qmlprofiler
This package contains a plugin for QML profiling in Qt Creator.

%package plugin-qmlprojectmanager
Summary:    QML project manager for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qmldesignerbase = %{version}
Requires:   qtcreator-plugin-qmljseditor = %{version}

%description plugin-qmlprojectmanager
This package contains a plugin supporting Qt Quick and QML in Qt Creator.

%package plugin-qnx
Summary:    QNX development in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-remotelinux = %{version}

%description plugin-qnx
This package contains a plugin simplifying development on QNX platform.

%package plugin-qtapplicationmanagerintegration
Summary:    Qt Application Manager plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-remotelinux = %{version}

%description plugin-qtapplicationmanagerintegration
This package contains a plugin allowing to interact with Qt Application Manager
from Qt Creator.

%package plugin-qtsupport
Summary:    Support for Qt in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-resourceeditor = %{version}

%description plugin-qtsupport
This package contains support for Qt in Qt Creator. It contains Qt related classes
and defines Qt related constants, ...

%package plugin-remotelinux
Summary:    Remote linux development in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-remotelinux
This package contains a plugin simplifying remote linux development in Qt Creator.

%package plugin-resourceeditor
Summary:    An editor for Qt ressource files to be used in Qt Creator
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-resourceeditor
This package contains a plugin simplifying the edition of ressource files in Qt Creator.

%package plugin-saferenderer
Summary:    Qt Safe Renderer plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-saferenderer
This package contains a plugin allowing to use Qt Safe Renderer from Qt Creator.
Qt Safe Renderer separates the safety-critical rendering from the other parts of the system,
so it can render safety-critical UI elements even if there are failures in the main UI.
Therefore, you can use Qt in a system requiring certification without changing the Qt libraries.

%package plugin-screenrecorder
Summary:    Record screen from Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-core = %{version}

%description plugin-screenrecorder
This package contains a plugin allowing to record the screen from Qt Creator.

%package plugin-scxmleditor
Summary:    An editor plugin for SCXML
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-scxmleditor
This package contains a plugin which allows to edit SCXML (State Chart XML).
SCXML is an XML-based markup language that provides
a generic state-machine based execution environment.

%package plugin-serialterminal
Summary:    Serial terminal plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-serialterminal
This package contains a serial terminal plugin for Qt Creator.

%package plugin-silversearcher
Summary:    A search plugin using SilverSearcher
Requires:   qtcreator-plugin-texteditor = %{version}

%description plugin-silversearcher
This package contains a plugin allowing to use
SilverSearcher <https://geoff.greer.fm/ag/> instead of
the default "find in files..." functionality. SilverSearcher is a mmmaped
version of grep with integration on Hg and Git VCS.

%package plugin-squish
Summary:    Squish test framework plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-squish
This package contains a plugin allowing to run Squish test suites and cases from Qt Creator.
Squish is a professional automated GUI testing framework for testing applications,
as well as HTML-based web applications running in browsers.

%package plugin-studiowelcome
Summary:    A new welcome page for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-qmldesigner = %{version}

%description plugin-studiowelcome
This package contains an enhanced welcome page for Qt Creator.
This welcome page is expeted to be nicer than the older one. It is fully written
in QML.

%package plugin-subversion
Summary:    Subversion VCS plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-vcsbase = %{version}

%description plugin-subversion
This package contains a plugin integrating Subversion VCS (Version Control System) in Qt Creator.

%package plugin-terminal
Summary:    Terminal plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-terminal
This package contains a plugin embeddeding a terminal inside Qt Creator.

%package plugin-texteditor
Summary:    A text editor plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-core = %{version}

%description plugin-texteditor
This package contains a basic text editor for Qt Creator.
It supports multi editing and syntax highlighting from Kate.

%package plugin-todo
Summary:    TODO plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-cppeditor = %{version}
Requires:   qtcreator-lib-qmljs = %{version}

%description plugin-todo
This package contains a plugin which parses the source files to get
TODO, FIXME, NOTE, BUG and WARNING comments.
It gathers them in a nice ouput pane.

%package plugin-updateinfo
Summary:    Update notifier for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-core = %{version}

%description plugin-updateinfo
This package contains a plugin notifying when updates of Qt Creator are available.

%package plugin-valgrind
Summary:    Valgrind analyser plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-debugger = %{version}

%description plugin-valgrind
This package contains a plugin to simplify the use of Valgrind in Qt Creator.
It supports the following Valgrind tools:
- memcheck, the Valgrind tool allowing to detect memory leaks and debug segmentation faults.
- callgrind, the Valgrind tool for program profiling.

%package plugin-vcpkg
Summary:    Microsoft vcpkg plugin for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-vcpkg
This package contains a plugin allowing to install and manage libraries
from the vcpkg package manager in Qt Creator.
vcpkg is a free C/C++ package manager from Microsoft for acquiring and managing libraries.

%package plugin-vcsbase
Summary:    Base for VCSs in Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-diffeditor = %{version}
Requires:   qtcreator-plugin-projectexplorer = %{version}

%description plugin-vcsbase
This package contains a plugin providing basic functionality for VCSs (Version Control Systems).

%package plugin-webassembly
Summary:    Work with WebAssembly in Qt Creator
Requires:   qtcreator-plugin-qtsupport = %{version}

%description plugin-webassembly
This package contains a plugin allowing to work with WebAssembly in Qt Creator.
WebAssembly is a new target for C++ language allowing to run the compiled code
in Web browsers.

%package plugin-welcome
Summary:    A nice welcome screen for Qt Creator, a plugin-based C++ IDE
Requires:   qtcreator-plugin-core = %{version}

%description plugin-welcome
This package contains a plugin which provides a noce welcome screen when starting Qt Creator.
It lists the project used most-recently, gives links to Qt websites and examples.

# End of auto-generated metadata of subpackages

%package devel
Summary:    Development files for Qt Creator
Requires:   qtcreator-ide = %{version}

%description devel
This package contains all files needed to compile libraries and plugins for Qt Creator.
The new libraries and plugins shall use CMake build system.

%package qbs
Summary:	Qt Build Suite

%description qbs
Qt Build Suite (Qbs) is a tool that helps simplify the build process 
for developing projects across multiple platforms. Qbs can be used 
for any software project, whether it is written in Qt or not.

Qbs is an all-in-one tool that generates a build graph 
from a high-level project description (like qmake or cmake) 
and additionally undertakes the task of executing the commands 
in the low-level build graph (like make).

%package sdktool
Requires:	qtcreator-core = %{version}
Summary:	Command line tool to manage Qt SDK

%description sdktool
The SDK tool can be used to set up Qt versions, tool chains and kits
in Qt Creator.

%package qtpromaker
Summary:	Command line tool to import alien projects in Qt

%description qtpromaker
The qtpromaker tool that has the same functionality as "qmake -project", 
but is much faster. It provides a way to easily set up dummy .pro files 
that you need to quickly inspect and navigate "alien" codebases with Qt Creator.

%package askpass
Recommends:     qtcreator-core = %{version}
Summary:        SSH askpass integration in Qt Creator

%description askpass
This package contains the integration of SSH askpass in Qt Creator.

%package doc
BuildArch:  noarch
Recommends:	qtcreator-core = %{version}
Summary:	Documentation for Qt Creator

%description doc
The user manual for Qt Creator. Describes the functionnalities of Qt Creator
and give information on how they should be used.

Provided by Qt Creator development team.

%package doc-devel
BuildArch:  noarch
Recommends:	qtcreator-core = %{version}
Summary:	Developper documentation for Qt Creator

%description doc-devel
The developper documentation for Qt Creator. Contains the needed information 
for plugins developpers about Qt Creator internals.

Provided by Qt Creator development team.

%package qbs-doc
BuildArch:  noarch
Recommends:	qbs = %{version}
Summary:	Documentation for Qbs

%description qbs-doc
The documentation for Qbs (Qt Build Suite), an alternative to both qmake/cmake
and make.

Provided by Qt Creator development team.

%prep
%autosetup -p1
#%%setup -q
#%%patch -p1 1
#%%patch -p1 2
#%%patch -p1 3
#%%patch -p1 4
#%%patch5 -p1
#%%patch6 -p1
#%%patch7 -p1
#%%patch8 -p1
#cp %%{SOURCE1} .
# Clean source directory from VCS files:
rm $(find . -iname .gitignore) || true
rm -R $(find . -iname .git) || true

%build
# Library output path:
%define ide_library_basename lib
%if "%{_lib}"=="lib64"
%define ide_library_basename lib64
%endif
# Choose gcc-7 if available:
export  CC=%(which gcc-7 > /dev/null 2>&1 && echo "gcc-7" || echo "gcc")
export CXX=%(which g++-7 > /dev/null 2>&1 && echo "g++-7" || echo "g++")
# Use system syntax-highlighting if possible:
#%%if %%{with system_syntax_highlighting}
#export KSYNTAXHIGHLIGHTING_LIB_DIR=%%{_libdir}
#export KSYNTAXHIGHLIGHTING_INCLUDE_DIR=%%{_includedir}/KF5/KSyntaxHighlighting
#%%endif
%cmake                          \
    -DBUILD_QBS=yes             \
    -DWITH_DOCS=yes             \
    -DBUILD_DEVELOPER_DOCS=yes
%cmake_build
# Build docs:
make %{?_smp_mflags} docs

%install
%cmake_install
# Install devel files:
DESTDIR=%{buildroot} cmake --install build --component Devel
# Remove dummy cmake targets
for f in $(ls %{buildroot}/%{_libdir}/cmake/QtCreator/*.cmake); do
    sed -e 's/KF6::SyntaxHighlighting;\?//' < $f > $f.tmp
    mv $f.tmp $f
    sed -e 's/QtCreator::3rd_cplusplus;\?//' < $f > $f.tmp
    mv $f.tmp $f
done
# Installs docs:
test -d %{buildroot}/%{_datadir}/doc/qtcreator/ || mkdir -p %{buildroot}/%{_datadir}/doc/qtcreator/
install --mode=644 build/share/doc/qtcreator/qtcreator.qch     %{buildroot}/%{_datadir}/doc/qtcreator/
install --mode=644 build/share/doc/qtcreator/qtcreator-dev.qch %{buildroot}/%{_datadir}/doc/qtcreator/
# Installs the shortcut:
#mkdir -p %%{buildroot}/%%{_datadir}/applications
#cp qtcreator.desktop %%{buildroot}/%%{_datadir}/applications/
%fdupes %{buildroot}/%{_datadir}/qtcreator/
# Remove useless files:
rm %{buildroot}/%{_bindir}/qtcreator.sh
rm %{buildroot}/%{_datadir}/qtcreator/README.md
rm %{buildroot}/%{_datadir}/qtcreator/HACKING
rm %{buildroot}/%{_datadir}/qtcreator/LICENSE.GPL3-EXCEPT
rm -R %{buildroot}/%{_includedir}/build/
rm %{buildroot}/%{_libdir}/qtcreator/lib*.a
rm -R %{buildroot}/%{_libdir}/qtcreator/objects-RelWithDebInfo/
rm -R %{buildroot}/%{_datadir}/qtcreator/scripts/

%files ide
%defattr(-, root, root)
# The binaries
%{_bindir}/qtcreator
%dir %{_libexecdir}/qtcreator/
#%%{_libdir}/qtcreator/bin/qtcreator_crash_handler
%{_libexecdir}/qtcreator/buildoutputparser
%{_libexecdir}/qtcreator/qtcreator_process_stub
#%%{_libexecdir}/qtcreator/qtcreator_processlauncher
%{_libexecdir}/qtcreator/cpaster
%{_libexecdir}/qtcreator/perf2text
%{_libexecdir}/qtcreator/perfparser
%{_libexecdir}/qtcreator/qmlpuppet*
# The library dir
%dir %{_libdir}/qtcreator
# The plugin dir
%dir %{_libdir}/qtcreator/plugins
# The shortcut and the icons
%{_datadir}/applications/org.qt-project.qtcreator.desktop
%dir %{_datadir}/icons/hicolor/512x512
%dir %{_datadir}/icons/hicolor/512x512/apps
%{_datadir}/icons/hicolor/*/apps/QtProject-qtcreator.png
%dir %{_datadir}/metainfo
%{_datadir}/metainfo/org.qt-project.qtcreator.appdata.xml

%files data
%defattr(-, root, root)
# The data files
%dir %{_datadir}/qtcreator
%{_datadir}/qtcreator/changelog
%{_datadir}/qtcreator/cplusplus
%{_datadir}/qtcreator/debugger
%{_datadir}/qtcreator/debugger-with-python2
%{_datadir}/qtcreator/externaltools
%{_datadir}/qtcreator/fonts
%{_datadir}/qtcreator/glsl
%{_datadir}/qtcreator/indexer_preincludes
%{_datadir}/qtcreator/jsonschemas
%{_datadir}/qtcreator/lua-lupdate
%{_datadir}/qtcreator/lua-plugins
%{_datadir}/qtcreator/modeleditor
%{_datadir}/qtcreator/package-manager
#%%{_datadir}/qtcreator/qml
%{_datadir}/qtcreator/qmldesigner
%{_datadir}/qtcreator/qmlicons
%{_datadir}/qtcreator/qml-type-descriptions
%{_datadir}/qtcreator/schemes
%{_datadir}/qtcreator/snippets
%{_datadir}/qtcreator/styles
%{_datadir}/qtcreator/templates
%{_datadir}/qtcreator/themes
%{_datadir}/qtcreator/translations
#%%{_datadir}/qtcreator/welcomescreen

%if !%{with system_syntax_highlighting}
%files syntax-highlighting
%defattr(-, root, root)
%{_libdir}/qtcreator/libKSyntaxHighlighting.so*

%files syntax-highlighting-data
%defattr(-, root, root)
%{_datadir}/qtcreator/generic-highlighter
%endif

%files lib-qlitehtml
%defattr(-, root, root)
%{_libdir}/qtcreator/libqlitehtml.so*

# Auto-generated file list of subpackages

%files lib-advanceddockingsystem
%defattr(-, root, root)
%{_libdir}/qtcreator/libAdvancedDockingSystem.so*

%files lib-aggregation
%defattr(-, root, root)
%{_libdir}/qtcreator/libAggregation.so*

%files lib-cmdbridgeclient
%defattr(-, root, root)
%{_libdir}/qtcreator/libCmdBridgeClient.so*

%files lib-cplusplus
%defattr(-, root, root)
%{_libdir}/qtcreator/libCPlusPlus.so*

%files lib-extensionsystem
%defattr(-, root, root)
%{_libdir}/qtcreator/libExtensionSystem.so*

%files lib-glsl
%defattr(-, root, root)
%{_libdir}/qtcreator/libGLSL.so*

#%%files lib-googletest
#%%defattr(-, root, root)
#%%{_libdir}/qtcreator/libGoogletest.so*

%files lib-languageserverprotocol
%defattr(-, root, root)
%{_libdir}/qtcreator/libLanguageServerProtocol.so*

%files lib-languageutils
%defattr(-, root, root)
%{_libdir}/qtcreator/libLanguageUtils.so*

%files lib-modeling
%defattr(-, root, root)
%{_libdir}/qtcreator/libModeling.so*

%files lib-nanotrace
%defattr(-, root, root)
%{_libdir}/qtcreator/libNanotrace.so*

%files lib-proparser
%defattr(-, root, root)
%{_libdir}/qtcreator/libProParser.so*

%files lib-qmldebug
%defattr(-, root, root)
%{_libdir}/qtcreator/libQmlDebug.so*

%files lib-qmldesignercore
%defattr(-, root, root)
%{_libdir}/qtcreator/libQmlDesignerCore.so*

#%%files lib-qmldesignersettings
#%%defattr(-, root, root)
#%%{_libdir}/qtcreator/libQmlDesignerSettings.so*

%files lib-qmleditorwidgets
%defattr(-, root, root)
%{_libdir}/qtcreator/libQmlEditorWidgets.so*

%files lib-qmljs
%defattr(-, root, root)
%{_libdir}/qtcreator/libQmlJS.so*

#%%files lib-qmlprojectmanagerlib
#%%defattr(-, root, root)
#%%{_libdir}/qtcreator/libQmlProjectManagerLib.so*

%files lib-qtkeychain
%defattr(-, root, root)
%{_libdir}/qtcreator/libqtkeychain.so*

%files lib-sqlite
%defattr(-, root, root)
%{_libdir}/qtcreator/libSqlite.so*

#%%files lib-sqliteinternal
#%%defattr(-, root, root)
#%%{_libdir}/qtcreator/libSqliteInternal.so*

%files lib-terminal
%defattr(-, root, root)
%{_libdir}/qtcreator/libTerminalLib.so*

#%%files lib-texteditorsupport
#%%defattr(-, root, root)
#%%{_libdir}/qtcreator/libTextEditorSupport.so*

%files lib-tracing
%defattr(-, root, root)
%{_libdir}/qtcreator/libTracing.so*

%files lib-utils
%defattr(-, root, root)
%{_libdir}/qtcreator/libUtils.so*

#%%files lib-zip
#%%defattr(-, root, root)
#%%{_libdir}/qtcreator/libZip.so*

%files plugin-android
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libAndroid.so
%{_datadir}/qtcreator/android

%files plugin-appstatisticsmonitor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libAppStatisticsMonitor.so

%files plugin-autotest
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libAutoTest.so

%files plugin-autotoolsprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libAutotoolsProjectManager.so

%files plugin-axivion
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libAxivion.so

%files plugin-baremetal
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libBareMetal.so

%files plugin-bazaar
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libBazaar.so

%files plugin-beautifier
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libBeautifier.so

%files plugin-bineditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libBinEditor.so

%files plugin-boot2qt
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libBoot2Qt.so

%files plugin-classview
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libClassView.so

%files plugin-clearcase
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libClearCase.so

%files plugin-cmakeprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCMakeProjectManager.so

%files plugin-coco
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCoco.so

%files plugin-codepaster
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCodePaster.so

%files plugin-compilationdatabaseprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCompilationDatabaseProjectManager.so

%files plugin-compilerexplorer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCompilerExplorer.so

%files plugin-conan
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libConan.so

%files plugin-copilot
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCopilot.so

%files plugin-core
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCore.so

%files plugin-cppcheck
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCppcheck.so

%files plugin-cppeditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCppEditor.so

%files plugin-ctfvisualizer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCtfVisualizer.so

%files plugin-cvs
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libCVS.so

%files plugin-debugger
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libDebugger.so

%files plugin-designer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libDesigner.so

%files plugin-diffeditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libDiffEditor.so

%files plugin-docker
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libDocker.so

%files plugin-effectcomposer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libEffectComposer.so

%files plugin-emacskeys
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libEmacsKeys.so

%files plugin-extensionmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libExtensionManager.so

%files plugin-extrapropertyeditormanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libExtraPropertyEditorManager.so

%files plugin-fakevim
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libFakeVim.so

%files plugin-fossil
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libFossil.so

%files plugin-genericprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libGenericProjectManager.so

%files plugin-git
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libGit.so

%files plugin-gitlab
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libGitLab.so

%files plugin-glsleditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libGLSLEditor.so

%files plugin-helloworld
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libHelloWorld.so

%files plugin-help
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libHelp.so

%files plugin-imageviewer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libImageViewer.so

%files plugin-incredibuild
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libIncrediBuild.so

%files plugin-insight
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libInsight.so

%files plugin-ios
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libIos.so

%files plugin-languageclient
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libLanguageClient.so

%files plugin-learning
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libLearning.so

%files plugin-lua
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libLua.so

%files plugin-lualanguageclient
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libLuaLanguageClient.so

%files plugin-macros
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libMacros.so

%files plugin-mcusupport
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libMcuSupport.so

%files plugin-mercurial
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libMercurial.so

%files plugin-mesonprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libMesonProjectManager.so

%files plugin-modeleditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libModelEditor.so

%files plugin-nim
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libNim.so

%files plugin-perforce
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libPerforce.so

%files plugin-perfprofiler
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libPerfProfiler.so

%files plugin-projectexplorer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libProjectExplorer.so

%files plugin-python
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libPython.so

%files plugin-qbsprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQbsProjectManager.so

%files plugin-qmakeprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmakeProjectManager.so

%files plugin-qmldesigner
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlDesigner.so
%{_libdir}/qtcreator/plugins/qmldesigner

%files plugin-qmldesignerbase
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlDesignerBase.so

%files plugin-qmldesignerlite
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlDesignerLite.so

%files plugin-qmljseditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlJSEditor.so

%files plugin-qmljstools
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlJSTools.so

%files plugin-qmlpreview
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlPreview.so

%files plugin-qmlprofiler
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlProfiler.so

%files plugin-qmlprojectmanager
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQmlProjectManager.so

%files plugin-qnx
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQnx.so

%files plugin-qtapplicationmanagerintegration
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQtApplicationManagerIntegration.so

%files plugin-qtsupport
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libQtSupport.so

%files plugin-remotelinux
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libRemoteLinux.so

%files plugin-resourceeditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libResourceEditor.so

%files plugin-saferenderer
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libSafeRenderer.so

%files plugin-screenrecorder
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libScreenRecorder.so

%files plugin-scxmleditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libScxmlEditor.so

%files plugin-serialterminal
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libSerialTerminal.so

%files plugin-silversearcher
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libSilverSearcher.so

%files plugin-squish
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libSquish.so

%files plugin-studiowelcome
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libStudioWelcome.so

%files plugin-subversion
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libSubversion.so

%files plugin-terminal
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libTerminal.so

%files plugin-texteditor
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libTextEditor.so

%files plugin-todo
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libTodo.so

%files plugin-updateinfo
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libUpdateInfo.so

%files plugin-valgrind
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libValgrind.so

%files plugin-vcpkg
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libVcpkg.so

%files plugin-vcsbase
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libVcsBase.so

%files plugin-webassembly
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libWebAssembly.so

%files plugin-welcome
%defattr(-, root, root)
%{_libdir}/qtcreator/plugins/libWelcome.so

# End of auto-generated file list of subpackages

%files devel
%defattr(-, root, root)
%{_libdir}/cmake/QtCreator/
%{_includedir}/qtcreator/

%files qbs
%defattr(-, root, root)
# QBS binaries
%{_bindir}/qbs
%{_bindir}/qbs-config
%{_bindir}/qbs-config-ui
%{_bindir}/qbs-create-project
%{_bindir}/qbs-setup-android
%{_bindir}/qbs-setup-qt
%{_bindir}/qbs-setup-toolchains
%{_libexecdir}/qtcreator/qbs_processlauncher
#%%{_libdir}/qtcreator/bin/dmgbuild
# QBS libraries
%{_libdir}/qtcreator/libqbscore.so*
#%%{_libdir}/qtcreator/libqbscore.prl
# QBS plugins
%dir %{_libdir}/qbs
%{_libdir}/qbs/plugins
# QBS data files
%{_datadir}/qtcreator/qbs

%files sdktool
%defattr(-, root, root)
%{_libexecdir}/qtcreator/sdktool

%files qtpromaker
%defattr(-, root, root)
%{_libexecdir}/qtcreator/qtpromaker

%files askpass
%defattr(-, root, root)
%{_libexecdir}/qtcreator/qtc-askpass

%files doc
# The QCH documentation
%defattr (-, root, root)
%dir %{_datadir}/doc/qtcreator
%{_datadir}/doc/qtcreator/qtcreator.qch
#%%{_datadir}/doc/qtcreator/qtcreator

%files doc-devel
# The QCH documentation
%defattr (-, root, root)
%dir %{_datadir}/doc/qtcreator
%{_datadir}/doc/qtcreator/qtcreator-dev.qch
#%%{_datadir}/doc/qtcreator/qtcreator-dev

%files qbs-doc
# The QCH documentation
%defattr (-, root, root)
%dir %{_datadir}/doc/qtcreator
%{_datadir}/doc/qtcreator/qbs.qch
#%%{_datadir}/doc/qtcreator/qbs

%if 0%{?suse_version} >= 1140
%post ide
%icon_theme_cache_post
%desktop_database_post
%endif

%if 0%{?suse_version} >= 1140
%postun ide
%icon_theme_cache_postun
%desktop_database_postun
%endif

%changelog

openSUSE Build Service is sponsored by