Christophe Marin 2023-09-05 17:26:29 +00:00 committed by Git OBS Bridge
parent c31a52138c
commit 9757bd2551
6 changed files with 247 additions and 77 deletions

View File

@ -0,0 +1,54 @@
From 426daf709be68710adcf7d43ef196ecd5ad0c01f Mon Sep 17 00:00:00 2001
From: Christophe Marin <christophe@krop.fr>
Date: Tue, 5 Sep 2023 12:17:31 +0200
Subject: [PATCH] Fix doc tools detection
- Fix QT_VERSION_MAJOR casing
- qhelpgenerator and qtattributionscanner are not installed in Qt binaries dir in
recent Qt6 releases.
Fixes #830
---
docs/CMakeLists.txt | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
index 20c663211..14e969ecb 100644
--- a/docs/CMakeLists.txt
+++ b/docs/CMakeLists.txt
@@ -8,11 +8,11 @@
#
# qdoc toolchain
-find_package(Qt${Qt_VERSION_MAJOR} NO_MODULE QUIET OPTIONAL_COMPONENTS Help)
-if(Qt_VERSION_MAJOR EQUAL 5)
- find_package(Qt${Qt_VERSION_MAJOR} NO_MODULE QUIET OPTIONAL_COMPONENTS AttributionsScannerTools)
-elseif(Qt_VERSION_MAJOR GREATER_EQUAL 6)
- find_package(Qt${Qt_VERSION_MAJOR} NO_MODULE QUIET OPTIONAL_COMPONENTS ToolsTools)
+find_package(Qt${QT_VERSION_MAJOR} NO_MODULE QUIET OPTIONAL_COMPONENTS Help)
+if(QT_VERSION_MAJOR EQUAL 5)
+ find_package(Qt${QT_VERSION_MAJOR} NO_MODULE QUIET OPTIONAL_COMPONENTS AttributionsScannerTools)
+elseif(QT_VERSION_MAJOR GREATER_EQUAL 6)
+ find_package(Qt${QT_VERSION_MAJOR} NO_MODULE QUIET OPTIONAL_COMPONENTS ToolsTools)
endif()
if(TARGET Qt::qdoc)
@@ -25,13 +25,13 @@ if(TARGET Qt::qhelpgenerator)
# Required for Doxygen
get_target_property(QHELPGEN_EXECUTABLE Qt::qhelpgenerator IMPORTED_LOCATION)
else()
- find_program(QHELPGEN_EXECUTABLE qhelpgenerator HINTS ${QT_INSTALL_BINS})
+ find_program(QHELPGEN_EXECUTABLE qhelpgenerator HINTS ${QT_INSTALL_BINS} ${QT_INSTALL_LIBEXECS})
endif()
if(TARGET Qt::qtattributionsscanner)
set(QTATTRIBUTIONSSCANNER_EXECUTABLE Qt::qtattributionsscanner)
else()
- find_program(QTATTRIBUTIONSSCANNER_EXECUTABLE qtattributionsscanner HINTS ${QT_INSTALL_BINS})
+ find_program(QTATTRIBUTIONSSCANNER_EXECUTABLE qtattributionsscanner HINTS ${QT_INSTALL_BINS} ${QT_INSTALL_LIBEXECS})
endif()
if(NOT DEFINED QDOC_TEMPLATE_DIR)
--
2.42.0

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<flavor>qt6</flavor>
</multibuild>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03d7ca7bd5eb600c9c389d0cf071960330592f1f392a783b7fec5f9eaa5df586
size 10841865

3
gammaray-3.0.0.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:acd27dbbcbdf73fed497e0b5d6c477f2e11b59c48499752602677037dcd64ba5
size 11037590

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Tue Sep 5 09:16:28 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Update to 3.0.0
* Port to Qt6.
* Network operations now optionally allow capturing HTTP
response body.
* Objects can now be favorited via context menu. A favorited
object appears in a separate item view above the main itemview
* Add support for modifying QMargins in properties
* Allow zooming with mouse wheel in Signals view
* Filtering for an object now automatically expands the tree
and selects the object
* Fix a crash when an object is re-parented
* Improved performance of signals view
* Improved performance when target application triggers massive
object destructions/constructions
* Remove the KDAB commercial license.
* Remove the 3D Widget Inspector View.
* Remove the experimental VTK-based Object Visualizer.
* Update 3rdparty/backward-cpp to version 1.6.
* Update 3rdparty/lz4 to version 1.9.4.
* Update 3rdparty/StackWalker.
* Increase CMake requirement to version 3.16.0.
- Add patch:
* 0001-Fix-doc-tools-detection.patch
- Add a Qt6 flavor
- Move plugins to a -shared subpackage.
gammaray-shared and gammaray-qt6-shared can be coinstalled and
allow debugging Qt5 or Qt6 applications.
-------------------------------------------------------------------
Tue Dec 28 12:52:59 UTC 2021 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package gammaray
#
# Copyright (c) 2021 SUSE LLC
# 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
@ -16,77 +16,135 @@
#
# Required for the "highly experimental" object visualizer plugin, only VTK 7.1 supported
%bcond_with vtk
%define tarname GammaRay
Name: gammaray
Version: 2.11.3
%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
Group: Development/Tools/Debuggers
URL: https://www.kdab.com/gammaray
Source: https://github.com/KDAB/GammaRay/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source: https://github.com/KDAB/GammaRay/releases/download/v%{version}/%{rname}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM
Patch0: 0001-Fix-doc-tools-detection.patch
BuildRequires: binutils-devel
BuildRequires: cmake >= 3.4
BuildRequires: cmake >= 3.16.0
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: kdstatemachineeditor-devel
BuildRequires: libQt5Core-private-headers-devel >= 5.5.0
BuildRequires: libQt5Gui-private-headers-devel >= 5.5.0
BuildRequires: libQt5Network-private-headers-devel >= 5.5.0
BuildRequires: libdw-devel
BuildRequires: libqt5-qt3d-devel >= 5.5.0
BuildRequires: libqt5-qtbase-doc >= 5.5.0
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= 5.5.0
BuildRequires: libqt5-qttools >= 5.5.0
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: wayland-devel
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(Qt5Bluetooth) >= 5.5.0
BuildRequires: cmake(Qt5Concurrent) >= 5.5.0
BuildRequires: cmake(Qt5Core) >= 5.5.0
BuildRequires: cmake(Qt5Designer) >= 5.5.0
BuildRequires: cmake(Qt5Gui) >= 5.5.0
BuildRequires: cmake(Qt5Network) >= 5.5.0
BuildRequires: cmake(Qt5Positioning) >= 5.5.0
BuildRequires: cmake(Qt5PrintSupport) >= 5.5.0
BuildRequires: cmake(Qt5Qml) >= 5.5.0
BuildRequires: cmake(Qt5Quick) >= 5.5.0
BuildRequires: cmake(Qt5Script) >= 5.5.0
BuildRequires: cmake(Qt5ScriptTools) >= 5.5.0
BuildRequires: cmake(Qt5Svg) >= 5.5.0
BuildRequires: cmake(Qt5Test) >= 5.5.0
BuildRequires: cmake(Qt5WebEngineWidgets) >= 5.5.0
BuildRequires: cmake(Qt5Widgets) >= 5.5.0
%if %{with vtk}
BuildRequires: cmake(VTK) = 7.1.0
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
# Needed to build the user manual
BuildRequires: libqt5-qtdoc-devel
# Build issue with glslang 11.4.0
# https://github.com/KDAB/GammaRay/issues/635
%if 0%{?suse_version} <= 1500
BuildRequires: glslang-devel
%endif
BuildRequires: libqt5-qtscxml-private-headers-devel >= 5.8.0
BuildRequires: cmake(KF5SyntaxHighlighting) >= 5.28.0
BuildRequires: cmake(Qt5Scxml) >= 5.8.0
BuildRequires: cmake(Qt5WaylandCompositor) >= 5.5.0
%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
%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
%package devel
Summary: Introspection/Debugging Tool for Qt Applications
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: libgammaray%{?pkg_suffix}-%{soversion}
Requires: libgammaray-shared%{?pkg_suffix}-%{soversion}
%if 0%{?qt6}
Conflicts: gammaray-devel
%endif
%description devel
Gamma Ray is a comprehensive collection of high level introspection
@ -94,63 +152,87 @@ and debugging utilities specifically tailored for the various
frameworks in Qt. Development files.
%prep
%autosetup -p1
%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/ \
-DQDOC_EXECUTABLE=%{_libqt5_bindir}/qdoc \
-DQHELPGEN_EXECUTABLE=%{_libqt5_bindir}/qhelpgenerator
-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
install -d -m 755 %{buildroot}%{_docdir}/%{name}
mv %{buildroot}%{_datadir}/doc/%{name} %{buildroot}%{_docdir}
%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}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets -n libgammaray%{?pkg_suffix}-%{soversion}
%ldconfig_scriptlets -n libgammaray-shared%{?pkg_suffix}-%{soversion}
%files
%license LICENSE.*
%doc CHANGES README.txt
%doc CHANGES README.md
%{_bindir}/gammaray
%{_datadir}/applications/GammaRay.desktop
# scaled directories are not owned by hicolor
# Scaled directories are not owned by hicolor
%dir %{_datadir}/icons/hicolor/*@*/
%dir %{_datadir}/icons/hicolor/*@*/apps/
%{_datadir}/icons/hicolor/*/apps/GammaRay.png
%{_docdir}/%{name}/
%{_libdir}/gammaray/
%{_libdir}/libgammaray_*-qt5*.so.*
%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.*
%{_libdir}/libgammaray_launcher.so.*
%{_libdir}/libgammaray_launcher_ui.so.*
%{_mandir}/man1/gammaray.*
%if 0%{?suse_version} <= 1320
%dir %{_datadir}/appdata
%endif
%{_kf5_appstreamdir}/com.kdab.GammaRay.metainfo.xml
%{_datadir}/gammaray
%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
%license LICENSE.*
%{_includedir}/%{name}
%{_includedir}/gammaray/
%{_libdir}/cmake/GammaRay/
%{_libdir}/libgammaray_*-qt5*.so
%{_libdir}/libgammaray_*-qt*.so
%{_libdir}/libgammaray_client.so
%{_libdir}/libgammaray_kuserfeedback.so
%{_libdir}/libgammaray_launcher.so
%{_libdir}/libgammaray_launcher_ui.so
%{_libdir}/qt5/mkspecs/modules/qt_GammaRay*.pri
%{_libdir}/qt*/mkspecs/modules/qt_GammaRay*.pri
%changelog