#1109311 ITP: golang-github-karalabe-hid -- Gopher Interface Devices (USB HID)

Package:
wnpp
Source:
wnpp
Submitter:
Leonardo Arias Fonseca
Date:
2025-11-29 16:58:01 UTC
Severity:
normal
#1109311#5
Date:
2025-07-15 00:42:44 UTC
From:
To:
* Package name    : golang-github-karalabe-hid
   Version         : 1.0.0-1
   Upstream Author : Péter Szilágyi
* URL             : https://github.com/karalabe/hid
* License         : GNU LGPL 2.1 or later on Linux and 3-clause BSD
   Programming Lang: Go
   Description     : Gopher Interface Devices (USB HID)

  The hid package is a cross platform library for accessing and
  communicating with USB Human Interface Devices (HID). It is an
  alternative package to gousb (https://github.com/karalabe/gousb) for use
  cases where devices support this ligher mode of operation (e.g. input
  devices, hardware crypto wallets).
  .
  The package wraps hidapi (https://github.com/libusb/hidapi) for
  accessing OS specific USB HID APIs directly instead of using low level
  USB constructs, which might have permission issues on some platforms.
  The hidapi dependency is vendored directly into the repository and
  wrapped using CGO, making the hid package self-contained and go-gettable.
  .
  Supported platforms at the moment are Linux, macOS and Windows (exclude
  constraints are also specified for Android and iOS to allow smoother
  vendoring into cross platform projects).
  .
  The hidapi on linux unfortunately requires libuddev (libudev-dev on
  ubuntu, systemd-devel on fedora). Therefore, this library includes
  libusb
  (https://github.com/libusb/libusb) which we use as a backend on linux,
  and thus avoid runtime dependencies.
  .
  The components of hid are licensed as such:
  .
     hidapi is released under the three licenses: GPL-V3, 3-clause BSD
and original HIDAPI license.
     libusb is released under GPLv2.1
     go.hid was released under the 2-clause BSD license.
     gowchar is released under the 3-clause BSD license.
  .
  Given the above, hid is licensed under GNU LGPL 2.1 or later on Linux
and 3-clause BSD on other platforms.

I want to package this library to unblock mev-boost, ITP bug #1107167,
and go-ethereum, ITP bug #890541.