Leo Famulari <l...@famulari.name> writes:

> Thanks for this patch! How about putting it in disk.scm? I have no
> strong preference either way. I don't like moving things around too much
> once they have been created, however :)

sg3_utils and its library can be used with any SCSI device, which
includes many devices which are not hard disks, such as CD-ROMs and
media changers (i.e., jukeboxes), so I don't think it makes sense to put
it into a file whose scope is limited to disks.

>> +  #:use-module ((guix licenses)
>> +                #:select (gpl2+ bsd-3))
>
> Do we need to use #:select here? How about using a license prefix? What
> are the pros and cons?
>
>> +(define-public sg3_utils
>> +  (package
>> +    (name "sg3_utils")
>
> We like to use underscores instead of hyphens in package names:
>
> https://www.gnu.org/software/guix/manual/html_node/Package-Naming.html#Package-Naming

Thank you for pointing this out.  I've updated it (see attached patch).

>> +    (description
>> +     "sg3_utils is a collection of utilities for devices that use the Small
>> +Computer System Interface (SCSI) command set.  It includes utilities to read
>> +data from, write data to, control, modify, and query the state of SCSI
>> +devices.  For example, this package provides command-line tools to copy data
>> +based on \"dd\" syntax and semantics (called sg_dd, sgp_dd and sgm_dd), 
>> check
>> +INQUIRY data and VPD pages (sg_inq), check mode and log pages (sginfo,
>> +sg_modes and sg_logs), spin up and down disks (sg_start), do self
>> +tests (sg_senddiag), parse sense data, and perform various other functions.
>> +In addition, this package includes a library, called libsgutils, which can 
>> be
>> +used in C and C++ programs to interact with SCSI devices.")
>
> I think that dd, and all the sg_* commands, should be wrapped in texinfo
> markup, like this:
>
> @code{dd}

Done!  Thanks for the tip.

-- 
Chris
From 3539ae43993d2118e101446086e123651a132460 Mon Sep 17 00:00:00 2001
From: Chris Marusich <cmmarus...@gmail.com>
Date: Sat, 13 Aug 2016 01:58:03 -0700
Subject: [PATCH] gnu: Add sg3_utils.

* gnu/local.mk: Include gnu/packages/scsi.scm.
* gnu/packages/scsi.scm: Add new file.
* gnu/packages/scsi.scm (sg3_utils): New variable.
---
 gnu/local.mk          |  1 +
 gnu/packages/scsi.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)
 create mode 100644 gnu/packages/scsi.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 44ace61..99dbb30 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -305,6 +305,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/scheme.scm			\
   %D%/packages/screen.scm			\
   %D%/packages/scribus.scm			\
+  %D%/packages/scsi.scm				\
   %D%/packages/sdl.scm				\
   %D%/packages/search.scm			\
   %D%/packages/serialization.scm		\
diff --git a/gnu/packages/scsi.scm b/gnu/packages/scsi.scm
new file mode 100644
index 0000000..92e2d7a
--- /dev/null
+++ b/gnu/packages/scsi.scm
@@ -0,0 +1,54 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Chris Marusich <cmmarus...@gmail.com>
+;;;
+;;; 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 <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages scsi)
+  #:use-module ((guix licenses)
+                #:select (gpl2+ bsd-3))
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu))
+
+(define-public sg3-utils
+  (package
+    (name "sg3-utils")
+    (version "1.42")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-";
+                                  version ".tar.xz"))
+              (sha256
+               (base32
+                "1fg71rj0f1gdjmkj0z8wlv46cf9lryjdyjkbi7fjmssgi5jyvblp"))))
+    (build-system gnu-build-system)
+    (home-page "http://sg.danny.cz/sg/sg3_utils.html";)
+    (synopsis "SCSI device utilities")
+    (description
+     "sg3-utils is a collection of utilities for devices that use the Small
+Computer System Interface (SCSI) command set.  It includes utilities to read
+data from, write data to, control, modify, and query the state of SCSI
+devices.  For example, this package provides command-line tools to copy data
+based on @code{dd} syntax and semantics (called @code{sg_dd}, @code{sgp_dd}
+and @code{sgm_dd}), check INQUIRY data and VPD pages (@code{sg_inq}), check
+mode and log pages (@code{sginfo}, @code{sg_modes} and @code{sg_logs}), spin
+up and down disks (@code{sg_start}), do self tests (@code{sg_senddiag}), parse
+sense data (@code{sg_decode_sense}), and perform various other functions.  In
+addition, this package includes a library, called libsgutils, which can be
+used in C and C++ programs to interact with SCSI devices.")
+    ;; The libsgutils library itself is licensed under bsd-3.  Some tools are
+    ;; licensed under bsd-3, also.  Some tools are licensed under gpl2+.
+    (license (list gpl2+ bsd-3))))
-- 
2.9.2

Attachment: signature.asc
Description: PGP signature

Reply via email to