gnu: emacs-svg-icon: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / scsi.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
3 ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages scsi)
21 #:use-module ((guix licenses)
22 #:select (gpl2+ bsd-2 bsd-3))
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu))
26
27 (define-public sg3-utils
28 (package
29 (name "sg3-utils")
30 (version "1.46")
31 (source (origin
32 (method url-fetch)
33 (uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-"
34 version ".tar.xz"))
35 (sha256
36 (base32
37 "185rlxppnsmi6q7garfhglmw31gji2ff24xg2yjk3klk1fqnihjr"))))
38 (build-system gnu-build-system)
39 (home-page "http://sg.danny.cz/sg/sg3_utils.html")
40 (synopsis "SCSI device utilities")
41 (description
42 "sg3-utils is a collection of utilities for devices that use the Small
43 Computer System Interface (@dfn{SCSI}) command set. It includes utilities to
44 read data from, write data to, control, modify, and query the state of SCSI
45 devices.
46
47 For example, this package provides command-line tools to:
48 @itemize
49 @item copy data based on @code{dd} syntax and semantics (called @command{sg_dd},
50 @command{sgp_dd}, and @command{sgm_dd})
51 @item check @code{INQUIRY} data and @code{VPD pages} (@command{sg_inq})
52 @item check mode and log pages (@command{sginfo}, @command{sg_modes}, and
53 @command{sg_logs})
54 @item spin up and down disks (@command{sg_start})
55 @item do self-tests (@code{sg_senddiag})
56 @item parse sense data (@code{sg_decode_sense})
57 @item and perform various other functions.
58 @end itemize
59
60 In addition, this package includes a library, called libsgutils, which can be
61 used in C and C++ programs to interact with SCSI devices.")
62 ;; See README: "All utilities and libraries have either a "2 clause" BSD
63 ;; license or are "GPL-2ed". [...] That BSD license was updated from the
64 ;; "3 clause" to the newer "2 clause" version on 20180119. To save space
65 ;; various source code files refer to a file called "BSD_LICENSE" [...]."
66 ;; Some files (like sg_compare_and_write.c) retain their 3-clause headers!
67 (license (list gpl2+ bsd-2 bsd-3))))