hotspot: 1.4.1 -> 1.5.0

Staying on Qt5 for now, because Qt6 is missing features

K900 02e3075e 69724e0d

+39 -20
+39 -20
pkgs/development/tools/analysis/hotspot/default.nix
··· 1 { lib 2 - , mkDerivation 3 , cmake 4 - , elfutils 5 , extra-cmake-modules 6 , fetchFromGitHub 7 , kconfigwidgets 8 , ki18n 9 , kio 10 , kitemmodels ··· 12 , kparts 13 , kwindowsystem 14 , libelf 15 , qtbase 16 , threadweaver 17 - , qtx11extras 18 , zstd 19 - , kddockwidgets 20 - , rustc-demangle 21 }: 22 23 - mkDerivation rec { 24 pname = "hotspot"; 25 - version = "1.4.1"; 26 27 src = fetchFromGitHub { 28 owner = "KDAB"; 29 repo = "hotspot"; 30 rev = "refs/tags/v${version}"; 31 - hash = "sha256-DW4R7+rnonmEMbCkNS7TGodw+3mEyHl6OlFK3kbG5HM="; 32 fetchSubmodules = true; 33 }; 34 35 nativeBuildInputs = [ 36 cmake 37 extra-cmake-modules 38 ]; 39 buildInputs = [ 40 (elfutils.override { enableDebuginfod = true; }) # perfparser needs to find debuginfod.h 41 kconfigwidgets 42 ki18n 43 kio 44 kitemmodels ··· 47 kwindowsystem 48 libelf 49 qtbase 50 threadweaver 51 - qtx11extras 52 zstd 53 - kddockwidgets 54 - rustc-demangle 55 ]; 56 57 - # hotspot checks for the presence of third party libraries' 58 - # git directory to give a nice warning when you forgot to clone 59 - # submodules; but Nix clones them and removes .git (for reproducibility). 60 - # So we need to fake their existence here. 61 - postPatch = '' 62 - mkdir -p 3rdparty/{perfparser,PrefixTickLabels}/.git 63 - ''; 64 - 65 qtWrapperArgs = [ 66 - "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ rustc-demangle ]}" 67 ]; 68 69 meta = with lib; { 70 description = "A GUI for Linux perf";
··· 1 { lib 2 + , stdenv 3 + , binutils 4 , cmake 5 , extra-cmake-modules 6 + , patchelfUnstable 7 + , wrapQtAppsHook 8 + , elfutils 9 , fetchFromGitHub 10 + , fetchpatch 11 , kconfigwidgets 12 + , kddockwidgets 13 , ki18n 14 , kio 15 , kitemmodels ··· 17 , kparts 18 , kwindowsystem 19 , libelf 20 + , linuxPackages 21 , qtbase 22 + , qtsvg 23 + , rustc-demangle 24 + , syntax-highlighting 25 , threadweaver 26 , zstd 27 }: 28 29 + stdenv.mkDerivation rec { 30 pname = "hotspot"; 31 + version = "1.5.0"; 32 33 src = fetchFromGitHub { 34 owner = "KDAB"; 35 repo = "hotspot"; 36 rev = "refs/tags/v${version}"; 37 + hash = "sha256-FJkDPWqNwoWg/15tvMnwke7PVtWVuqT0gtJBFQE0qZ4="; 38 fetchSubmodules = true; 39 }; 40 41 + patches = [ 42 + # Backport stuck UI bug fix 43 + # FIXME: remove in next update 44 + (fetchpatch { 45 + url = "https://github.com/KDAB/hotspot/commit/7639dee8617dba9b88182c7ff4887e8d3714ac98.patch"; 46 + hash = "sha256-aAo9uEy+MBztMhnC5jB08moZBeRCENU22R39pqSBXOY="; 47 + }) 48 + ]; 49 + 50 nativeBuildInputs = [ 51 cmake 52 extra-cmake-modules 53 + # stable patchelf corrupts the binary 54 + patchelfUnstable 55 + wrapQtAppsHook 56 ]; 57 + 58 buildInputs = [ 59 (elfutils.override { enableDebuginfod = true; }) # perfparser needs to find debuginfod.h 60 kconfigwidgets 61 + kddockwidgets 62 ki18n 63 kio 64 kitemmodels ··· 67 kwindowsystem 68 libelf 69 qtbase 70 + qtsvg 71 + rustc-demangle 72 + syntax-highlighting 73 threadweaver 74 zstd 75 ]; 76 77 qtWrapperArgs = [ 78 + "--suffix PATH : ${lib.makeBinPath [ linuxPackages.perf binutils ]}" 79 ]; 80 + 81 + preFixup = '' 82 + patchelf \ 83 + --add-rpath ${lib.makeLibraryPath [ rustc-demangle ]} \ 84 + --add-needed librustc_demangle.so \ 85 + $out/libexec/hotspot-perfparser 86 + ''; 87 88 meta = with lib; { 89 description = "A GUI for Linux perf";