Message ID | 87pm7j6h91.fsf@pisemsky.com |
---|---|
State | New |
Headers | show |
Series | [bug#63211] gnu: Add usbrelay. | expand |
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.
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.
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