1{ fetchurl, stdenv, elfutils, latex2html, xmlto, docbook_xml_dtd_412
2, libxml2, docbook_xsl, libxslt, texLive, texLiveExtra, ghostscript, pkgconfig
3, gtkmm, libglademm, boost, perl, sqlite }:
4
5stdenv.mkDerivation rec {
6 name = "systemtap-1.2";
7
8 src = fetchurl {
9 url = "http://sources.redhat.com/systemtap/ftp/releases/${name}.tar.gz";
10 sha256 = "0kxgjr8p1pnncc0l4941gzx0jsyyqjzjqar2qkcjzp266ajn9qz6";
11 };
12
13 patches =
14 stdenv.lib.optional (stdenv ? glibc) ./nixos-kernel-store-path.patch;
15
16 postPatch =
17 '' sed -i scripts/kernel-doc -e 's|/usr/bin/perl|${perl}/bin/perl|g'
18 '';
19
20 preConfigure =
21 # XXX: This should really be handled by TeXLive's setup-hook.
22 '' export TEXINPUTS="${latex2html}/texinputs:$TEXINPUTS"
23 export TEXINPUTS="${texLiveExtra}/texmf-dist/tex/latex/preprint:$TEXINPUTS"
24 echo "\$TEXINPUTS is \`$TEXINPUTS'"
25 '';
26
27 postConfigure =
28 /* Work around this:
29
30 StapParser.cxx:118: instantiated from here
31 /...-boost-1.42.0/include/boost/algorithm/string/compare.hpp:43: error: comparison between signed and unsigned integer expressions
32
33 */
34 '' sed -i "grapher/Makefile" -e's/-Werror//g'
35 '';
36
37 buildInputs =
38 [ elfutils latex2html xmlto texLive texLiveExtra ghostscript
39 pkgconfig gtkmm libglademm boost sqlite
40 docbook_xml_dtd_412 libxml2
41 docbook_xsl libxslt
42 ];
43
44 meta = {
45 description = "SystemTap, tools to gather information about a running GNU/Linux system";
46
47 longDescription =
48 '' SystemTap provides free software (GPL) infrastructure to simplify
49 the gathering of information about the running GNU/Linux system.
50 This assists diagnosis of a performance or functional problem.
51 SystemTap eliminates the need for the developer to go through the
52 tedious and disruptive instrument, recompile, install, and reboot
53 sequence that may be otherwise required to collect data.
54
55 SystemTap provides a simple command line interface and scripting
56 language for writing instrumentation for a live running kernel. We
57 are publishing samples, as well as enlarging the internal "tapset"
58 script library to aid reuse and abstraction.
59
60 Among other tracing/probing tools, SystemTap is the tool of choice
61 for complex tasks that may require live analysis, programmable
62 on-line response, and whole-system symbolic access. SystemTap can
63 also handle simple tracing jobs.
64 '';
65
66 homepage = http://sourceware.org/systemtap/;
67
68 license = stdenv.lib.licenses.gpl2Plus;
69
70 maintainers = [ ];
71 platforms = stdenv.lib.platforms.linux;
72 broken = true;
73 };
74}