summary refs log tree commit diff
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)
downloadguix-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+")))