nixpkgs/pkgs/by-name/pa/pagemon/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

39 lines
1.1 KiB
Nix

{ lib, stdenv, fetchFromGitHub, ncurses }:
stdenv.mkDerivation rec {
pname = "pagemon";
version = "0.01.18";
src = fetchFromGitHub {
sha256 = "1aq1mq3k8n70h81s64w2zg4kksw1y05326bn4y8p94lpaypvxqfd";
rev = "V${version}";
repo = "pagemon";
owner = "ColinIanKing";
};
buildInputs = [ ncurses ];
makeFlags = [
"BINDIR=$(out)/bin"
"MANDIR=$(out)/share/man/man8"
];
meta = with lib; {
inherit (src.meta) homepage;
description = "Interactive memory/page monitor for Linux";
mainProgram = "pagemon";
longDescription = ''
pagemon is an ncurses based interactive memory/page monitoring tool
allowing one to browse the memory map of an active running process
on Linux.
pagemon reads the PTEs of a given process and display the soft/dirty
activity in real time. The tool identifies the type of memory mapping
a page belongs to, so one can easily scan through memory looking at
pages of memory belonging data, code, heap, stack, anonymous mappings
or even swapped-out pages.
'';
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}