1{
2 lib,
3 stdenv,
4 fetchgit,
5 pkg-config,
6 asciidoc,
7 xmlto,
8 docbook_xml_dtd_45,
9 docbook_xsl,
10 meson,
11 ninja,
12 cunit,
13 gitUpdater,
14}:
15
16stdenv.mkDerivation rec {
17 pname = "libtraceevent";
18 version = "1.8.4";
19
20 src = fetchgit {
21 url = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git";
22 rev = "libtraceevent-${version}";
23 hash = "sha256-T4NxYVJKl+2YZ6JZ7PvtM4RdTg9DIE+su4KxJwvw7iI=";
24 };
25
26 postPatch = ''
27 chmod +x Documentation/install-docs.sh.in
28 patchShebangs --build check-manpages.sh Documentation/install-docs.sh.in
29 '';
30
31 outputs = [
32 "out"
33 "dev"
34 "devman"
35 "doc"
36 ];
37 nativeBuildInputs = [
38 meson
39 ninja
40 pkg-config
41 asciidoc
42 xmlto
43 docbook_xml_dtd_45
44 docbook_xsl
45 ];
46
47 ninjaFlags = [
48 "all"
49 "docs"
50 ];
51
52 doCheck = true;
53 checkInputs = [ cunit ];
54
55 passthru.updateScript = gitUpdater {
56 # No nicer place to find latest release.
57 url = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git";
58 rev-prefix = "libtraceevent-";
59 };
60
61 meta = with lib; {
62 description = "Linux kernel trace event library";
63 homepage = "https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/";
64 license = licenses.lgpl21Only;
65 platforms = platforms.linux;
66 maintainers = with maintainers; [ wentasah ];
67 };
68}