diff options
| author | Vagrant Cascadian <vagrant@debian.org> | 2025-10-16 00:59:14 -0700 |
|---|---|---|
| committer | Vagrant Cascadian <vagrant@debian.org> | 2025-10-23 10:57:48 -0700 |
| commit | 1ad09126871a55c3cf0ba6d3838e85ff841b4334 (patch) | |
| tree | a8caf75696cce3bcb6ea357beb5a7c019a425fe0 /gnu/packages | |
| parent | b0f6807c0b22a2b2f45018e8d96bf65de94e792c (diff) | |
gnu: Add python-capablerobot-usbhub.
This was previously removed due to dropping python-pyyaml-5, though currently
builds fine with the default python-pyyaml and python-click. See:
https://codeberg.org/guix/guix/issues/1390
* gnu/packages/libusb.scm (python-capablerobot-usbhub): New variable.
Diffstat (limited to 'gnu/packages')
| -rw-r--r-- | gnu/packages/libusb.scm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index d8bb55dfc06..c8753c3b17e 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -374,6 +374,58 @@ wrapper for accessing libusb-1.0.") "PyUSB aims to be an easy to use Python module to access USB devices.") (license license:bsd-3))) +(define-public python-capablerobot-usbhub + (package + (name "python-capablerobot-usbhub") + (version "0.5.0") + (source + (origin + ;; PyPI tarball fails to build. + (method git-fetch) + (uri (git-reference + (url "https://github.com/CapableRobot/CapableRobot_USBHub_Driver") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nfd12612z9a9hby5dxg7lfqw5jcv3wcyqqagbg5izragni646mc")) + (modules '((guix build utils))) + (snippet + ;; Remove bundled libraries. + '(begin + (delete-file-recursively "capablerobot_usbhub/windows/"))))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #f ;No tests provided. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-poetry-core + (lambda _ + ;; Patch to use the core poetry API. + (substitute* "pyproject.toml" + (("poetry.masonry.api") + "poetry.core.masonry.api")))) + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (udevdir "/lib/udev/rules.d/") + (udevrules "50-capablerobot-usbhub.rules")) + (mkdir-p (string-append out udevdir)) + (copy-file udevrules + (string-append out udevdir udevrules)))))))) + (native-inputs (list python-poetry-core)) + (propagated-inputs (list python-click python-construct python-pyusb + python-pyyaml)) + (home-page "https://github.com/CapableRobot/CapableRobot_USBHub_Driver") + (synopsis "Host side driver for the Capable Robot Programmable USB Hub") + (description + "This package provides access to the internal state of the Capable Robot +USB Hub, allowing you to monitor and control the Hub from an upstream +computer. It also creates a transparent CircuitPython Bridge, allowing +unmodified CircuitPython code to run on the host computer and interact with +I2C and SPI devices attached to the USB Hub.") + (license license:expat))) + (define-public ideviceinstaller (package (name "ideviceinstaller") |
