svn commit: r565272 - in head/sysutils: . hid-tools hid-tools/files
Vladimir Kondratyev
wulf at FreeBSD.org
Sun Feb 14 23:07:33 UTC 2021
Author: wulf (src committer)
Date: Sun Feb 14 23:07:31 2021
New Revision: 565272
URL: https://svnweb.freebsd.org/changeset/ports/565272
Log:
new port: sysutils/hid-tools
sysutils/hid-tools: Python scripts to manipulate HID data
PR: 253498
Approved by: lwhsu (ports)
Added:
head/sysutils/hid-tools/
head/sysutils/hid-tools/Makefile (contents, props changed)
head/sysutils/hid-tools/distinfo (contents, props changed)
head/sysutils/hid-tools/files/
head/sysutils/hid-tools/files/patch-hidtools_hidraw.py (contents, props changed)
head/sysutils/hid-tools/files/patch-man_hid-decode.md (contents, props changed)
head/sysutils/hid-tools/pkg-descr (contents, props changed)
Modified:
head/sysutils/Makefile
Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile Sun Feb 14 22:50:42 2021 (r565271)
+++ head/sysutils/Makefile Sun Feb 14 23:07:31 2021 (r565272)
@@ -482,6 +482,7 @@
SUBDIR += hexyl
SUBDIR += hfsexplorer
SUBDIR += hfsutils
+ SUBDIR += hid-tools
SUBDIR += highlnk
SUBDIR += hilite
SUBDIR += host-setup
Added: head/sysutils/hid-tools/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/hid-tools/Makefile Sun Feb 14 23:07:31 2021 (r565272)
@@ -0,0 +1,33 @@
+# Created by: Vladimir Kondratyev <wulf at FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= hid-tools
+PORTVERSION= 0.2
+CATEGORIES= sysutils python
+MASTER_SITES= https://gitlab.freedesktop.org/libevdev/${PORTNAME}/-/archive/${DISTVERSION}/
+
+MAINTAINER= wulf at FreeBSD.org
+COMMENT= Python scripts to manipulate HID data
+
+LICENSE= GPLv2
+
+IGNORE_FreeBSD_11= Is missing a hidraw(4) driver
+
+RUN_DEPENDS_FreeBSD_12= iichid>=0.0.6:sysutils/iichid
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>=0:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}parse>=0:textproc/py-parse@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyudev>=0:devel/py-pyudev@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR} \
+ ${RUN_DEPENDS_${OPSYS}_${OSREL:R}}
+
+USES= python:3.6+ shebangfix tar:bz2
+USE_PYTHON= autoplist distutils
+
+OPTIONS_DEFINE= MANPAGES
+OPTIONS_DEFAULT= MANPAGES
+
+MANPAGES_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pypandoc>=0:textproc/py-pypandoc@${PY_FLAVOR}
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
Added: head/sysutils/hid-tools/distinfo
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/hid-tools/distinfo Sun Feb 14 23:07:31 2021 (r565272)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1612900435
+SHA256 (hid-tools-0.2.tar.bz2) = c0a963f75699d69740ecd10549f3ffe32d620703f3090c5e3c55b9af1d469786
+SIZE (hid-tools-0.2.tar.bz2) = 78530
Added: head/sysutils/hid-tools/files/patch-hidtools_hidraw.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/hid-tools/files/patch-hidtools_hidraw.py Sun Feb 14 23:07:31 2021 (r565272)
@@ -0,0 +1,58 @@
+Fix ioctl(2) definitions to match <sys/ioccom.h> and <dev/hid/hidraw.h>
+
+--- hidtools/hidraw.py.orig 2019-03-29 01:29:29 UTC
++++ hidtools/hidraw.py
+@@ -36,13 +36,14 @@ def _ioctl(fd, EVIOC, code, return_type, buf=None):
+
+
+ # extracted from <asm-generic/ioctl.h>
+-_IOC_WRITE = 1
++_IOC_VOID = 1
+ _IOC_READ = 2
++_IOC_WRITE = 4
+
+ _IOC_NRBITS = 8
+ _IOC_TYPEBITS = 8
+-_IOC_SIZEBITS = 14
+-_IOC_DIRBITS = 2
++_IOC_SIZEBITS = 13
++_IOC_DIRBITS = 3
+
+ _IOC_NRSHIFT = 0
+ _IOC_TYPESHIFT = _IOC_NRSHIFT + _IOC_NRBITS
+@@ -74,7 +75,7 @@ def _IOW(type, nr, size):
+
+ # define HIDIOCGRDESCSIZE _IOR('H', 0x01, int)
+ def _IOC_HIDIOCGRDESCSIZE(none, len):
+- return _IOR('H', 0x01, len)
++ return _IOR('U', 30, len)
+
+
+ def _HIDIOCGRDESCSIZE(fd):
+@@ -85,7 +86,7 @@ def _HIDIOCGRDESCSIZE(fd):
+
+ # define HIDIOCGRDESC _IOR('H', 0x02, struct hidraw_report_descriptor)
+ def _IOC_HIDIOCGRDESC(none, len):
+- return _IOR('H', 0x02, len)
++ return _IOC(_IOC_VOID, 'U', 31, 0)
+
+
+ def _HIDIOCGRDESC(fd, size):
+@@ -102,7 +103,7 @@ def _HIDIOCGRDESC(fd, size):
+
+ # define HIDIOCGRAWINFO _IOR('H', 0x03, struct hidraw_devinfo)
+ def _IOC_HIDIOCGRAWINFO(none, len):
+- return _IOR('H', 0x03, len)
++ return _IOR('U', 32, len)
+
+
+ def _HIDIOCGRAWINFO(fd):
+@@ -113,7 +114,7 @@ def _HIDIOCGRAWINFO(fd):
+
+ # define HIDIOCGRAWNAME(len) _IOC(_IOC_READ, 'H', 0x04, len)
+ def _IOC_HIDIOCGRAWNAME(none, len):
+- return _IOC(_IOC_READ, 'H', 0x04, len)
++ return _IOC(_IOC_READ, 'U', 33, len)
+
+
+ def _HIDIOCGRAWNAME(fd):
Added: head/sysutils/hid-tools/files/patch-man_hid-decode.md
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/hid-tools/files/patch-man_hid-decode.md Sun Feb 14 23:07:31 2021 (r565272)
@@ -0,0 +1,25 @@
+Remove unsupported sysfs-dependent parts from manpage.
+
+--- man/hid-decode.md.orig 2019-03-29 01:29:29 UTC
++++ man/hid-decode.md
+@@ -11,8 +11,6 @@ SYNOPSIS
+
+ **hid-decode** */dev/hidraw0*
+
+-**hid-decode** */dev/input/event0*
+-
+ **hid-decode** *hid-recording*
+
+ DESCRIPTION
+@@ -20,11 +18,8 @@ DESCRIPTION
+ **hid-decode** decodes one or more HID report descriptors into into
+ human-readable format. It supports a variety of inputs:
+
+-- a binary format as exported in sysfs, e.g.
+- _/sys/class/input/event0/device/device/report_descriptor_
+ - the format exported by **hid-recorder(1)**
+ - a _/dev/hidraw_ node
+-- a _/dev/input/event_ node
+
+ The format is deduced based on the input arguments. Undetected formats are
+ assumed to be binary files.
Added: head/sysutils/hid-tools/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sysutils/hid-tools/pkg-descr Sun Feb 14 23:07:31 2021 (r565272)
@@ -0,0 +1,16 @@
+hid-tools is a set of tools to interact with the kernel's HID subsystem.
+
+hid-recorder prints the HID Report Descriptor from a /dev/hidraw device
+node and any HID reports coming from that device. The output format can
+be used with hid-replay for debugging.
+
+hid-replay takes the output from hid-recorder and replays it through a
+virtual HID device that looks exactly like the one recorded.
+
+hid-decode takes a HID Report Descriptor and prints a human-readable
+version of it. hid-decode takes binary report descriptors, strings of
+bytes, and other formats.
+
+hid-tools requires hidraw.ko driver to be loaded in to kernel.
+
+WWW: https://gitlab.freedesktop.org/libevdev/hid-tools
More information about the svn-ports-all
mailing list