Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchurl, kernel, kmod, zlib }: 2 3let 4 version = "3.1"; 5in 6 7stdenv.mkDerivation { 8 name = "netatop-${kernel.version}-${version}"; 9 10 src = fetchurl { 11 url = "http://www.atoptool.nl/download/netatop-${version}.tar.gz"; 12 sha256 = "0qjw8glfdmngfvbn1w63q128vxdz2jlabw13y140ga9i5ibl6vvk"; 13 }; 14 15 nativeBuildInputs = kernel.moduleBuildDependencies; 16 buildInputs = [ kmod zlib ]; 17 18 hardeningDisable = [ "pic" ]; 19 env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=implicit-fallthrough" ]; 20 21 patches = [ 22 # fix paths in netatop.service 23 ./fix-paths.patch 24 # Specify PIDFile in /run, not /var/run to silence systemd warning 25 ./netatop.service.patch 26 ]; 27 preConfigure = '' 28 patchShebangs mkversion 29 sed -i -e 's,^KERNDIR.*,KERNDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build,' \ 30 */Makefile 31 sed -i -e 's,/lib/modules.*extra,'$out'/lib/modules/${kernel.modDirVersion}/extra,' \ 32 -e s,/usr,$out, \ 33 -e /init.d/d \ 34 -e /depmod/d \ 35 -e s,/lib/systemd,$out/lib/systemd, \ 36 Makefile 37 38 kmod=${kmod} substituteAllInPlace netatop.service 39 ''; 40 41 makeFlags = kernel.makeFlags; 42 43 preInstall = '' 44 mkdir -p $out/lib/systemd/system $out/bin $out/sbin $out/share/man/man{4,8} 45 mkdir -p $out/lib/modules/${kernel.modDirVersion}/extra 46 ''; 47 48 meta = { 49 description = "Network monitoring module for atop"; 50 homepage = "https://www.atoptool.nl/downloadnetatop.php"; 51 license = lib.licenses.gpl2; 52 platforms = lib.platforms.linux; 53 maintainers = with lib.maintainers; [ viric ]; 54 }; 55}