Add guile-usbrelay

Evgeny PisemskySun Sep 14 23:10:03+0300 2025

44e6fe9

Add guile-usbrelay

modules/cogd/packages/hardware.scm unknown status 1

1+
(define-module (cogd packages hardware))
2+
3+
(use-modules (guix packages)
4+
             (guix git-download)
5+
             (guix gexp)
6+
             (guix utils)
7+
             (guix build-system guile)
8+
             ((guix licenses) #:prefix license:)
9+
             (gnu packages commencement)
10+
             (gnu packages guile)
11+
             (gnu packages libusb)
12+
             (gnu packages mes)
13+
             (gnu packages pkg-config))
14+
15+
(define-public guile-usbrelay
16+
  (package
17+
    (name "guile-usbrelay")
18+
    (version "0.1.0")
19+
    (source
20+
     (origin
21+
       (method git-fetch)
22+
       (uri (git-reference
23+
             (url "https://repo.pisemsky.site/git/guile-usbrelay")
24+
             (commit version)))
25+
       (file-name (git-file-name name version))
26+
       (sha256
27+
        (base32 "0ndgkazv9bnyj45pccym11245c65hlvsvzmx0acpzlywz7xxyy72"))))
28+
    (build-system guile-build-system)
29+
    (arguments
30+
     (list
31+
      #:source-directory "modules"
32+
      #:phases
33+
      #~(modify-phases %standard-phases
34+
          (add-before 'build 'compile-ffi
35+
            (lambda* (#:key inputs #:allow-other-keys)
36+
              (setenv "GUILE_AUTO_COMPILE" "0")
37+
              (invoke "guile" "make.scm"))))))
38+
    (native-inputs (list gcc-toolchain guile-3.0 nyacc pkg-config))
39+
    (inputs (list hidapi))
40+
    (propagated-inputs (list nyacc))
41+
    (home-page "https://repo.pisemsky.site/guile-usbrelay")
42+
    (synopsis "Control USB HID relays from Guile")
43+
    (description
44+
     "This package provides a Guile Scheme API to control dcttech USB HID
45+
relay modules and their clones.")
46+
    (license license:lgpl3+)))