Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv
2, lib
3, desktop-file-utils
4, fetchurl
5, gettext
6, glib
7, gtk3
8, json-glib
9, itstool
10, libdazzle
11, libxml2
12, meson, ninja
13, pango
14, pkg-config
15, polkit
16, shared-mime-info
17, systemd
18, wrapGAppsHook
19, gnome
20}:
21
22stdenv.mkDerivation rec {
23 pname = "sysprof";
24 version = "3.42.1";
25
26 outputs = [ "out" "lib" "dev" ];
27
28 src = fetchurl {
29 url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
30 sha256 = "F5a4FATudf0eus9URkrXr/6/YvKFHu9STZ+OrAxKIAE=";
31 };
32
33 nativeBuildInputs = [
34 desktop-file-utils
35 gettext
36 itstool
37 libxml2
38 meson
39 ninja
40 pkg-config
41 shared-mime-info
42 wrapGAppsHook
43 gnome.adwaita-icon-theme
44 ];
45
46 buildInputs = [
47 glib
48 gtk3
49 json-glib
50 pango
51 polkit
52 systemd
53 libdazzle
54 ];
55
56 mesonFlags = [
57 "-Dsystemdunitdir=lib/systemd/system"
58 ];
59
60 passthru = {
61 updateScript = gnome.updateScript {
62 packageName = pname;
63 versionPolicy = "odd-unstable";
64 };
65 };
66
67 meta = with lib; {
68 description = "System-wide profiler for Linux";
69 homepage = "https://wiki.gnome.org/Apps/Sysprof";
70 longDescription = ''
71 Sysprof is a sampling CPU profiler for Linux that uses the perf_event_open
72 system call to profile the entire system, not just a single
73 application. Sysprof handles shared libraries and applications
74 do not need to be recompiled. In fact they don't even have to
75 be restarted.
76 '';
77 license = licenses.gpl2Plus;
78 maintainers = teams.gnome.members;
79 platforms = platforms.unix;
80 };
81}