disk-filltest: adopt

- finalAttrs design pattern
- split outputs
- makeFlags instead of patches and fixups
This commit is contained in:
Anderson Torres 2023-12-30 11:35:11 -03:00
parent 5897b36528
commit 2aca1fc81d

View File

@ -1,39 +1,43 @@
{ lib, stdenv, fetchFromGitHub }:
{ lib
, stdenv
, fetchFromGitHub
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "disk-filltest";
version = "0.8.2";
src = fetchFromGitHub {
owner = "bingmann";
repo = "disk-filltest";
rev = "v${version}";
sha256 = "0qmcf5k5j7946wsbxrw4rqfj48mwl3r6kb4l3gppl97k7iyni6kj";
rev = "v${finalAttrs.version}";
hash = "sha256-cppofTzzJHrvG5SsafKgvCIiHc6E5740NyQdWWZxrGI=";
};
preBuild = ''
substituteInPlace Makefile --replace 'prefix = /usr/local' 'prefix = $(out)'
'';
outputs = [ "out" "doc" "man" ];
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"prefix=${placeholder "out"}"
"man1dir=${placeholder "man"}/share/man/man1"
];
postInstall = ''
install -D -m0644 -t $out/share/doc COPYING README
mkdir -p $out/share/man; mv $out/man1 $out/share/man
install -D -m0644 -t $doc/share/doc/disk-filltest README
'';
meta = with lib; {
meta = {
homepage = "https://panthema.net/2013/disk-filltest";
description = "Simple program to detect bad disks by filling them with random data";
longDescription = ''
disk-filltest is a tool to check storage disks for coming
failures by write files with pseudo-random data to the current
directory until the disk is full, read the files again
and verify the sequence written. It also can measure
read/write speed while filling the disk.
disk-filltest is a tool to check storage disks for coming failures by
write files with pseudo-random data to the current directory until the
disk is full, read the files again and verify the sequence written. It
also can measure read/write speed while filling the disk.
'';
homepage = "https://panthema.net/2013/disk-filltest";
license = licenses.gpl3;
maintainers = with maintainers; [ caadar ];
platforms = platforms.all;
license = lib.licenses.gpl3Plus;
mainProgram = "disk-filltest";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.all;
};
}
})