gnu: Add sg3_utils.

Message ID 87bn0xxafb.fsf@gmail.com
State New
Headers

Commit Message

Chris Marusich Aug. 13, 2016, 9:52 a.m. UTC
  Chris Marusich <cmmarusich@gmail.com> writes:

> Subject: [PATCH] gnu: Add sg3_utils.
>
> * gnu/local.mk: Include gnu/packages/education.scm.
> * gnu/packages/scsi.scm: Add new file.
> * gnu/packages/scsi.scm (sg3_utils): New variable.

This commit message contains an error.  I copied it from an earlier
commit message, and I forgot to replace "education.scm" with "scsi.scm"
everywhere.  This new patch fixes the commit message.
  

Comments

Leo Famulari Aug. 14, 2016, 1:27 a.m. UTC | #1
On Sat, Aug 13, 2016 at 02:52:56AM -0700, Chris Marusich wrote:
> Chris Marusich <cmmarusich@gmail.com> writes:
> 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.

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 :)

> +  #: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

> +    (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}

Can you send an updated patch?
  

Patch

From 18b8adc5f7c11090b86877a37f01840033d10a89 Mon Sep 17 00:00:00 2001
From: Chris Marusich <cmmarusich@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 | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 54 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..e7ba8e0
--- /dev/null
+++ b/gnu/packages/scsi.scm
@@ -0,0 +1,53 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Chris Marusich <cmmarusich@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 \"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.")
+    ;; 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.7.3