4a7f99d55d
Part of: https://github.com/NixOS/nixpkgs/issues/108938 meta = with stdenv.lib; is a widely used pattern. We want to slowly remove the `stdenv.lib` indirection and encourage people to use `lib` directly. Thus let’s start with the meta field. This used a rewriting script to mostly automatically replace all occurances of this pattern, and add the `lib` argument to the package header if it doesn’t exist yet. The script in its current form is available at https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
80 lines
2.7 KiB
Nix
80 lines
2.7 KiB
Nix
{ writeText, lib, stdenv, fetchurl, ncurses }:
|
|
|
|
let
|
|
version = "0.6.1";
|
|
in
|
|
stdenv.mkDerivation rec {
|
|
pname = "bwm-ng";
|
|
inherit version;
|
|
|
|
src = fetchurl {
|
|
url = "https://www.gropp.org/bwm-ng/${pname}-${version}.tar.gz";
|
|
sha256 = "1w0dwpjjm9pqi613i8glxrgca3rdyqyp3xydzagzr5ndc34z6z02";
|
|
};
|
|
|
|
buildInputs = [ ncurses ];
|
|
|
|
# gcc7 has some issues with inline functions
|
|
patches = [
|
|
(writeText "gcc7.patch"
|
|
''
|
|
--- a/src/bwm-ng.c
|
|
+++ b/src/bwm-ng.c
|
|
@@ -27,5 +27,5 @@
|
|
/* handle interrupt signal */
|
|
void sigint(int sig) FUNCATTR_NORETURN;
|
|
-inline void init(void);
|
|
+static inline void init(void);
|
|
|
|
/* clear stuff and exit */
|
|
--- a/src/options.c
|
|
+++ b/src/options.c
|
|
@@ -35,5 +35,5 @@
|
|
inline int str2output_type(char *optarg);
|
|
#endif
|
|
-inline int str2out_method(char *optarg);
|
|
+static inline int str2out_method(char *optarg);
|
|
inline int str2in_method(char *optarg);
|
|
|
|
'')
|
|
];
|
|
|
|
|
|
# This code uses inline in the gnu89 sense: see http://clang.llvm.org/compatibility.html#inline
|
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-std=gnu89";
|
|
|
|
meta = with lib; {
|
|
description = "A small and simple console-based live network and disk io bandwidth monitor";
|
|
homepage = "http://www.gropp.org/?id=projects&sub=bwm-ng";
|
|
license = licenses.gpl2;
|
|
platforms = platforms.unix;
|
|
|
|
longDescription = ''
|
|
Features
|
|
|
|
supports /proc/net/dev, netstat, getifaddr, sysctl, kstat, /proc/diskstats /proc/partitions, IOKit, devstat and libstatgrab
|
|
unlimited number of interfaces/devices supported
|
|
interfaces/devices are added or removed dynamically from list
|
|
white-/blacklist of interfaces/devices
|
|
output of KB/s, Kb/s, packets, errors, average, max and total sum
|
|
output in curses, plain console, CSV or HTML
|
|
configfile
|
|
|
|
Short list of changes since 0.5 (for full list read changelog):
|
|
|
|
curses2 output, a nice bar chart
|
|
disk input for bsd/macosx/linux/solaris
|
|
win32 network bandwidth support
|
|
moved to autotools
|
|
alot fixes
|
|
|
|
Info
|
|
This was influenced by the old bwm util written by Barney (barney@freewill.tzo.com) which had some issues with faster interfaces and was very simple. Since i had almost all code done anyway for other projects, i decided to create my own version.
|
|
|
|
I actually don't know if netstat input is useful at all. I saw this elsewhere, so i added it. Its target is "netstat 1.42 (2001-04-15)" linux or Free/Open/netBSD. If there are other formats i would be happy to add them.
|
|
|
|
(from homepage)
|
|
'';
|
|
};
|
|
}
|