2021-01-11 07:54:33 +00:00
|
|
|
{ lib, stdenv
|
2017-06-04 21:50:58 +00:00
|
|
|
, fetchurl, lzip
|
|
|
|
}:
|
|
|
|
|
2009-11-18 09:39:59 +00:00
|
|
|
stdenv.mkDerivation rec {
|
2021-07-27 14:21:24 +00:00
|
|
|
pname = "ddrescue";
|
2022-01-25 01:29:24 +00:00
|
|
|
version = "1.26";
|
2010-04-13 08:56:07 +00:00
|
|
|
|
2009-11-18 09:39:59 +00:00
|
|
|
src = fetchurl {
|
2021-07-27 14:21:24 +00:00
|
|
|
url = "mirror://gnu/ddrescue/ddrescue-${version}.tar.lz";
|
2022-01-25 01:29:24 +00:00
|
|
|
sha256 = "sha256-5RPNOpDZgQ392RGX1AqkD23wFZe/tez9+yBd4RJ8VR8=";
|
2009-11-18 09:39:59 +00:00
|
|
|
};
|
|
|
|
|
2016-07-18 17:10:33 +00:00
|
|
|
nativeBuildInputs = [ lzip ];
|
2014-03-06 14:22:37 +00:00
|
|
|
|
2018-01-08 07:19:47 +00:00
|
|
|
doCheck = true; # not cross;
|
2017-12-15 05:13:46 +00:00
|
|
|
configureFlags = [ "CXX=${stdenv.cc.targetPrefix}c++" ];
|
2017-06-04 21:50:58 +00:00
|
|
|
|
2021-01-11 07:54:33 +00:00
|
|
|
meta = with lib; {
|
2010-04-13 08:56:07 +00:00
|
|
|
description = "GNU ddrescue, a data recovery tool";
|
|
|
|
|
|
|
|
longDescription =
|
|
|
|
'' GNU ddrescue is a data recovery tool. It copies data from one file
|
|
|
|
or block device (hard disc, cdrom, etc) to another, trying hard to
|
|
|
|
rescue data in case of read errors.
|
|
|
|
|
|
|
|
The basic operation of ddrescue is fully automatic. That is, you
|
|
|
|
don't have to wait for an error, stop the program, read the log, run
|
|
|
|
it in reverse mode, etc.
|
|
|
|
|
|
|
|
If you use the logfile feature of ddrescue, the data is rescued very
|
|
|
|
efficiently (only the needed blocks are read). Also you can
|
|
|
|
interrupt the rescue at any time and resume it later at the same
|
|
|
|
point.
|
|
|
|
|
|
|
|
Automatic merging of backups: If you have two or more damaged copies
|
|
|
|
of a file, cdrom, etc, and run ddrescue on all of them, one at a
|
|
|
|
time, with the same output file, you will probably obtain a complete
|
|
|
|
and error-free file. This is so because the probability of having
|
|
|
|
damaged areas at the same places on different input files is very
|
|
|
|
low. Using the logfile, only the needed blocks are read from the
|
|
|
|
second and successive copies.
|
|
|
|
'';
|
|
|
|
|
2020-03-04 18:33:50 +00:00
|
|
|
homepage = "https://www.gnu.org/software/ddrescue/ddrescue.html";
|
2010-04-13 08:56:07 +00:00
|
|
|
|
2014-08-10 19:05:41 +00:00
|
|
|
license = licenses.gpl3Plus;
|
2010-04-13 08:56:07 +00:00
|
|
|
|
2014-08-10 19:05:41 +00:00
|
|
|
platforms = platforms.all;
|
2016-05-17 11:57:28 +00:00
|
|
|
maintainers = with maintainers; [ domenkozar fpletz ];
|
2009-11-18 09:39:59 +00:00
|
|
|
};
|
|
|
|
}
|