Patchwork [v2,2/3] gnu: Add hidapi.

login
register
mail settings
Submitter Theodoros Foradis
Date Oct. 26, 2016, 9:08 p.m.
Message ID <20161026210807.27390-3-theodoros.for@openmailbox.org>
Download mbox | patch
Permalink /patch/16847/
State New
Headers show

Comments

Theodoros Foradis - Oct. 26, 2016, 9:08 p.m.
* gnu/packages/hidapi.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk            |  1 +
 gnu/packages/hidapi.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 gnu/packages/hidapi.scm
Ricardo Wurmus - Oct. 28, 2016, 6:19 a.m.
Theodoros Foradis <theodoros.for@openmailbox.org> writes:

> * gnu/packages/hidapi.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
> ---
>  gnu/local.mk            |  1 +
>  gnu/packages/hidapi.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 64 insertions(+)
>  create mode 100644 gnu/packages/hidapi.scm
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index ff2d976..9019b98 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..88e5eba
> --- /dev/null
> +++ b/gnu/packages/hidapi.scm
> @@ -0,0 +1,63 @@
> +;;; 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 _
> +             (zero? (system* "autoreconf" "-vfi")))))))
> +    (inputs
> +     `(("libusb" ,libusb)
> +       ("udev" ,eudev)))
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("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.")

There should be no indentation for the continuing line starting with
“HID-Class”.

I wonder, should this rather go to “libusb.scm”?  Having a separate
module just for this one package seems a little excessive :)

> +    (license (list license:gpl3 ;HIDAPI can be used under one of
> three licenses.

I’d move the comment above the “license” field because it doesn’t apply
to the GPL in particular.

> +                   license:bsd-3
> +                   license:non-copyleft)))) ;LICENSE-orig.txt - permissive license

“non-copyleft” takes at least one argument.  In this case this would be

    (license:non-copyleft "file://LICENCE-orig.txt")

There’s no need to mention that it’s a “permissive” (or “push-over”)
license, because that’s what non-copyleft already states.

~~ Ricardo
Theodoros Foradis - Oct. 28, 2016, 3:35 p.m.
Ricardo Wurmus writes:

> Theodoros Foradis <theodoros.for@openmailbox.org> writes:
>
>> * gnu/packages/hidapi.scm: New file.
>> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
>> ---
>>  gnu/local.mk            |  1 +
>>  gnu/packages/hidapi.scm | 63 +++++++++++++++++++++++++++++++++++++++++++++++++
>>  2 files changed, 64 insertions(+)
>>  create mode 100644 gnu/packages/hidapi.scm
>>
>> diff --git a/gnu/local.mk b/gnu/local.mk
>> index ff2d976..9019b98 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..88e5eba
>> --- /dev/null
>> +++ b/gnu/packages/hidapi.scm
>> @@ -0,0 +1,63 @@
>> +;;; 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 _
>> +             (zero? (system* "autoreconf" "-vfi")))))))
>> +    (inputs
>> +     `(("libusb" ,libusb)
>> +       ("udev" ,eudev)))
>> +    (native-inputs
>> +     `(("autoconf" ,autoconf)
>> +       ("automake" ,automake)
>> +       ("libtool" ,libtool)
>> +       ("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.")
>
> There should be no indentation for the continuing line starting with
> “HID-Class”.
>

Ok.

> I wonder, should this rather go to “libusb.scm”?  Having a separate
> module just for this one package seems a little excessive :)
>
I wondered this as well, I can move is to libusb, if it's more
appropriate.

>> +    (license (list license:gpl3 ;HIDAPI can be used under one of
>> three licenses.
>
> I’d move the comment above the “license” field because it doesn’t apply
> to the GPL in particular.

Ok.

>
>> +                   license:bsd-3
>> +                   license:non-copyleft)))) ;LICENSE-orig.txt - permissive license
>
> “non-copyleft” takes at least one argument.  In this case this would be
>
>     (license:non-copyleft "file://LICENCE-orig.txt")
>
> There’s no need to mention that it’s a “permissive” (or “push-over”)
> license, because that’s what non-copyleft already states.
>
> ~~ Ricardo

Thanks, I'll fix that as well.

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index ff2d976..9019b98 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..88e5eba
--- /dev/null
+++ b/gnu/packages/hidapi.scm
@@ -0,0 +1,63 @@ 
+;;; 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 _
+             (zero? (system* "autoreconf" "-vfi")))))))
+    (inputs
+     `(("libusb" ,libusb)
+       ("udev" ,eudev)))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("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 (list license:gpl3 ;HIDAPI can be used under one of three licenses.
+                   license:bsd-3
+                   license:non-copyleft)))) ;LICENSE-orig.txt - permissive license