;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2015 Mathieu Lirzin ;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU 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. ;;; ;;; GNU 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 GNU Guix. If not, see . (define-module (gnu packages disk) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages gettext) #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages guile) #:use-module (gnu packages compression)) (define-public parted (package (name "parted") (version "3.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parted/parted-" version ".tar.xz")) (sha256 (base32 "1r3qpg3bhz37mgvp9chsaa3k0csby3vayfvz8ggsqz194af5i2w5")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-locales-and-python (lambda* (#:key inputs #:allow-other-keys) (substitute* "tests/t0251-gpt-unicode.sh" (("C.UTF-8") "en_US.utf8")) ;not in Glibc locales (substitute* "tests/msdos-overlap" (("/usr/bin/python") (which "python")))))))) (inputs `(("lvm2" ,lvm2) ("readline" ,readline) ("util-linux" ,util-linux))) (native-inputs `(("gettext" ,gnu-gettext) ;; For the tests. ("perl" ,perl) ("python" ,python-2))) (home-page "https://www.gnu.org/software/parted/") (synopsis "Disk partition editor") (description "GNU Parted is a package for creating and manipulating disk partition tables. It includes a library and command-line utility.") (license gpl3+))) (define-public fdisk (package (name "fdisk") (version "2.0.0a") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/fdisk/gnufdisk-" version ".tar.gz")) (sha256 (base32 "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3")))) (build-system gnu-build-system) (inputs `(("gettext" ,gnu-gettext) ("guile" ,guile-1.8) ("util-linux" ,util-linux) ("parted" ,parted))) (home-page "https://www.gnu.org/software/fdisk/") (synopsis "Low-level disk partitioning and formatting") (description "GNU fdisk provides a GNU version of the common disk partitioning tool fdisk. fdisk is used for the creation and manipulation of disk partition tables, and it understands a variety of different formats.") (license gpl3+))) (define-public ddrescue (package (name "ddrescue") (version "1.20") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ddrescue/ddrescue-" version ".tar.lz")) (sha256 (base32 "1gb0ak2c47nass7qdf9pnfrshcb38c318z1fx5v5v1k7l6qr7yc3")))) (build-system gnu-build-system) (home-page "http://www.gnu.org/software/ddrescue/ddrescue.html") (synopsis "Data recovery utility") (native-inputs `(("lzip" ,lzip))) (description "GNU ddrescue is a fully automated data recovery tool. It copies data from one file to another, working to rescue data in case of read errors. The program also includes a tool for manipulating its log files, which are used to recover data more efficiently by only reading the necessary blocks.") (license gpl3+))) (define-public dosfstools (package (name "dosfstools") (version "3.0.28") (source (origin (method url-fetch) (uri (string-append "https://github.com/" name "/" name "/releases/download/v" version "/" name "-" version ".tar.xz")) (sha256 (base32 "1qkya6lald91c8nsf29jwnk0k5v42wlj24gacfdp3wpc8hq935gf")))) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") #:tests? #f ;no tests #:phases (modify-phases %standard-phases (delete 'configure)))) (home-page "https://github.com/dosfstools/dosfstools") (synopsis "Utilities for making and checking MS-DOS FAT filesystems") (description "The dosfstools package includes the mkfs.fat and fsck.fat utilities, which respectively make and check MS-DOS FAT filesystems.") (license gpl3+)))