at master 1.7 kB view raw
1{ 2 stdenv, 3 lib, 4 desktop-file-utils, 5 fetchurl, 6 elfutils, 7 gettext, 8 glib, 9 gtk4, 10 json-glib, 11 itstool, 12 libadwaita, 13 libdex, 14 libpanel, 15 libunwind, 16 libxml2, 17 meson, 18 ninja, 19 pkg-config, 20 polkit, 21 shared-mime-info, 22 systemd, 23 wrapGAppsHook4, 24 gnome, 25}: 26 27stdenv.mkDerivation (finalAttrs: { 28 pname = "sysprof"; 29 version = "48.0"; 30 31 outputs = [ 32 "out" 33 "lib" 34 "dev" 35 ]; 36 37 src = fetchurl { 38 url = "mirror://gnome/sources/sysprof/${lib.versions.major finalAttrs.version}/sysprof-${finalAttrs.version}.tar.xz"; 39 hash = "sha256-Gw8DgPLzBwi6h4KTIaBv7h2zbfqHeXu/B/CnrPRJjRg="; 40 }; 41 42 nativeBuildInputs = [ 43 desktop-file-utils 44 gettext 45 itstool 46 libxml2 47 meson 48 ninja 49 pkg-config 50 shared-mime-info 51 wrapGAppsHook4 52 ]; 53 54 buildInputs = [ 55 elfutils 56 glib 57 gtk4 58 json-glib 59 polkit 60 systemd 61 libadwaita 62 libdex 63 libpanel 64 libunwind 65 ]; 66 67 mesonFlags = [ 68 "-Dsystemdunitdir=lib/systemd/system" 69 # In a separate libsysprof-capture package 70 "-Dinstall-static=false" 71 ]; 72 73 passthru = { 74 updateScript = gnome.updateScript { 75 packageName = "sysprof"; 76 }; 77 }; 78 79 meta = with lib; { 80 description = "System-wide profiler for Linux"; 81 homepage = "https://gitlab.gnome.org/GNOME/sysprof"; 82 longDescription = '' 83 Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open 84 system call to profile the entire system, not just a single 85 application. Sysprof handles shared libraries and applications 86 do not need to be recompiled. In fact they don't even have to 87 be restarted. 88 ''; 89 license = licenses.gpl3Plus; 90 teams = [ teams.gnome ]; 91 platforms = platforms.unix; 92 }; 93})