1{
2 lib,
3 stdenv,
4 fetchzip,
5 qtbase,
6 qtscxml,
7 cmake,
8 json_c,
9 mesa_glu,
10 libglut,
11 trace-cmd,
12 pkg-config,
13 libtraceevent,
14 libtracefs,
15 freefont_ttf,
16 wrapQtAppsHook,
17 qtwayland,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "kernelshark";
22 version = "2.4.0";
23
24 src = fetchzip {
25 url = "https://git.kernel.org/pub/scm/utils/trace-cmd/kernel-shark.git/snapshot/kernelshark-v${finalAttrs.version}.tar.gz";
26 hash = "sha256-OT6ClyZRE+pxWwm+sfzvN3CnoCIyxcAiVsi1fdzaT4M=";
27 };
28
29 outputs = [ "out" ];
30
31 nativeBuildInputs = [
32 pkg-config
33 cmake
34 wrapQtAppsHook
35 ];
36
37 buildInputs = [
38 qtbase
39 qtscxml
40 qtwayland
41 json_c
42 mesa_glu
43 libglut
44 libtraceevent
45 libtracefs
46 trace-cmd
47 ];
48
49 cmakeFlags = [
50 "-D_INSTALL_PREFIX=${placeholder "out"}"
51 "-D_POLKIT_INSTALL_PREFIX=${placeholder "out"}"
52 "-DPKG_CONGIG_DIR=${placeholder "out"}/lib/pkgconfig"
53 "-DTT_FONT_FILE=${freefont_ttf}/share/fonts/truetype/FreeSans.ttf"
54 ];
55
56 meta = with lib; {
57 description = "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem";
58 homepage = "https://kernelshark.org/";
59 license = licenses.gpl2Only;
60 platforms = platforms.linux;
61 maintainers = with maintainers; [ basvandijk ];
62 };
63})