forked from mirrors/nixpkgs
57 lines
1.7 KiB
Nix
57 lines
1.7 KiB
Nix
|
{ 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+";
|
||
|
};
|
||
|
}
|