File project.diff of Package gammaray
--- gammaray.spec.orig
+++ gammaray.spec
@@ -1,7 +1,7 @@
#
# spec file for package gammaray
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,29 +16,18 @@
#
-%global flavor @BUILD_FLAVOR@%{nil}
-%if "%{flavor}" == "qt6"
-%define qt6 1
-%define pkg_suffix -qt6
-%define qt_suffix 6
-%define qt_min_version 6.3
-%else
-%define qt5 1
-%define qt_suffix 5
-%define qt_min_version 5.15
-%endif
+%define qt6_version 6.5
%define rname gammaray
-%define short_version 3.2
-%define soversion 3_2_2
-Name: gammaray%{?pkg_suffix}
-Version: 3.2.2
+%define short_version 3.3
+%define soversion 3_3_0
+Name: gammaray
+Version: 3.3.0
Release: 0
Summary: Introspection/Debugging Tool for Qt Applications
License: GPL-2.0-or-later
URL: https://www.kdab.com/gammaray
Source0: https://github.com/KDAB/GammaRay/releases/download/v%{version}/%{rname}-%{version}.tar.gz
BuildRequires: binutils-devel
-BuildRequires: cmake >= 3.16.0
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: graphviz-gnome
@@ -46,115 +35,83 @@ BuildRequires: graphviz-gnome
BuildRequires: hicolor-icon-theme
BuildRequires: libdw-devel
BuildRequires: pkgconfig
-BuildRequires: cmake(Qt%{qt_suffix}3DAnimation) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}3DExtras) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}3DInput) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}3DLogic) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}3DQuick) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}3DRender) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Bluetooth) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Concurrent) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Core) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Designer) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Gui) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Help) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}LinguistTools) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Network) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}OpenGL) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Positioning) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Qml) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Quick) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}QuickWidgets) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Scxml) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Svg) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Test) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}WaylandCompositor) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{qt_suffix}Widgets) >= %{qt_min_version}
-BuildRequires: pkgconfig(wayland-server)
-Requires: %{name}-shared-plugins = %{version}
-%if 0%{?qt5}
-BuildRequires: libQt5Core-private-headers-devel >= %{qt_min_version}
-BuildRequires: libQt5Gui-private-headers-devel >= %{qt_min_version}
-BuildRequires: libQt5Widgets-private-headers-devel >= %{qt_min_version}
-BuildRequires: libqt5-qtdeclarative-private-headers-devel >= %{qt_min_version}
-BuildRequires: libqt5-qtscxml-private-headers-devel >= %{qt_min_version}
-BuildRequires: libqt5-qttools-doc >= %{qt_min_version}
-BuildRequires: cmake(KF5CoreAddons)
-BuildRequires: cmake(KF5SyntaxHighlighting)
-BuildRequires: cmake(Qt5AttributionsScannerTools) >= %{qt_min_version}
-BuildRequires: cmake(Qt5Location) >= %{qt_min_version}
-BuildRequires: cmake(Qt5Script) >= %{qt_min_version}
-BuildRequires: cmake(Qt5ScriptTools) >= %{qt_min_version}
-Recommends: gammaray-qt6-shared-plugins = %{version}
-%ifnarch ppc64 ppc64le s390 s390x
-BuildRequires: cmake(Qt5WebEngineWidgets) >= %{qt_min_version}
-%endif
-%endif
-%if 0%{?qt6}
+BuildRequires: qt6-core-private-devel >= %{qt6_version}
+BuildRequires: qt6-gui-private-devel >= %{qt6_version}
+BuildRequires: qt6-qml-private-devel >= %{qt6_version}
+BuildRequires: qt6-quick-private-devel >= %{qt6_version}
+# # Needed to build the statemachine examples
+BuildRequires: qt6-scxml-imports >= %{qt6_version}
+BuildRequires: qt6-scxml-private-devel >= %{qt6_version}
+BuildRequires: qt6-statemachine-private-devel >= %{qt6_version}
+BuildRequires: qt6-widgets-private-devel >= %{qt6_version}
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150600
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6SyntaxHighlighting)
%endif
-BuildRequires: qt6-core-private-devel >= %{qt_min_version}
-BuildRequires: qt6-gui-private-devel >= %{qt_min_version}
-BuildRequires: qt6-qml-private-devel >= %{qt_min_version}
-BuildRequires: qt6-quick-private-devel >= %{qt_min_version}
-# Needed to build the statemachine examples
-BuildRequires: qt6-scxml-imports >= %{qt_min_version}
-BuildRequires: qt6-scxml-private-devel >= %{qt_min_version}
-BuildRequires: qt6-statemachine-private-devel >= %{qt_min_version}
-BuildRequires: qt6-widgets-private-devel >= %{qt_min_version}
-BuildRequires: cmake(Qt6Location) >= %{qt_min_version}
-BuildRequires: cmake(Qt6ShaderTools) >= %{qt_min_version}
-BuildRequires: cmake(Qt6StateMachine) >= %{qt_min_version}
-BuildRequires: cmake(Qt6ToolsTools) >= %{qt_min_version}
-Recommends: gammaray-shared-plugins = %{version}
-Conflicts: gammaray
-%ifnarch %{ix86} %{arm} ppc64 ppc64le s390 s390x
-BuildRequires: cmake(Qt6WebEngineWidgets) >= %{qt_min_version}
-%endif
+BuildRequires: cmake(Qt63DAnimation) >= %{qt6_version}
+BuildRequires: cmake(Qt63DExtras) >= %{qt6_version}
+BuildRequires: cmake(Qt63DInput) >= %{qt6_version}
+BuildRequires: cmake(Qt63DLogic) >= %{qt6_version}
+BuildRequires: cmake(Qt63DQuick) >= %{qt6_version}
+BuildRequires: cmake(Qt63DRender) >= %{qt6_version}
+BuildRequires: cmake(Qt6Bluetooth) >= %{qt6_version}
+BuildRequires: cmake(Qt6Concurrent) >= %{qt6_version}
+BuildRequires: cmake(Qt6Core) >= %{qt6_version}
+BuildRequires: cmake(Qt6Designer) >= %{qt6_version}
+BuildRequires: cmake(Qt6Gui) >= %{qt6_version}
+BuildRequires: cmake(Qt6Help) >= %{qt6_version}
+BuildRequires: cmake(Qt6LinguistTools) >= %{qt6_version}
+BuildRequires: cmake(Qt6Location) >= %{qt6_version}
+BuildRequires: cmake(Qt6Network) >= %{qt6_version}
+BuildRequires: cmake(Qt6OpenGL) >= %{qt6_version}
+BuildRequires: cmake(Qt6Positioning) >= %{qt6_version}
+BuildRequires: cmake(Qt6Qml) >= %{qt6_version}
+BuildRequires: cmake(Qt6Quick) >= %{qt6_version}
+BuildRequires: cmake(Qt6QuickWidgets) >= %{qt6_version}
+BuildRequires: cmake(Qt6Scxml) >= %{qt6_version}
+BuildRequires: cmake(Qt6ShaderTools) >= %{qt6_version}
+BuildRequires: cmake(Qt6StateMachine) >= %{qt6_version}
+BuildRequires: cmake(Qt6Svg) >= %{qt6_version}
+BuildRequires: cmake(Qt6Test) >= %{qt6_version}
+BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version}
+BuildRequires: cmake(Qt6WaylandCompositor) >= %{qt6_version}
+%ifarch x86_64 aarch64 riscv64
+BuildRequires: cmake(Qt6WebEngineWidgets) >= %{qt6_version}
%endif
-# Pull in the correct set of shared libraries (Qt5/Qt6)
-Requires: libgammaray%{?pkg_suffix}-%{soversion} >= %{version}
+BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
+BuildRequires: pkgconfig(wayland-server)
%description
-Gamma Ray is a comprehensive collection of high level introspection
+GammaRay is a comprehensive collection of high level introspection
and debugging utilities specifically tailored for the various
frameworks in Qt.
-%package shared-plugins
-Summary: Shared plugins and libraries
-Requires: (gammaray = %{version} or gammaray-qt6 = %{version})
-
-%description shared-plugins
-This package ships libraries and plugins built with a different Qt version.
-There are required in order to inspect executables built with different
-Qt versions.
+%package -n gammaray-qt6
+Summary: Introspection/Debugging Tool for Qt Applications
+Requires: libgammaray-qt6-%{soversion} >= %{version}
+# No longer present after Qt 5 support removal
+Obsoletes: gammaray-qt6-shared-plugins <= 3.3.0
-%package -n libgammaray%{?pkg_suffix}-%{soversion}
+%description -n gammaray-qt6
+GammaRay is a comprehensive collection of high level introspection
+and debugging utilities specifically tailored for the various
+frameworks in Qt.
+
+%package -n libgammaray-qt6-%{soversion}
Summary: Gammaray libraries
-%if 0%{?qt6}
Conflicts: libgammaray-%{soversion}
-%endif
-%description -n libgammaray%{?pkg_suffix}-%{soversion}
+%description -n libgammaray-qt6-%{soversion}
Gammaray libraries.
-%package -n libgammaray-shared%{?pkg_suffix}-%{soversion}
-Summary: Shared Gammaray libraries used by either gammaray or gammaray-qt6
-
-%description -n libgammaray-shared%{?pkg_suffix}-%{soversion}
-This package provides libraries required by %{name}-shared-plugins
-
-%package devel
+%package -n gammaray-qt6-devel
Summary: Introspection/Debugging Tool for Qt Applications
-Requires: libgammaray%{?pkg_suffix}-%{soversion}
-Requires: libgammaray-shared%{?pkg_suffix}-%{soversion}
-%if 0%{?qt6}
-Conflicts: gammaray-devel
-%endif
+Requires: cmake(Qt6Core) >= %{qt6_version}
+Requires: cmake(Qt6Network) >= %{qt6_version}
+Requires: cmake(Qt6Widgets) >= %{qt6_version}
+Obsoletes: gammaray-devel <= 3.3.0
-%description devel
+%description -n gammaray-qt6-devel
Gamma Ray is a comprehensive collection of high level introspection
and debugging utilities specifically tailored for the various
frameworks in Qt. Development files.
@@ -164,83 +121,56 @@ frameworks in Qt. Development files.
%build
%define _lto_cflags %{nil}
-%if 0%{?qt5}
-%cmake \
- -DQT_VERSION_MAJOR=5 \
- -DECM_MKSPECS_INSTALL_DIR=%{_libdir}/qt5/mkspecs/modules \
- -DQCH_INSTALL_DIR=%{_datadir}/gammaray
-%cmake_build
-%endif
-
-%if 0%{?qt6}
%cmake_qt6 \
- -DQT_VERSION_MAJOR:STRING=6 \
-DECM_MKSPECS_INSTALL_DIR:STRING=%{_qt6_mkspecsdir}/modules \
-DQCH_INSTALL_DIR:STRING=%{_datadir}/gammaray \
-DQDOC_INDEX_DIR:STRING=%{_qt6_docdir}
%qt6_build
-%endif
%install
-%if 0%{?qt5}
-%cmake_install
-%endif
-
-%if 0%{?qt6}
%qt6_install
-%endif
# Already packaged with %%doc and %%license tags
rm -r %{buildroot}%{_datadir}/doc
%fdupes %{buildroot}
-%ldconfig_scriptlets -n libgammaray%{?pkg_suffix}-%{soversion}
-%ldconfig_scriptlets -n libgammaray-shared%{?pkg_suffix}-%{soversion}
+%ldconfig_scriptlets -n libgammaray-qt6-%{soversion}
-%files
+%files -n gammaray-qt6
%doc CHANGES README.md
%{_bindir}/gammaray
%{_datadir}/applications/GammaRay.desktop
+%{_datadir}/gammaray/
# Scaled directories are not owned by hicolor
%dir %{_datadir}/icons/hicolor/*@*/
%dir %{_datadir}/icons/hicolor/*@*/apps/
%{_datadir}/icons/hicolor/*/apps/GammaRay.png
-%dir %{_datadir}/zsh
-%dir %{_datadir}/zsh/site-functions
+%{_datadir}/metainfo/com.kdab.GammaRay.metainfo.xml
%{_datadir}/zsh/site-functions/_gammaray
-%dir %{_libdir}/gammaray
-%{_libdir}/gammaray/libexec/
+%{_libdir}/gammaray/
%{_mandir}/man1/gammaray.1%{?ext_man}
-%{_datadir}/metainfo/com.kdab.GammaRay.metainfo.xml
-%{_datadir}/gammaray/
+%dir %{_datadir}/zsh
+%dir %{_datadir}/zsh/site-functions
-%files -n libgammaray%{?pkg_suffix}-%{soversion}
+%files -n libgammaray-qt6-%{soversion}
%license LICENSES/*
+%{_libdir}/libgammaray_*-qt*.so.*
%{_libdir}/libgammaray_client.so.*
%{_libdir}/libgammaray_kuserfeedback.so.*
-%{_libdir}/libgammaray_launcher.so.*
%{_libdir}/libgammaray_launcher_ui.so.*
+%{_libdir}/libgammaray_launcher.so.*
-%files -n libgammaray-shared%{?pkg_suffix}-%{soversion}
-%{_libdir}/libgammaray_*-qt*.so.*
-
-# Shared libraries and plugins to load e.g. Qt 5 executables if gammaray was
-# built with Qt 6
-%files shared-plugins
-%dir %{_libdir}/gammaray
-%{_libdir}/gammaray/%{short_version}/
-
-%files devel
+%files -n gammaray-qt6-devel
%{_includedir}/gammaray/
%{_libdir}/cmake/GammaRay/
%{_libdir}/libgammaray_*-qt*.so
%{_libdir}/libgammaray_client.so
%{_libdir}/libgammaray_kuserfeedback.so
-%{_libdir}/libgammaray_launcher.so
%{_libdir}/libgammaray_launcher_ui.so
-%{_libdir}/qt*/mkspecs/modules/qt_GammaRay*.pri
+%{_libdir}/libgammaray_launcher.so
+%{_qt6_mkspecsdir}/modules/qt_GammaRay*.pri
%changelog