Files
gammaray/gammaray.spec

246 lines
7.8 KiB
RPMSpec
Raw Normal View History

#
# spec file
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "qt6"
%define qt6 1
%define pkg_suffix -qt6
%define qt_suffix 6
%else
%define qt5 1
%define qt_suffix 5
%endif
%define rname gammaray
%define short_version 3.0
%define soversion 3_0_0
Name: gammaray%{?pkg_suffix}
Version: 3.0.0
Release: 0
Summary: Introspection/Debugging Tool for Qt Applications
License: GPL-2.0-or-later
URL: https://www.kdab.com/gammaray
Source: https://github.com/KDAB/GammaRay/releases/download/v%{version}/%{rname}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM
Patch0: 0001-Fix-doc-tools-detection.patch
# PATCH-FIX-UPSTREAM
Patch1: gammaray-gles.patch
BuildRequires: binutils-devel
BuildRequires: cmake >= 3.16.0
Accepting request 295059 from home:sumski:branches:KDE:Extra - Update to 2.2.1: * Fix spawning a large number of threads in the process list. * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts, useful for embedded targets. * Add workaround for QSortFilterProxyModel regression introduced in qtbase commit bec1854cc0. * Follow kdstatemachineeditor KDSME API changes. * Use the preload injector by default on Mac for Qt >= 5.4. * Fix probe ABI detection on Mac bundles. * Fix asserts caused by icon loading in QCoreApplication-only targets. * Fix crash when target deletes a signal sender in a slot. - Changes since 2.2.0: * New translation inspector plug-in. * New signal monitor and object lifetime plotter plug-in. * Support displaying of QQmlListProperty contents. * Expose signal/slot spy callback API to plug-ins. * Improved state machine visualization using KDSME. * Support for QQmlTimer in the timertop plug-in. * Support exporting of QResource data. * Improved QSGMaterial viewer. * Various performance improvements for the QtQuick2 remote preview. * Improved Qt 5.4 compatibility. * Fix handling of large images in the resource browser. * Support for manually emitting signals, and improved method display. - Changes since 2.1.2: * Fix crash when selecting the scene graph root node. * Fix two asserts in Qt 5.4 when dealing with connections OBS-URL: https://build.opensuse.org/request/show/295059 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=4
2015-04-09 16:48:33 +00:00
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: graphviz-gnome
# include this so the icon folders don't need to be owned by the package
BuildRequires: hicolor-icon-theme
BuildRequires: libdw-devel
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: cmake(Qt%{qt_suffix}3DAnimation)
BuildRequires: cmake(Qt%{qt_suffix}3DExtras)
BuildRequires: cmake(Qt%{qt_suffix}3DInput)
BuildRequires: cmake(Qt%{qt_suffix}3DLogic)
BuildRequires: cmake(Qt%{qt_suffix}3DQuick)
BuildRequires: cmake(Qt%{qt_suffix}3DRender)
BuildRequires: cmake(Qt%{qt_suffix}Bluetooth)
BuildRequires: cmake(Qt%{qt_suffix}Concurrent)
BuildRequires: cmake(Qt%{qt_suffix}Core)
BuildRequires: cmake(Qt%{qt_suffix}Designer)
BuildRequires: cmake(Qt%{qt_suffix}Gui)
BuildRequires: cmake(Qt%{qt_suffix}Help)
BuildRequires: cmake(Qt%{qt_suffix}LinguistTools)
BuildRequires: cmake(Qt%{qt_suffix}Network)
BuildRequires: cmake(Qt%{qt_suffix}OpenGL)
BuildRequires: cmake(Qt%{qt_suffix}Positioning)
BuildRequires: cmake(Qt%{qt_suffix}Qml)
BuildRequires: cmake(Qt%{qt_suffix}Quick)
BuildRequires: cmake(Qt%{qt_suffix}QuickWidgets)
BuildRequires: cmake(Qt%{qt_suffix}Scxml)
BuildRequires: cmake(Qt%{qt_suffix}Svg)
BuildRequires: cmake(Qt%{qt_suffix}Test)
BuildRequires: cmake(Qt%{qt_suffix}WaylandCompositor)
BuildRequires: cmake(Qt%{qt_suffix}Widgets)
BuildRequires: pkgconfig(wayland-server)
Requires: %{name}-shared-plugins = %{version}
%if 0%{?qt5}
BuildRequires: libQt5Core-private-headers-devel
BuildRequires: libQt5Gui-private-headers-devel
BuildRequires: libQt5Widgets-private-headers-devel
BuildRequires: libqt5-qtdeclarative-private-headers-devel
BuildRequires: libqt5-qtscxml-private-headers-devel
BuildRequires: libqt5-qttools-doc
# No Qt6 support in current release
BuildRequires: cmake(KDSME)
BuildRequires: cmake(KF5CoreAddons)
BuildRequires: cmake(KF5SyntaxHighlighting)
BuildRequires: cmake(Qt5AttributionsScannerTools)
BuildRequires: cmake(Qt5Location)
BuildRequires: cmake(Qt5Script)
BuildRequires: cmake(Qt5ScriptTools)
Recommends: gammaray-qt6-shared-plugins = %{version}
%ifnarch ppc64 ppc64le s390 s390x
BuildRequires: cmake(Qt5WebEngineWidgets)
%endif
%endif
%if 0%{?qt6}
BuildRequires: qt6-core-private-devel
BuildRequires: qt6-gui-private-devel
BuildRequires: qt6-qml-private-devel
BuildRequires: qt6-quick-private-devel
BuildRequires: qt6-scxml-private-devel
BuildRequires: qt6-widgets-private-devel
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150500
BuildRequires: cmake(Qt6Location)
%endif
BuildRequires: cmake(Qt6ShaderTools)
BuildRequires: cmake(Qt6ToolsTools)
Recommends: gammaray-shared-plugins = %{version}
Conflicts: gammaray
%ifnarch %{ix86} %{arm} ppc64 ppc64le s390 s390x
BuildRequires: cmake(Qt6WebEngineWidgets)
%endif
%endif
# Pull in the correct set of shared libraries (Qt5/Qt6)
Requires: libgammaray%{?pkg_suffix}-%{soversion} >= %{version}
%description
Gamma Ray 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 libgammaray%{?pkg_suffix}-%{soversion}
Summary: Gammaray libraries
%if 0%{?qt6}
Conflicts: libgammaray-%{soversion}
%endif
%description -n libgammaray%{?pkg_suffix}-%{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
Accepting request 295059 from home:sumski:branches:KDE:Extra - Update to 2.2.1: * Fix spawning a large number of threads in the process list. * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts, useful for embedded targets. * Add workaround for QSortFilterProxyModel regression introduced in qtbase commit bec1854cc0. * Follow kdstatemachineeditor KDSME API changes. * Use the preload injector by default on Mac for Qt >= 5.4. * Fix probe ABI detection on Mac bundles. * Fix asserts caused by icon loading in QCoreApplication-only targets. * Fix crash when target deletes a signal sender in a slot. - Changes since 2.2.0: * New translation inspector plug-in. * New signal monitor and object lifetime plotter plug-in. * Support displaying of QQmlListProperty contents. * Expose signal/slot spy callback API to plug-ins. * Improved state machine visualization using KDSME. * Support for QQmlTimer in the timertop plug-in. * Support exporting of QResource data. * Improved QSGMaterial viewer. * Various performance improvements for the QtQuick2 remote preview. * Improved Qt 5.4 compatibility. * Fix handling of large images in the resource browser. * Support for manually emitting signals, and improved method display. - Changes since 2.1.2: * Fix crash when selecting the scene graph root node. * Fix two asserts in Qt 5.4 when dealing with connections OBS-URL: https://build.opensuse.org/request/show/295059 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=4
2015-04-09 16:48:33 +00:00
%package 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
Accepting request 295059 from home:sumski:branches:KDE:Extra - Update to 2.2.1: * Fix spawning a large number of threads in the process list. * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts, useful for embedded targets. * Add workaround for QSortFilterProxyModel regression introduced in qtbase commit bec1854cc0. * Follow kdstatemachineeditor KDSME API changes. * Use the preload injector by default on Mac for Qt >= 5.4. * Fix probe ABI detection on Mac bundles. * Fix asserts caused by icon loading in QCoreApplication-only targets. * Fix crash when target deletes a signal sender in a slot. - Changes since 2.2.0: * New translation inspector plug-in. * New signal monitor and object lifetime plotter plug-in. * Support displaying of QQmlListProperty contents. * Expose signal/slot spy callback API to plug-ins. * Improved state machine visualization using KDSME. * Support for QQmlTimer in the timertop plug-in. * Support exporting of QResource data. * Improved QSGMaterial viewer. * Various performance improvements for the QtQuick2 remote preview. * Improved Qt 5.4 compatibility. * Fix handling of large images in the resource browser. * Support for manually emitting signals, and improved method display. - Changes since 2.1.2: * Fix crash when selecting the scene graph root node. * Fix two asserts in Qt 5.4 when dealing with connections OBS-URL: https://build.opensuse.org/request/show/295059 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=4
2015-04-09 16:48:33 +00:00
%description devel
Gamma Ray is a comprehensive collection of high level introspection
and debugging utilities specifically tailored for the various
Accepting request 295059 from home:sumski:branches:KDE:Extra - Update to 2.2.1: * Fix spawning a large number of threads in the process list. * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts, useful for embedded targets. * Add workaround for QSortFilterProxyModel regression introduced in qtbase commit bec1854cc0. * Follow kdstatemachineeditor KDSME API changes. * Use the preload injector by default on Mac for Qt >= 5.4. * Fix probe ABI detection on Mac bundles. * Fix asserts caused by icon loading in QCoreApplication-only targets. * Fix crash when target deletes a signal sender in a slot. - Changes since 2.2.0: * New translation inspector plug-in. * New signal monitor and object lifetime plotter plug-in. * Support displaying of QQmlListProperty contents. * Expose signal/slot spy callback API to plug-ins. * Improved state machine visualization using KDSME. * Support for QQmlTimer in the timertop plug-in. * Support exporting of QResource data. * Improved QSGMaterial viewer. * Various performance improvements for the QtQuick2 remote preview. * Improved Qt 5.4 compatibility. * Fix handling of large images in the resource browser. * Support for manually emitting signals, and improved method display. - Changes since 2.1.2: * Fix crash when selecting the scene graph root node. * Fix two asserts in Qt 5.4 when dealing with connections OBS-URL: https://build.opensuse.org/request/show/295059 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=4
2015-04-09 16:48:33 +00:00
frameworks in Qt. Development files.
%prep
%autosetup -p1 -n %{rname}-%{version}
%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=6 \
-DECM_MKSPECS_INSTALL_DIR=%{_qt6_mkspecsdir}/modules \
-DQCH_INSTALL_DIR=%{_datadir}/gammaray \
-DQDOC_INDEX_DIR=%{_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
%suse_update_desktop_file GammaRay Development Debugger
%fdupes %{buildroot}
%ldconfig_scriptlets -n libgammaray%{?pkg_suffix}-%{soversion}
%ldconfig_scriptlets -n libgammaray-shared%{?pkg_suffix}-%{soversion}
Accepting request 295059 from home:sumski:branches:KDE:Extra - Update to 2.2.1: * Fix spawning a large number of threads in the process list. * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts, useful for embedded targets. * Add workaround for QSortFilterProxyModel regression introduced in qtbase commit bec1854cc0. * Follow kdstatemachineeditor KDSME API changes. * Use the preload injector by default on Mac for Qt >= 5.4. * Fix probe ABI detection on Mac bundles. * Fix asserts caused by icon loading in QCoreApplication-only targets. * Fix crash when target deletes a signal sender in a slot. - Changes since 2.2.0: * New translation inspector plug-in. * New signal monitor and object lifetime plotter plug-in. * Support displaying of QQmlListProperty contents. * Expose signal/slot spy callback API to plug-ins. * Improved state machine visualization using KDSME. * Support for QQmlTimer in the timertop plug-in. * Support exporting of QResource data. * Improved QSGMaterial viewer. * Various performance improvements for the QtQuick2 remote preview. * Improved Qt 5.4 compatibility. * Fix handling of large images in the resource browser. * Support for manually emitting signals, and improved method display. - Changes since 2.1.2: * Fix crash when selecting the scene graph root node. * Fix two asserts in Qt 5.4 when dealing with connections OBS-URL: https://build.opensuse.org/request/show/295059 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=4
2015-04-09 16:48:33 +00:00
%files
%doc CHANGES README.md
%{_bindir}/gammaray
%{_datadir}/applications/GammaRay.desktop
# 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}/zsh/site-functions/_gammaray
%dir %{_libdir}/gammaray
%{_libdir}/gammaray/libexec/
%{_mandir}/man1/gammaray.1%{?ext_man}
%{_datadir}/metainfo/com.kdab.GammaRay.metainfo.xml
%{_datadir}/gammaray/
%files -n libgammaray%{?pkg_suffix}-%{soversion}
%license LICENSES/*
%{_libdir}/libgammaray_client.so.*
%{_libdir}/libgammaray_kuserfeedback.so.*
Accepting request 438106 from home:alarrosa:branches:KDE:Extra - Update to 2.6.0: * Reworked tool view handling, enabling deeper IDE integration of individual tools. * Merged model and selection model inspector. * Fixed crash when quickly changing selection in model inspector. * Add QMetaObject validation, identifying common problems with signal/slot declarations. * Support object navigation to and from the model and text document inspectors as well as the signal plotter. * Visualize model selections. * Allow to inspect model content also for disabled cells. * Show model cell flags in model inspector. * Fix sorting in object method view. * Fix handling of source model changes for proxy and selection models. * Add in-app picking for selection models and actions. * Extended the user manual with example problems diagnosed with GammaRay. * Allow to rescan the meta type database. * Add object navigation from the meta type view to the meta object browser. * Show registered comparison and stream operators in the meta type browser. * Add object navigation support to the action and timer inspectors. * Visualize enabled state in the action inspector too. * Support editing of nested properties of value types. * Fix various enum/flag display issues in the property view. * Fix AArch64 detection on ELF platforms. * Support ABI detection on systems without ldd. * Add Wayland compositor inspector. * Add advanced element picking mode for widget and Qt Quick inspectors. * Fix crash when encountering an empty translation context. * Extend user manual content. * Fix a number of memory leaks. * Fix crash when selecting a dangling top-level layout in the widget inspector. * Fix missing standard icon types in style inspector for some Qt versions. * Fix table layout in style inspector. OBS-URL: https://build.opensuse.org/request/show/438106 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=11
2016-11-01 08:38:55 +00:00
%{_libdir}/libgammaray_launcher.so.*
%{_libdir}/libgammaray_launcher_ui.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}/
Accepting request 295059 from home:sumski:branches:KDE:Extra - Update to 2.2.1: * Fix spawning a large number of threads in the process list. * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts, useful for embedded targets. * Add workaround for QSortFilterProxyModel regression introduced in qtbase commit bec1854cc0. * Follow kdstatemachineeditor KDSME API changes. * Use the preload injector by default on Mac for Qt >= 5.4. * Fix probe ABI detection on Mac bundles. * Fix asserts caused by icon loading in QCoreApplication-only targets. * Fix crash when target deletes a signal sender in a slot. - Changes since 2.2.0: * New translation inspector plug-in. * New signal monitor and object lifetime plotter plug-in. * Support displaying of QQmlListProperty contents. * Expose signal/slot spy callback API to plug-ins. * Improved state machine visualization using KDSME. * Support for QQmlTimer in the timertop plug-in. * Support exporting of QResource data. * Improved QSGMaterial viewer. * Various performance improvements for the QtQuick2 remote preview. * Improved Qt 5.4 compatibility. * Fix handling of large images in the resource browser. * Support for manually emitting signals, and improved method display. - Changes since 2.1.2: * Fix crash when selecting the scene graph root node. * Fix two asserts in Qt 5.4 when dealing with connections OBS-URL: https://build.opensuse.org/request/show/295059 OBS-URL: https://build.opensuse.org/package/show/KDE:Extra/gammaray?expand=0&rev=4
2015-04-09 16:48:33 +00:00
%files 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
%changelog