aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Karetnikov <nikita@karetnikov.org>2012-11-24 00:20:46 +0000
committerLudovic Courtès <ludo@gnu.org>2012-11-24 16:14:39 +0100
commit034cb8e78127e97bb40bbd9de4072cb0accc02b6 (patch)
tree174418ef267b7ae7db92ab0008fbfede248566a3
parenta65e3306d1bc91d51cd9702a3b457f18ace398eb (diff)
downloadpatches-034cb8e78127e97bb40bbd9de4072cb0accc02b6.tar
patches-034cb8e78127e97bb40bbd9de4072cb0accc02b6.tar.gz
distro: Add GNU Ddrescue.
* distro/packages/ddrescue.scm: New file. * Makefile.am (MODULES): Add it.
-rw-r--r--Makefile.am1
-rw-r--r--distro/packages/ddrescue.scm59
2 files changed, 60 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 08c12fbb5f..4ee3a24ac1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -48,6 +48,7 @@ MODULES = \
distro/packages/bison.scm \
distro/packages/bootstrap.scm \
distro/packages/compression.scm \
+ distro/packages/ddrescue.scm \
distro/packages/ed.scm \
distro/packages/flex.scm \
distro/packages/gawk.scm \
diff --git a/distro/packages/ddrescue.scm b/distro/packages/ddrescue.scm
new file mode 100644
index 0000000000..cd02e49544
--- /dev/null
+++ b/distro/packages/ddrescue.scm
@@ -0,0 +1,59 @@
+;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
+;;; Copyright (C) 2012 Nikita Karetnikov <nikita@karetnikov.org>
+;;;
+;;; This file is part of Guix.
+;;;
+;;; Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (distro packages ddrescue)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu))
+
+(define-public ddrescue
+ (package
+ (name "ddrescue")
+ (version "1.16")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/ddrescue/ddrescue-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1rixya7p8c4jrn4p0flf6h5dqwybrilf3hrj4r7x41h3zgjz5cvn"))))
+ (build-system gnu-build-system)
+ (home-page
+ "http://www.gnu.org/software/ddrescue/ddrescue.html")
+ (synopsis "GNU ddrescue, a data recovery tool")
+ (description
+ "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.")
+ (license "GPLv3+")))