diff mbox series

[bug#63211] gnu: Add usbrelay.

Message ID 87pm7j6h91.fsf@pisemsky.com
State New
Headers show
Series [bug#63211] gnu: Add usbrelay. | expand

Commit Message

Evgeny Pisemsky May 1, 2023, 6:25 p.m. UTC

Comments

Evgeny Pisemsky June 1, 2023, 9 a.m. UTC | #1
Month passed... Any problems?

The string "USBMAJOR=$(USBLIBVER)" may be questionable - if these
values don't match, the build fails because the library that the
binary references to and the actual library named differently. Not
sure why, probably it is an error in Makefile - this versioning was
introduced relatively recently.

Anyway, with this hack the package builds successfully, and I actually
tested it with a real usb relay module (with 2 relays), and it worked.
Maxim Cournoyer Sept. 1, 2023, 2:10 p.m. UTC | #2
Hi!

Evgeny Pisemsky <evgeny@pisemsky.com> writes:

>>From dacf7010defa351fae323786a5112904215b5478 Mon Sep 17 00:00:00 2001
> From: Evgeny Pisemsky <evgeny@pisemsky.com>
> Date: Mon, 1 May 2023 21:09:42 +0300
> Subject: [PATCH] gnu: Add usbrelay.
>
> * gnu/packages/hardware.scm (usbrelay): New variable.
> ---
>  gnu/packages/hardware.scm | 36 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 35 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
> index 5b85ad9b2e..365fb88ae0 100644
> --- a/gnu/packages/hardware.scm
> +++ b/gnu/packages/hardware.scm
> @@ -2,7 +2,7 @@
>  ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
>  ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
>  ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
> -;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com>
> +;;; Copyright © 2021, 2023 Evgeny Pisemsky <evgeny@pisemsky.com>
>  ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
>  ;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org>
>  ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
> @@ -1438,3 +1438,37 @@ (define-public lxi-tools
>  on the LXI Consortium standard which defines the communication protocols for
>  modern instrumentation and data acquision systems using Ethernet.")
>      (license license:bsd-3)))
> +
> +(define-public usbrelay
> +  (package
> +    (name "usbrelay")
> +    (version "1.2")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/darrylb123/usbrelay")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "0fr3wglr2c6myg4k6ai2p5z38prclcnk2ngik15sq16fnp6qg750"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases (modify-phases %standard-phases
> +                  (delete 'configure))
> +       #:make-flags (let* ((out (assoc-ref %outputs "out"))
> +                           (lib (string-append out "/lib")))
> +                      (list (string-append "CC=" ,(cc-for-target))
> +                            (string-append "PREFIX=" out)
> +                            (string-append "LDFLAGS=-Wl,-rpath=" lib)
> +                            "LDCONFIG=true"
> +                            "USBMAJOR=$(USBLIBVER)"))
> +       #:tests? #f))
> +    (inputs (list hidapi))
> +    (home-page "https://github.com/darrylb123/usbrelay")
> +    (synopsis "Control USB relay modules")
> +    (description
> +     "This is a Linux driver based on hidapi for a variety of inexpensive
> +HID compatible USB relay modules available with different number of
> +output relays.")
> +    (license license:gpl2+)))

I've made the following changes, to use the more modern gexp approach,
and added comments next to the configure phase deletion and disabling of
tests:

--8<---------------cut here---------------start------------->8---
modified   gnu/packages/hardware.scm
@@ -1475,16 +1475,16 @@ (define-public usbrelay
                 "0fr3wglr2c6myg4k6ai2p5z38prclcnk2ngik15sq16fnp6qg750"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases (modify-phases %standard-phases
-                  (delete 'configure))
-       #:make-flags (let* ((out (assoc-ref %outputs "out"))
-                           (lib (string-append out "/lib")))
-                      (list (string-append "CC=" ,(cc-for-target))
-                            (string-append "PREFIX=" out)
-                            (string-append "LDFLAGS=-Wl,-rpath=" lib)
-                            "LDCONFIG=true"
-                            "USBMAJOR=$(USBLIBVER)"))
-       #:tests? #f))
+     (list
+      #:phases #~(modify-phases %standard-phases
+                   (delete 'configure)) ;no configure script
+      #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+                           (string-append "PREFIX=" #$output)
+                           (string-append "LDFLAGS=-Wl,-rpath="
+                                          (string-append #$output "/lib"))
+                           "LDCONFIG=true"
+                           "USBMAJOR=$(USBLIBVER)")
+      #:tests? #f))                     ;no test suite
     (inputs (list hidapi))
     (home-page "https://github.com/darrylb123/usbrelay")
     (synopsis "Control USB relay modules")
--8<---------------cut here---------------end--------------->8---

Will install shortly, thank you.
diff mbox series

Patch

From dacf7010defa351fae323786a5112904215b5478 Mon Sep 17 00:00:00 2001
From: Evgeny Pisemsky <evgeny@pisemsky.com>
Date: Mon, 1 May 2023 21:09:42 +0300
Subject: [PATCH] gnu: Add usbrelay.

* gnu/packages/hardware.scm (usbrelay): New variable.
---
 gnu/packages/hardware.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 5b85ad9b2e..365fb88ae0 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -2,7 +2,7 @@ 
 ;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
-;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com>
+;;; Copyright © 2021, 2023 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
 ;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org>
 ;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
@@ -1438,3 +1438,37 @@  (define-public lxi-tools
 on the LXI Consortium standard which defines the communication protocols for
 modern instrumentation and data acquision systems using Ethernet.")
     (license license:bsd-3)))
+
+(define-public usbrelay
+  (package
+    (name "usbrelay")
+    (version "1.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/darrylb123/usbrelay")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0fr3wglr2c6myg4k6ai2p5z38prclcnk2ngik15sq16fnp6qg750"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (delete 'configure))
+       #:make-flags (let* ((out (assoc-ref %outputs "out"))
+                           (lib (string-append out "/lib")))
+                      (list (string-append "CC=" ,(cc-for-target))
+                            (string-append "PREFIX=" out)
+                            (string-append "LDFLAGS=-Wl,-rpath=" lib)
+                            "LDCONFIG=true"
+                            "USBMAJOR=$(USBLIBVER)"))
+       #:tests? #f))
+    (inputs (list hidapi))
+    (home-page "https://github.com/darrylb123/usbrelay")
+    (synopsis "Control USB relay modules")
+    (description
+     "This is a Linux driver based on hidapi for a variety of inexpensive
+HID compatible USB relay modules available with different number of
+output relays.")
+    (license license:gpl2+)))

base-commit: 23552fb2fbcb78757e8b563de9466831f6386105
-- 
2.39.2