Add ftop: show progress of open files and file systems

This commit is contained in:
Tobias Geerinckx-Rice 2014-12-10 05:30:19 +01:00
parent 323113ef6d
commit 2e7d552122
4 changed files with 70 additions and 0 deletions

View file

@ -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;
};
}

View file

@ -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)

View file

@ -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);

View file

@ -1226,6 +1226,8 @@ let
ftgl212 = callPackage ../development/libraries/ftgl/2.1.2.nix { };
ftop = callPackage ../os-specific/linux/ftop { };
fuppes = callPackage ../tools/networking/fuppes {
ffmpeg = ffmpeg_0_6_90;
};