nixpkgs/pkgs/by-name/io/ioztat/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

60 lines
1.5 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, installShellFiles
, python3
}:
stdenv.mkDerivation rec {
pname = "ioztat";
version = "2.0.1";
src = fetchFromGitHub {
owner = "jimsalterjrs";
repo = "ioztat";
rev = "v${version}";
sha256 = "sha256-8svMijgVxSuquPFO2Q2HeqGLdMkwhiujS1DSxC/LRRk=";
};
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ python3 ];
prePatch = ''
patchShebangs .
'';
installPhase = ''
runHook preInstall
install -vDt $out/bin -m 0555 ioztat
if [ -f ioztat.8 ]; then
installManPage ioztat.8
fi
runHook postInstall
'';
meta = with lib; {
inherit version;
inherit (src.meta) homepage;
description = "Storage load analysis tool for OpenZFS";
longDescription = ''
ioztat is a storage load analysis tool for OpenZFS. It provides
iostat-like statistics at an individual dataset/zvol level.
The statistics offered are read and write operations per second, read and
write throughput per second, and the average size of read and write
operations issued in the current reporting interval. Viewing these
statistics at the individual dataset level allows system administrators
to identify storage "hot spots" in larger multi-tenant
systems -- particularly those with many VMs or containers operating
essentially independent workloads.
'';
license = licenses.bsd2;
platforms = with platforms; linux ++ freebsd;
maintainers = with maintainers; [ numinit ];
mainProgram = "ioztat";
};
}