# RHEL does not provide kdiagram(-devel) %if 0%{?rhel} %bcond_with gui %else %bcond_without gui %endif Name: heaptrack Version: 1.2.0 Release: 4%{?dist}.2sunshine Summary: GUI for heaptrack, a heap memory profiler for Linux License: GPLv2+ URL: https://apps.kde.org/heaptrack/ Source0: http://download.kde.org/stable/heaptrack/%{version}/%{name}-%{version}.tar.xz # only required for the packaged 1.x source from kde.org, not the for # the packages created from git tag v1.x Patch0: heaptrack-1.1.0-nogui.patch BuildRequires: desktop-file-utils %if %{with gui} BuildRequires: cmake >= 2.8.12 %else BuildRequires: cmake >= 2.8.9 %endif %if %{with gui} BuildRequires: extra-cmake-modules BuildRequires: kf5-kcoreaddons-devel BuildRequires: kf5-ki18n-devel BuildRequires: kf5-kitemmodels-devel BuildRequires: kf5-threadweaver-devel BuildRequires: kf5-kconfigwidgets-devel BuildRequires: kf5-kio-devel BuildRequires: kdiagram-devel BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtsvg-devel %endif BuildRequires: boost-devel >= 1.41.0 BuildRequires: libunwind-devel BuildRequires: libdwarf-devel BuildRequires: libzstd-devel BuildRequires: sparsehash-devel BuildRequires: zlib-devel %if 0%{!?rhel:1} Recommends: %{name}-base %endif # no libunwind on s390(x) ExcludeArch: s390 s390x %description This is the GUI for inspecting heaptrack traces. %package base Summary: A heap memory profiler for Linux %description base Heaptrack traces all memory allocations and annotates these events with stack traces. Dedicated analysis tools then allow you to interpret the heap memory profile to: - find hotspots that need to be optimized to reduce the memory footprint of your application - find memory leaks, i.e. locations that allocate memory which is never deallocated - find allocation hotspots, i.e. code locations that trigger a lot of memory allocation calls - find temporary allocations, which are allocations that are directly followed by their deallocation %prep %autosetup -n %{name}-%{version} -p1 %build %if %{with gui} %cmake_kf5 \ %else %{cmake} -DHEAPTRACK_BUILD_GUI=OFF \ %endif %if "%{?_lib}" == "lib64" %{?_cmake_lib_suffix64} %endif %cmake_build %install %cmake_install %if %{with gui} %find_lang heaptrack --with-qt --all-name %endif %if %{with gui} %check desktop-file-validate %{buildroot}%{_datadir}/applications/org.kde.heaptrack.desktop %endif %files base %license COPYING %{_bindir}/heaptrack %{_bindir}/heaptrack_print %{_includedir}/heaptrack_api.h %dir %{_libdir}/heaptrack/ %{_libdir}/heaptrack/libheaptrack_inject.so %{_libdir}/heaptrack/libheaptrack_preload.so %{_libdir}/heaptrack/libexec/heaptrack_interpret %if %{with gui} %files -f heaptrack.lang %{_bindir}/heaptrack_gui %{_datadir}/applications/org.kde.heaptrack.desktop %{_datadir}/metainfo/org.kde.heaptrack.appdata.xml %{_datadir}/icons/hicolor/*/apps/heaptrack* %endif %changelog * Thu Jun 17 2021 Moritz Barsnick 1.2.0-4.2sunshine - make BR: boost-devel versioned * Sat Jun 05 2021 Moritz Barsnick 1.2.0-4.1sunshine - fix URL - fix Source URL - allow building without GUI - add a patch to not require kf5 for non-GUI builds - move CLI tools and library to base package - force build without GUI on EPEL/RHEL, as kdiagram(-devel) is not provided there - explicitly BR cmake (EPEL/RHEL doesn't seem to have it automatically), and version it properly for GUI vs. no GUI build * Tue Mar 30 2021 Jonathan Wakely - 1.2.0-4 - Rebuilt for removed libstdc++ symbol (#1937698) * Tue Jan 26 2021 Fedora Release Engineering - 1.2.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Fri Jan 22 2021 Jonathan Wakely - 1.2.0-2 - Rebuilt for Boost 1.75 * Tue Sep 01 2020 Jan Grulich - 1.2.0-1 - 1.2.0 * Tue Sep 01 2020 Rex Dieter - 1.1.0-10 - adapt to new cmake macros * Sat Aug 01 2020 Fedora Release Engineering - 1.1.0-9 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 1.1.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Thu May 28 2020 Jonathan Wakely - 1.1.0-7 - Rebuilt for Boost 1.73 * Thu Feb 27 2020 Jan Grulich - 1.1.0-6 - BR: libzstd-devel * Wed Jan 29 2020 Fedora Release Engineering - 1.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 1.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Fri Feb 01 2019 Fedora Release Engineering - 1.1.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Jan 29 2019 Jonathan Wakely - 1.1.0-2 - Rebuilt for Boost 1.69 * Wed Jan 02 2019 Jan Grulich - 1.1.0-1 - 1.1.0 * Fri Jul 13 2018 Fedora Release Engineering - 1.0.0-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Fedora Release Engineering - 1.0.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Thu Sep 07 2017 Daniel Vrátil - 1.0.0-8 - Fix build against glibc >= 2.26 (rawhide/f27) * Wed Aug 02 2017 Fedora Release Engineering - 1.0.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.0.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Jul 24 2017 Björn Esser - 1.0.0-5 - Rebuilt for Boost 1.64 * Mon May 15 2017 Fedora Release Engineering - 1.0.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Thu Mar 23 2017 Jan Grulich - 1.0.0-3 - Add BR: qt5-qtsvg-devel * Sat Mar 11 2017 Dan Horák - 1.0.0-2 - exclude s390(x), because libunwind is not there * Fri Mar 10 2017 Jan Grulich - 1.0.0-1 - Initial version