nixpkgs/pkgs/os-specific/linux/tiptop/default.nix
2024-06-21 12:28:43 +03:00

45 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, fetchpatch, libxml2, ncurses, bison, flex }:
stdenv.mkDerivation rec {
pname = "tiptop";
version = "2.3.1";
src = fetchurl {
url = "${meta.homepage}/releases/${pname}-${version}.tar.gz";
sha256 = "10j1138y3cj3hsmfz4w0bmk90523b0prqwi9nhb4z8xvjnf49i2i";
};
patches = [
(fetchpatch {
name = "reproducibility.patch";
url = "https://salsa.debian.org/debian/tiptop/raw/debian/2.3.1-1/debian/patches/0001-fix-reproducibility-of-build-process.patch";
sha256 = "116l7n3nl9lj691i7j8x0d0za1i6zpqgghw5d70qfpb17c04cblp";
})
# Pull upstream patch for ncurses-6.3
(fetchpatch {
name = "ncurses-6.3.patch";
url = "https://gitlab.inria.fr/rohou/tiptop/-/commit/a78234c27fdd62fed09430d998950e49e11a1832.patch";
sha256 = "1k55agdri7iw3gwm4snj3ps62qzmxlqr6s0868l8qamjw38z9g00";
})
];
postPatch = ''
substituteInPlace ./configure --replace -lcurses -lncurses
'';
nativeBuildInputs = [ flex bison ];
buildInputs = [ libxml2 ncurses ];
env.NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
meta = with lib; {
description = "Performance monitoring tool for Linux";
homepage = "http://tiptop.gforge.inria.fr";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = [ ];
};
}