nixpkgs/pkgs/by-name/fa/fatrace/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

41 lines
1.0 KiB
Nix

{ lib, stdenv
, fetchFromGitHub
, python3
, which
}:
stdenv.mkDerivation rec {
pname = "fatrace";
version = "0.17.0";
src = fetchFromGitHub {
owner = "martinpitt";
repo = pname;
rev = version;
sha256 = "sha256-MRHM+hyuRevK4L3u6dGw1S3O7w+BJBsprJVcSz6Q9xg=";
};
buildInputs = [ python3 which ];
postPatch = ''
substituteInPlace power-usage-report \
--replace "'which'" "'${which}/bin/which'"
'';
makeFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Report system-wide file access events";
homepage = "https://github.com/martinpitt/fatrace";
license = licenses.gpl3Plus;
longDescription = ''
fatrace reports file access events from all running processes.
Its main purpose is to find processes which keep waking up the disk
unnecessarily and thus prevent some power saving.
Requires a Linux kernel with the FANOTIFY configuration option enabled.
Enabling X86_MSR is also recommended for power-usage-report on x86.
'';
platforms = platforms.linux;
};
}