Blob Blame History Raw
%ifarch %{ix86}
    %global arch i686
%else
    %global arch %{_arch}
%endif

## set to enable qt4 support
#global qt4 1
%global qt4_epoch 1
%global qt4_ver 4.8
%global qt4_ver_minor 7
%global qt4_version %{qt4_ver}.%{qt4_ver_minor}
%global qt4_target %(echo qt%{qt4_ver}-%{arch} | sed 's/\\./_/g')

%global qt5_ver %(echo %{_qt5_version} | cut -d. -f1,2)
%global qt5_target %(echo qt%{qt5_ver}-%{arch} | sed 's/\\./_/g')

%global gammaray_ver 2.9
%global gammaray_ver_minor 0
%global gammaray_version %{gammaray_ver}.%{gammaray_ver_minor}

Name:           gammaray
Version:        %{gammaray_version}
Release:        5%{?dist}
Summary:        A tool for examining internals of Qt applications
License:        GPLv2+
URL:            http://www.kdab.com/kdab-products/gammaray/
Source0:        https://github.com/KDAB/GammaRay/releases/download/v%{version}/%{name}-%{version}.tar.gz

# We need Qt 4 sources in order to get access to some
# uninstalled private headers for deep painter introspection
%if 0%{?qt4}
Source1:        http://download.qt.io/official_releases/qt/%{qt4_ver}/%{qt4_version}/qt-everywhere-opensource-src-%{qt4_version}.tar.gz
%endif

Patch0:         gammaray-2.8.1-fix-qtqml-private-headers.patch

# Qt 5 (GUI, probe)
BuildRequires:  qt5-qtbase-devel
BuildRequires:  qt5-qtdeclarative-devel
BuildRequires:  qt5-qtsvg-devel
BuildRequires:  qt5-qtscript-devel
BuildRequires:  qt5-qtwebkit-devel
BuildRequires:  qt5-qttools-devel
# usually pulled in by qttools-devel, but let's be explicit -- rex
BuildRequires:  qt5-linguist
BuildRequires:  kf5-kcoreaddons-devel
BuildRequires:  kf5-syntax-highlighting-devel

%if 0%{?qt4}
# Qt4/KDE 4 support (only for Qt 4 probe)
BuildRequires:  qt-devel = %{?qt4_epoch:%{qt4_epoch}:}%qt4_version
BuildRequires:  qt-devel-private = %{?qt4_epoch:%{qt4_epoch}:}%qt4_version
BuildRequires:  qtwebkit-devel
BuildRequires:  kdelibs4-devel
BuildRequires:  phonon-devel
%endif


# General deps
BuildRequires:  graphviz-devel
BuildRequires:  vtk-devel
BuildRequires:  glibc-devel

# Documentation
BuildRequires:  docbook-dtds
BuildRequires:  doxygen
BuildRequires:  graphviz
BuildRequires:  perl-podlators

# Post-install
BuildRequires:  desktop-file-utils

BuildRequires:  python2-devel
BuildRequires:  hdf5-devel
BuildRequires:  libxml2-devel
BuildRequires:  blas-devel
BuildRequires:  lapack-devel
BuildRequires:  netcdf-devel
BuildRequires:  jsoncpp-devel
BuildRequires:  netcdf-cxx-devel

# For AutoReq cmake-filesystem
BuildRequires:  cmake

Requires:       %{name}-qt5 = %{version}-%{release}

# When -doc subpkg was removed
Obsoletes:      %{name}-doc <= 2.2.1

# omit provides from plugins
%global __provides_exclude_from ^(%{_qt5_libdir}/gammaray.*\\.so)$

%description
A tool to poke around in a Qt-application and also to manipulate
the application to some extent. It uses various DLL injection
techniques to hook into an application at run-time and provide
access to a lot of interesting information.

By default GammaRay can only introspect Qt 5 applications. To
introspect Qt 4 applications, install %{name}-qt4.

%package        qt5
Summary:        Qt 5 probe for GammaRay
BuildRequires:  qt5-qtbase-private-devel
Requires:       qt5-qtbase%{?_isa} = %{_qt5_version}
Requires:       %{name} = %{version}-%{release}

%description    qt5
Provides a Qt 5 probe for GammaRay that allows introspecting Qt 5
applications. This probe is installed by default. It is possible
to install probes for different architectures as well, GammaRay
will then be able to inspect those applications too.

%package        qt4
Summary:        Qt 4 probe for GammaRay
Requires:       qt%{?_isa} = %{qt4_epoch}:%qt4_version
Requires:       %{name} = %{version}-%{release}
%description    qt4
Provides a Qt 4 probe for GammaRay that allows introspecting Qt 4
applications. By default GammaRay only provides Qt 5 probe.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}
Requires:       %{name}-qt4%{?_isa} = %{version}-%{release}
%description    devel
The %{name}-devel package contains libraries and header files for
developing plugins for %{name}.

%package        doc
Summary:        Developer documentation for %{name}
BuildArch:      noarch
%description    doc
This package includes developer documentation in HTML format.

%prep
%setup -q -n %{name}-%{version} %{?qt4:-b 1}

%build
%global _target_platform_qt5 %{_target_platform}_qt5
mkdir %{_target_platform_qt5}
pushd %{_target_platform_qt5}
%cmake .. \
        -DLIBEXEC_INSTALL_DIR=libexec \
        -DVTK_DIR=%{_libdir}/cmake/vtk \
        -DQCH_INSTALL_DIR=%{_docdir}/gammaray
popd
%make_build -C %{_target_platform_qt5}
make docs -C %{_target_platform_qt5}

%if 0%{?qt4}
%global _target_platform_qt4 %{_target_platform}_qt4

mkdir %{_target_platform_qt4}
pushd %{_target_platform_qt4}
%cmake .. \
        -DGAMMARAY_BUILD_UI=FALSE \
        -DGAMMARAY_PROBE_ONLY_BUILD=TRUE \
        -DGAMMARAY_ENFORCE_QT4_BUILD:BOOL=ON \
        -DQT_PRIVATE_INCLUDE_DIR=%{_builddir}/qt-everywhere-opensource-src-%{qt4_version}/include/QtCore \
        -DVTK_DIR=%{_libdir}/cmake/vtk \
        -DLIBEXEC_INSTALL_DIR=libexec \
        -DQCH_INSTALL_DIR=%{_docdir}/gammaray
popd
%make_build -C %{_target_platform_qt4}
%endif


%install
make install/fast DESTDIR=%{buildroot} -C %{_target_platform_qt5}
%if 0%{?qt4}
make install/fast DESTDIR=%{buildroot} -C %{_target_platform_qt4}
%endif

## this snippet should no longer be needed, keeping commented out
## just in case -- rex
#mkdir -p %{buildroot}%{_qt5_archdatadir}
#mv %{buildroot}/usr/mkspecs %{buildroot}%{_qt5_archdatadir}/mkspecs

# We install the license manually
rm %{buildroot}/%{_docdir}/gammaray/LICENSE{,.GPL,.US}.txt
rm %{buildroot}/%{_docdir}/gammaray/ReadMe.txt

%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/GammaRay.desktop

%ldconfig_scriptlets

%files
%doc ReadMe.md ReadMe.txt ReadMe-commercial.txt
%license LICENSE.GPL.txt LICENSE.US.txt LICENSE.txt
%{_bindir}/gammaray
%{_qt5_libdir}/libgammaray_client.so.*
%{_qt5_libdir}/libgammaray_launcher.so.*
%{_qt5_libdir}/libgammaray_launcher_ui.so.*
%{_qt5_libdir}/libgammaray_kuserfeedback.so.*
%{_qt5_libdir}/gammaray/libexec/gammaray-launcher
%{_qt5_libdir}/gammaray/libexec/gammaray-client
%{_datadir}/appdata/GammaRay.appdata.xml
%{_datadir}/applications/GammaRay.desktop
%{_datadir}/icons/hicolor/*/apps/GammaRay.png
%{_mandir}/man1/gammaray.1.gz
%{_docdir}/gammaray/gammaray-api.qch
%lang(de) %{_datadir}/gammaray/translations/gammaray_de.qm
%lang(en) %{_datadir}/gammaray/translations/gammaray_en.qm

%ldconfig_scriptlets qt5

%files qt5
%{_qt5_libdir}/libgammaray_ui-%{qt5_target}.so.*
%{_qt5_libdir}/libgammaray_common-%{qt5_target}.so.*
%{_qt5_libdir}/libgammaray_core-%{qt5_target}.so.*
%{_qt5_libdir}/libgammaray_kitemmodels-%{qt5_target}.so.*
%{_qt5_libdir}/gammaray/%{gammaray_ver}/%{qt5_target}/

%if 0%{?qt4}
%ldconfig_scriptlets qt4

%files qt4
%{_qt4_libdir}/libgammaray_common-%{qt4_target}.so.*
%{_qt4_libdir}/libgammaray_core-%{qt4_target}.so.*
%{_qt5_libdir}/libgammaray_kitemmodels-%{qt4_target}.so.*
%{_qt4_libdir}/gammaray/%{gammaray_ver}/%{qt4_target}/
%endif

%files devel
%{_includedir}/gammaray
%{_qt5_libdir}/libgammaray_client.so
%{_qt5_libdir}/libgammaray_launcher.so
%{_qt5_libdir}/libgammaray_launcher_ui.so
%{_qt5_libdir}/libgammaray_kuserfeedback.so
%{_qt5_libdir}/libgammaray_ui-%{qt5_target}.so
%{_qt5_libdir}/libgammaray_common-%{qt5_target}.so
%{_qt5_libdir}/libgammaray_core-%{qt5_target}.so
%{_qt5_libdir}/libgammaray_kitemmodels-%{qt5_target}.so
%if 0%{?qt4}
%{_qt4_libdir}/libgammaray_common-%{qt4_target}.so
%{_qt4_libdir}/libgammaray_core-%{qt4_target}.so
%{_qt5_libdir}/libgammaray_kitemmodels-%{qt4_target}.so
%endif
%{_libdir}/cmake/GammaRay/
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayCommon.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayCore.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayUi.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayClient.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayKItemModels.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayLauncher.pri
%{_qt5_archdatadir}/mkspecs/modules/qt_GammaRayLauncherUi.pri


%changelog
* Fri Sep 21 2018 Jan Grulich <jgrulich@redhat.com> - 2.9.0-5
- rebuild (qt5)

* Thu Aug 23 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-4
- drop mkspecs hack causing FTBFS

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Thu Jun 21 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-2
- rebuild (qt5)

* Sat Jun 02 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.9.0-1
- gammayray-2.9.0
- make qt4 support optional (off for now)

* Sun May 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.8.1-9
- rebuild (qt5)

* Thu Mar 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 2.8.1-8
- Update Python 2 dependency declarations to new packaging standards
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)

* Wed Feb 14 2018 Jan Grulich <jgrulich@redhat.com> -  2.8.1-7
- rebuild (qt5)

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jan 11 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.8.1-5
- Remove obsolete scriptlets

* Wed Dec 20 2017 Jan Grulich <jgrulich@redhat.com> - 2.8.1-4
- rebuild (qt5)

* Mon Nov 27 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.1-3
- rebuild (qt5)

* Tue Oct 10 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.1-2
- rebuild (qt5)

* Wed Sep 06 2017 Daniel Vrátil <dvratil@fedoraproject.org> - 2.8.1-1
- update to GammaRay 2.8.1

* Mon Aug 07 2017 Björn Esser <besser82@fedoraproject.org> - 2.8.0-5
- Rebuilt for AutoReq cmake-filesystem

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Wed Jul 19 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.8.0-2
- rebuild (qt5)

* Thu Jun 08 2017 Daniel Vrátil <dvratil@fedoraproject.org> - 2.8.0-1
- update to GammaRay 2.8.0

* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.7.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild

* Sun May 07 2017 Daniel Vrátil <dvratil@fedoraproject.org> - 2.7.0-4
- rebuild (qt5)

* Fri Mar 31 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.7.0-3
- rebuild (qt5)

* Sat Feb 18 2017 Daniel Vrátil <dvratil@fedoraproject.org> - 2.7.0-2
- add kf5-syntax-highligting dependency
- fix Qt4 source lookup

* Wed Feb 15 2017 Daniel Vrátil <dvratil@fedoraproject.org> - 2.7.0-1
- update to GammaRay 2.7.0

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0-2.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Sun Dec 11 2016 Daniel Vrátil <dvratil@fedoraproject.org> - 2.6.0-1.2
- Qt5 rebuild

* Mon Nov 21 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.6.0-1.1
- branch rebuild (qt5)

* Sun Nov 06 2016 Daniel Vrátil <dvratil@fedoraproject.org> - 2.6.0-1
- update to GammaRay 2.6.0

* Tue Jul 19 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.4.1-4
- rebuild (qt 5.7.0), simplify qt5 versioning macro usage

* Fri Jun 10 2016 Jan Grulich <jgrulich@redhat.com> - 2.4.1-3
- Rebuild (qt5-qtbase)

* Sun Apr 17 2016 Rex Dieter <rdieter@fedoraproject.org> - 2.4.1-2
- -qt5: BR: qt5-qtbase-private-devel

* Thu Mar 17 2016 Daniel Vrátil <dvratil@fedoraproject.org> - 2.4.1-1
- GammaRay 2.4.1

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jan 27 2016 Jan Grulich <jgrulich@redhat.com> - 2.4.0-1
- GammaRay 2.4.0

* Sun Dec 06 2015 Daniel Vrátil <dvratil@fedoraproject.org> - 2.3.0-5
- Rebuild against Qt 5.6.0 update on rawhide

* Thu Oct 29 2015 Orion Poplawski <orion@cora.nwra.com> - 2.3.0-4
- Rebuild for vtk 6.3.0

* Mon Oct 12 2015 Daniel Vrátil <dvratil@redhat.com> - 2.3.0-3
- Rebuild against Qt 5.5.1 update on rawhide

* Tue Sep 01 2015 Daniel Vrátil <dvratil@redhat.com> - 2.3.0-2
- Rebuild against new Qt 5.5 on F21+

* Tue Jul 14 2015 Daniel Vrátil <dvratil@redhat.com> - 2.3.0-1
- GammaRay 2.3.0

* Tue Jun 30 2015 Daniel Vrátil <dvratil@redhat.com> - 2.2.1-11
- Rebuild on Qt 5.5 in rawhide

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Thu Jun 04 2015 Jan Grulich <jgrulich@redhat.com> - 2.2.1-9
- rebuild (qt-5.4.2)

* Mon May 18 2015 Daniel Vrátil <dvratil@redhat.com> - 2.2.1-8
- probes require the main UI (otherwise they are not very useful)
- update to Qt 4.8.7 in rawhide

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.2.1-7
- Rebuilt for GCC 5 C++11 ABI change

* Fri Mar 27 2015 Daniel Vrátil <dvratil@redhat.com> - 2.2.1-6
- rebuild (qt-5.4.1)

* Sun Mar 01 2015 Rex Dieter <rdieter@fedoraproject.org> - 2.2.1-5
- use %%_qt5_version macro instead for runtime deps, ie depend on the
  version of qt5 used during the build, not some hard-coded value.

* Thu Feb 26 2015 Rex Dieter <rdieter@fedoraproject.org> 2.2.1-4
- rebuild (qt-5.4.1)

* Tue Feb 03 2015 Daniel Vrátil <dvratil@redhat.com> - 2.2.1-3
- fix typo

* Tue Feb 03 2015 Daniel Vrátil <dvratil@redhat.com> - 2.2.1-2
- drop ambiguous BuildArch

* Tue Feb 03 2015 Daniel Vrátil <dvratil@redhat.com> - 2.2.1-1
- Update to 2.2.1
- Default to Qt 5 build now
- Provide probes for Qt 5 and Qt 4 in -qt5 and -qt4 subpackages

* Wed Jan 07 2015 Orion Poplawski <orion@cora.nwra.com> - 2.1.1-2
- Rebuild for hdf5 1.8.4

* Tue Sep 23 2014 Richard Hughes <richard@hughsie.com> - 2.1.1-1
- Update to new upstream release.

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu May  8 2014 Tom Callaway <spot@fedoraproject.org> - 2.0.2-1
- update to 2.0.2

* Mon Jan 27 2014 Daniel Vrátil <dvratil@redhat.com> - 2.0.0-2
- rebuilt against VTK

* Thu Jan 23 2014 Daniel Vrátil <dvratil@redhat.com> - 2.0.0-1
- GammaRay 2.0.0
- require specific version of Qt
- point CMake to VTK dir
- enforce Qt 4 build (GammaRay automatically switches to Qt 5 build when it finds it installed)
- remove rpath workaround
- fix installation destination of libexec binaries

* Thu Jan 02 2014 Daniel Vrátil <dvratil@redhat.com> - 1.3.2-2
- Rebuilt against new VTK
- BR blas-devel
- BR lapack-devel
- BR netcdf-devel

* Thu Dec 05 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.2-1
- GammaRay 1.3.2

* Tue Aug 27 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.1-3
- fix duplicate documentation files (#1001275)

* Tue Aug 27 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.1-2
- update Qt sources
- fix build against VTK 6.0

* Mon Aug 05 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.1-1
- GammaRay 1.3.1

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Feb 15 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.0-4
- add perl-podlators to BR as they've been split from perl pkg in rawhide

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Tue Feb 05 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.0-2
- rename docs subpackage to doc
- use %%global instead of %%define

* Tue Jan 29 2013 Daniel Vrátil <dvratil@redhat.com> - 1.3.0-1
- first attempt