diff options
author | Ludovic Courtès <ludo@gnu.org> | 2008-09-12 20:00:00 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2008-09-12 20:00:00 +0000 |
commit | 474ea2b7eef0beb5b4c01eb1943091926a6ec910 (patch) | |
tree | 54b2e0aef2d66e834184f7d5a32e7402ef229e23 /pkgs/os-specific/linux/exmap | |
parent | c9d9cfe6d4b14b6b6ed530aea5404126d6204b1f (diff) | |
download | nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.tar nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.tar.gz nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.tar.bz2 nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.tar.lz nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.tar.xz nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.tar.zst nixlib-474ea2b7eef0beb5b4c01eb1943091926a6ec910.zip |
Add Exmap, a Linux-specific tool to examine process memory usage.
svn path=/nixpkgs/trunk/; revision=12857
Diffstat (limited to 'pkgs/os-specific/linux/exmap')
-rw-r--r-- | pkgs/os-specific/linux/exmap/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/exmap/default.nix b/pkgs/os-specific/linux/exmap/default.nix new file mode 100644 index 000000000000..da5e00e33772 --- /dev/null +++ b/pkgs/os-specific/linux/exmap/default.nix @@ -0,0 +1,56 @@ +{ fetchurl, stdenv, kernel, pkgconfig, gtkmm, boost, pcre }: + +stdenv.mkDerivation rec { + name = "exmap-0.10"; + + src = fetchurl { + url = "http://www.berthels.co.uk/exmap/download/${name}.tgz"; + sha256 = "0z00dhl6bdmaz7p9wlvnj0izf0zlrlkv34fz449kxyislpzzxmgn"; + }; + + patchPhase = '' + substituteInPlace "kernel/Makefile" \ + --replace '/lib/modules/$(shell uname -r)/build' \ + ${kernel}/lib/modules/*/build + + # The `proc_root' variable (the root of `/proc') is no longer exported + # since 2.6.26. Fortunately, one can pass `NULL' instead of `&proc_root'. + # See http://lkml.org/lkml/2008/3/30/57 . + substituteInPlace "kernel/exmap.c" \ + --replace "&proc_root" "NULL" + + substituteInPlace "src/Makefile" --replace "-Werror" "" + ''; + + buildInputs = [ kernel pkgconfig gtkmm boost pcre ]; + + buildPhase = "make build"; + + # XXX: The tests can only be run one the `exmap' module is loaded. + doCheck = false; + #checkPhase = "make test" + + installPhase = '' + ensureDir "$out/share/${name}" + cp kernel/*.ko "$out/share/${name}" + + ensureDir "$out/bin" + cp src/{gexmap,exmtool,elftool,showproc} "$out/bin" + ''; + + meta = { + description = "Exmap, a tool showing the physical memory usage of processes"; + + longDescription = '' + Exmap is a utility which takes a snapshot of how the physical + memory and swap space are currently used by all the processes on + your system. It examines which page of memory are shared between + which processes, so that it can share the cost of the pages + fairly when calculating usage totals. + ''; + + homepage = http://www.berthels.co.uk/exmap/; + + license = "GPLv2+"; + }; +} |