~ruther/guix-local

1ad09126871a55c3cf0ba6d3838e85ff841b4334 — Vagrant Cascadian 5 months ago b0f6807
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.
1 files changed, 52 insertions(+), 0 deletions(-)

M gnu/packages/libusb.scm
M gnu/packages/libusb.scm => gnu/packages/libusb.scm +52 -0
@@ 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")