forked from mirrors/nixpkgs
fae6a45e92
On recent macOS the build fails with: ``` now.c:33:16: error: typedef redefinition with different types ('int' vs 'enum clockid_t') typedef int clockid_t; ^ /nix/store/4df4jhlj71vblmxhrr7dkkqpak8a42c8-Libsystem-1238.60.2/include/time.h:171:3: note: previous definition is here } clockid_t; ^ now.c:34:11: warning: 'CLOCK_REALTIME' macro redefined [-Wmacro-redefined] ^ /nix/store/4df4jhlj71vblmxhrr7dkkqpak8a42c8-Libsystem-1238.60.2/include/time.h:154:9: note: previous definition is here ^ now.c:35:11: warning: 'CLOCK_MONOTONIC' macro redefined [-Wmacro-redefined] ^ /nix/store/4df4jhlj71vblmxhrr7dkkqpak8a42c8-Libsystem-1238.60.2/include/time.h:156:9: note: previous definition is here ^ 2 warnings and 1 error generated. ```
41 lines
1.3 KiB
Nix
41 lines
1.3 KiB
Nix
{ lib, stdenv, fetchpatch, fetchurl, libpcap, zlib }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
version = "3.0.719";
|
|
pname = "darkstat";
|
|
|
|
src = fetchurl {
|
|
url = "${meta.homepage}/${pname}-${version}.tar.bz2";
|
|
sha256 = "1mzddlim6dhd7jhr4smh0n2fa511nvyjhlx76b03vx7phnar1bxf";
|
|
};
|
|
|
|
patches = [
|
|
# Avoid multiple definitions of CLOCK_REALTIME on macOS 11,
|
|
# see https://github.com/emikulic/darkstat/pull/2
|
|
(fetchpatch {
|
|
url = "https://github.com/emikulic/darkstat/commit/d2fd232e1167dee6e7a2d88b9ab7acf2a129f697.diff";
|
|
sha256 = "0z5mpyc0q65qb6cn4xcrxl0vx21d8ibzaam5kjyrcw4icd8yg4jb";
|
|
})
|
|
];
|
|
|
|
buildInputs = [ libpcap zlib ];
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = with lib; {
|
|
description = "Network statistics web interface";
|
|
longDescription = ''
|
|
Captures network traffic, calculates statistics about usage, and serves
|
|
reports over HTTP. Features:
|
|
- Traffic graphs, reports per host, shows ports for each host.
|
|
- Embedded web-server with deflate compression.
|
|
- Asynchronous reverse DNS resolution using a child process.
|
|
- Small. Portable. Single-threaded. Efficient.
|
|
- Supports IPv6.
|
|
'';
|
|
homepage = "http://unix4lyfe.org/darkstat";
|
|
license = licenses.gpl2;
|
|
platforms = with platforms; unix;
|
|
};
|
|
}
|