diff mbox

[2/3] gnu: Add hidapi.

Message ID 20161025132615.20705-3-theodoros.for@openmailbox.org
State New
Headers show

Commit Message

Theodoros Foradis Oct. 25, 2016, 1:26 p.m. UTC
* gnu/packages/hidapi.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk            |  1 +
 gnu/packages/hidapi.scm | 60 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+)
 create mode 100644 gnu/packages/hidapi.scm

Comments

David Craven Oct. 26, 2016, 12:55 p.m. UTC | #1
I don't think we need this:

(arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'bootstrap
+                    (lambda _
+                      (system* "./bootstrap")
+                      #t)))))

> +    (native-inputs `(("autoconf" ,autoconf)
> +                     ("libtool" ,libtool)
> +                     ("automake" ,automake)
> +                     ("pkg-config" ,pkg-config)))

Is license is gpl3+

+    (license license:gpl3)))

Input list indentation.
Theodoros Foradis Oct. 26, 2016, 6:29 p.m. UTC | #2
David Craven writes:

> I don't think we need this:
>
> (arguments
> +     '(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'bootstrap
> +                    (lambda _
> +                      (system* "./bootstrap")
> +                      #t)))))
>
>> +    (native-inputs `(("autoconf" ,autoconf)
>> +                     ("libtool" ,libtool)
>> +                     ("automake" ,automake)
>> +                     ("pkg-config" ,pkg-config)))
>

There is no configure script in the release tarball, so I think we
either need this or:
(lambda _
  (system* "autoreconf" "-vfi")
  #t)

Can't build without neither.
> Is license is gpl3+
>
> +    (license license:gpl3)))
>
LICENSE.txt says:
HIDAPI can be used under one of three licenses.
1. The GNU General Public License, version 3.0, in LICENSE-gpl3.txt

What am I missing?
> Input list indentation.

Thanks for letting me know.
David Craven Oct. 26, 2016, 6:50 p.m. UTC | #3
> There is no configure script in the release tarball, so I think we
> either need this or:

Ah ok then... (zero? (system* "autoreconf" "-vfi")) might be nicer
than (system* "./bootstrap.sh") but doesn't really matter. I thought
that when you create a tarball with `make dist` the configure file is
included.

> What am I missing?

I'm not sure if you mean in regard to the license or the input indentation.

With input indentation I mean the same I wrote on the openocd patch:
(native-inputs
  `(("autoconf" ,autoconf)
     ("libtool" ,libtool)

LICENSE-gpl3.txt says:
This program 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.

I didn't see that there are three other license files too, those
should be mentioned then.
diff mbox

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 51849f4..12066c1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -178,6 +178,7 @@  GNU_SYSTEM_MODULES =				\
   %D%/packages/gxmessage.scm			\
   %D%/packages/haskell.scm			\
   %D%/packages/hexedit.scm			\
+  %D%/packages/hidapi.scm			\
   %D%/packages/hugs.scm				\
   %D%/packages/hurd.scm				\
   %D%/packages/ibus.scm				\
diff --git a/gnu/packages/hidapi.scm b/gnu/packages/hidapi.scm
new file mode 100644
index 0000000..986f5b5
--- /dev/null
+++ b/gnu/packages/hidapi.scm
@@ -0,0 +1,60 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
+;;;
+;;; 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 hidapi)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages libusb)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config))
+
+(define-public hidapi
+  (package
+    (name "hidapi")
+    (version "0.8.0-rc1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/signal11/hidapi/archive/hidapi-"
+                                  version ".tar.gz"))
+              (sha256
+               (base32
+                "0qdgyj9rgb7n0nk3ghfswrhzzknxqn4ibn3wj8g4r828pw07451w"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'bootstrap
+                    (lambda _
+                      (system* "./bootstrap")
+                      #t)))))
+    (inputs `(("libusb" ,libusb)
+              ("udev" ,eudev)))
+    (native-inputs `(("autoconf" ,autoconf)
+                     ("libtool" ,libtool)
+                     ("automake" ,automake)
+                     ("pkg-config" ,pkg-config)))
+    (home-page "http://www.signal11.us/oss/hidapi/")
+    (synopsis "HID API library")
+    (description
+     "HIDAPI is a library which allows an application to interface with USB and Bluetooth
+      HID-Class devices.")
+    (license license:gpl3)))