Package: wnpp
Severity: wishlist
Owner: Leonardo Arias Fonseca <ag...@riseup.net>
* 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.