diff options
author | Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com> | 2014-12-10 05:30:19 +0100 |
---|---|---|
committer | Tobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com> | 2014-12-10 05:34:57 +0100 |
commit | 2e7d55212249708c1679ac79e4003134edd9cbf0 (patch) | |
tree | 694b4dd24c843f650ccc55a6df685d205525d7b5 /pkgs/os-specific/linux/ftop | |
parent | 323113ef6d18a56f32fc6278ddbc8c40f4d11ce0 (diff) | |
download | nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.tar nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.tar.gz nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.tar.bz2 nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.tar.lz nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.tar.xz nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.tar.zst nixpkgs-2e7d55212249708c1679ac79e4003134edd9cbf0.zip |
Add ftop: show progress of open files and file systems
Diffstat (limited to 'pkgs/os-specific/linux/ftop')
-rw-r--r-- | pkgs/os-specific/linux/ftop/default.nix | 37 | ||||
-rw-r--r-- | pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch | 11 | ||||
-rw-r--r-- | pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch | 20 |
3 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/ftop/default.nix b/pkgs/os-specific/linux/ftop/default.nix new file mode 100644 index 00000000000..4733ce95bb2 --- /dev/null +++ b/pkgs/os-specific/linux/ftop/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, ncurses }: + +stdenv.mkDerivation rec { + name = "ftop-1.0"; + + src = fetchurl { + url = "http://ftop.googlecode.com/files/${name}.tar.bz2"; + sha256 = "3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82"; + }; + + buildInputs = [ ncurses ]; + + patches = [ + ./ftop-fix_buffer_overflow.patch + ./ftop-fix_printf_format.patch + ]; + patchFlags = "-p0"; + + postPatch = '' + substituteInPlace configure --replace "curses" "ncurses" + ''; + + meta = with stdenv.lib; { + description = "Show progress of open files and file systems"; + homepage = https://code.google.com/p/ftop/; + license = with licenses; gpl3Plus; + longDescription = '' + Ftop is to files what top is to processes. The progress of all open files + and file systems can be monitored. If run as a regular user, the set of + open files will be limited to those in that user's processes (which is + generally all that is of interest to the user). + As with top, the items are displayed in order from most to least active. + ''; + maintainers = with maintainers; [ nckx ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch b/pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch new file mode 100644 index 00000000000..f10fa6a33b8 --- /dev/null +++ b/pkgs/os-specific/linux/ftop/ftop-fix_buffer_overflow.patch @@ -0,0 +1,11 @@ +--- src/ftop.c.orig 2010-06-15 21:42:15.000000000 +0200 ++++ src/ftop.c 2010-06-15 21:45:38.000000000 +0200 +@@ -935,7 +935,7 @@ + { + if (bar_used > 0) + { +- snprintf(rate_buf, bar_used + 1, "%s", tmp_buf); ++ snprintf(rate_buf, bar_used >= sizeof(rate_buf) ? sizeof(rate_buf) : bar_used + 1, "%s", tmp_buf); + p_attron(p, A_REVERSE); + p_printf(p, "%s", rate_buf); + if (bar_used > bytes) diff --git a/pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch b/pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch new file mode 100644 index 00000000000..afb04306428 --- /dev/null +++ b/pkgs/os-specific/linux/ftop/ftop-fix_printf_format.patch @@ -0,0 +1,20 @@ +--- src/ftop.c.orig 2010-06-15 23:14:50.000000000 +0200 ++++ src/ftop.c 2010-06-15 23:15:52.000000000 +0200 +@@ -222,7 +222,7 @@ + p_eol(p, part); + + cols = snprintf(tmp_buf, sizeof(tmp_buf), +- "Processes: %u total, %u unreadable", ++ "Processes: %zu total, %zu unreadable", + s->num_processes + s->num_unreadable_processes, + s->num_unreadable_processes); + +@@ -244,7 +244,7 @@ + p_eol(p, part); + + snprintf(tmp_buf, sizeof(tmp_buf), +- "Open Files: %u regular, %u dir, %u chr, %u blk, %u pipe, %u sock, %u misc", ++ "Open Files: %zu regular, %zu dir, %zu chr, %zu blk, %zu pipe, %zu sock, %zu misc", + s->num_reg, s->num_dir, s->num_chr, s->num_blk, s->num_pipe, + s->num_sock, s->num_misc); + |