nixpkgs/pkgs/tools/filesystems/btrfs-heatmap/default.nix
2020-07-04 00:22:04 +02:00

46 lines
1.2 KiB
Nix

{ stdenv, lib
, fetchFromGitHub
, python3
, installShellFiles
, fetchurl
}:
stdenv.mkDerivation rec {
pname = "btrfs-heatmap";
version = "8";
src = fetchFromGitHub {
owner = "knorrie";
repo = "btrfs-heatmap";
rev = "v${version}";
sha256 = "035frvk3s7g18y81srssvm550nfq7jylr7w60nvixidxvrc0yrnh";
};
# man page is currently only in the debian branch
# https://github.com/knorrie/btrfs-heatmap/issues/11
msrc = fetchurl {
url = "https://raw.githubusercontent.com/knorrie/btrfs-heatmap/45d844e12d7f5842ebb99e65d7b968a5e1a89066/debian/man/btrfs-heatmap.8";
sha256 = "1md7xc426sc8lq4w29gjd6gv7vjqhcwrqqcr6z39kihvi04d5f6q";
};
buildInputs = [ python3 ];
nativeBuildInputs = [ python3.pkgs.wrapPython installShellFiles ];
outputs = [ "out" "man" ];
installPhase = ''
install -Dm 0755 heatmap.py $out/sbin/btrfs-heatmap
installManPage ${msrc}
buildPythonPath ${python3.pkgs.btrfs}
patchPythonScript $out/sbin/btrfs-heatmap
'';
meta = with lib; {
description = "Visualize the layout of a mounted btrfs";
homepage = "https://github.com/knorrie/btrfs-heatmap";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.evils ];
};
}