liburcu: new package

liburcu is a userspace RCU (read-copy-update) library that is used by
LTTng - Linux Trace Toolkit (next generation).
lttng-ust: new package

This is the user space library for LTTng. It is needed to do user space
tracing, as opposed to kernel space tracing.
lttng-tools: new package

This is the Linux Trace Toolkit. Included in this package:

Command-line client:
  lttng
Tracing daemons:
  lttng-sessiond (automatically started by lttng)
  lttng-relayd   (remote trace collection daemon)

Userspace tracing can be done by using liblttng-ust. To do kernel
tracing we also need the LTTng kernel modules.
babeltrace: new package

Babeltrace is a command-line tool and library to read and convert LTTng
tracefiles. Give it a trace file/dir path and it will print a human
readable event log to standard out.
WIP: lttng-modules: new package

UPDATE: On NixOS: build error with linux <= 3.2, works with linux 3.4.

FIXME: build errors out (and clean-up expression when it works).
On Ubuntu, (linux 3.5.0-34-generic) this works just fine:

  cd lttng-modules-2.2.0 && make
  [...]
    LD [M]  /home/bfo/lttng-modules-2.2.0/lib/lttng-lib-ring-buffer.o
  /home/bfo/lttng-modules-2.2.0/probes/Makefile:70: Files /usr/src/linux-headers-3.5.0-34-generic/fs/ext3/*.h not found. Probe
  "ext3" is disabled. Use full kernel source tree to enable it.
  /home/bfo/lttng-modules-2.2.0/probes/Makefile:131: Files /usr/src/linux-headers-3.5.0-34-generic/fs/btrfs/*.h not found. Probe
  "btrfs" is disabled. Use full kernel source tree to enable it.
  /home/bfo/lttng-modules-2.2.0/probes/Makefile:147: Files /usr/src/linux-headers-3.5.0-34-generic/fs/ext4/*.h not found. Probe
  "ext4" is disabled. Use full kernel source tree to enable it.
  [...SUCCESS...]

But on NixOS (linux 3.2.47) it doesn't say "ext3/*h not found" but later errors out:

  building /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o
    CC [M]  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o
  In file included from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/lttng-events.h:759:0,
                   from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/define_trace.h:148,
                   from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/ext3.h:868,
                   from /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.c:48:
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:
  In function '__event_probe__ext3__page_op':
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1:
  error: dereferencing pointer to incomplete type
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1:
  error: dereferencing pointer to incomplete type
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:240:1:
  error: dereferencing pointer to incomplete type
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:
  In function '__event_probe__ext3_invalidatepage':
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1:
  error: dereferencing pointer to incomplete type
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1:
  error: dereferencing pointer to incomplete type
  /tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/ext3.h:298:1:
  error: dereferencing pointer to incomplete type
  make[3]: *** [/tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes/lttng-probe-ext3.o] Error 1
  make[2]: *** [/tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0/probes] Error 2
  make[1]: *** [_module_/tmp/nix-build-lttng-modules-2.2.0.drv-0/lttng-modules-2.2.0] Error 2
  make[1]: Leaving directory `/nix/store/bqsgm4hdacwmkqgpw51w8fkva9klas44-linux-3.2.47/lib/modules/3.2.47/build'
  make: *** [default] Error 2
  builder for `/nix/store/s23i64191z68vcbzigss8w0qrhhhcggl-lttng-modules-2.2.0.drv' failed with exit code 2
  error: build of `/nix/store/s23i64191z68vcbzigss8w0qrhhhcggl-lttng-modules-2.2.0.drv' failed

Add linux kernel modules needed to do kernel tracing with LTTng.
lttngtop: new package

LTTngTop is a top-like, ncurses-based utility to analyze trace
information.
lttv: new package

Linux Trace Toolkit Viewer is a GUI program to visualize LTTng trace
files.