På tirsdag 23. juni 2026 kl. 09:29, skrev Rafael Sadowski
<[email protected]>:
> Simple update libhidapi-0.15.0. Build tested with all consumers on amd64. OK?
>
> Cheers Rafael
>
Current/amd64 with privsep
// Applied patch
cd /usr/ports/ && patch -l -p1 -E < /tmp/libhidapi-0.15.0.patch
// Built package and ran checks
$ cd /usr/ports/comms/libhidapi/ && make clean=all clean && make clean build
package test port-lib-depends-check check-shlib-syms clean
No regression tests for libhidapi-0.15.0p0
/usr/local/lib/libhidapi-libusb.so.1.0 -->
/usr/ports/pobj/libhidapi-0.15.0/fake-amd64/usr/local/lib/libhidapi-libusb.so.1.1
Dynamic export changes:
added:
hid_get_report_descriptor
hid_read_error
hid_send_output_report
/usr/local/lib/libhidapi.so.1.0 -->
/usr/ports/pobj/libhidapi-0.15.0/fake-amd64/usr/local/lib/libhidapi.so.1.1
Dynamic export changes:
added:
hid_get_report_descriptor
hid_read_error
hid_send_output_report
--
// Builds and updates fine.
# TRUSTED_PKG_PATH=/usr/ports/packages/amd64/all/ pkg_add -Dsnap -u libhidapi
libhidapi-0.13.1->0.15.0p0: ok
// Check reverse dependencies with sqlports package
$ show-reverse-deps comms/libhidapi
╭──────────────────────────╮
│ FullPkgPath │
╞══════════════════════════╡
│ cad/prusaslicer │
│ comms/sigrok/libsigrok │
│ comms/sigrok/pulseview │
│ comms/sigrok/sigrok-cli │
│ devel/openocd │
│ emulators/dolphin │
│ emulators/dolphin,-main │
│ emulators/dolphin,-nogui │
╰──────────────────────────╯
Tried dolphin for a few minutes. Should probably ask for people who use
or have controllers. Don't use the others enough to comment.
Was there a reason for the REVISION = 0? Not sure on that as you are
already updating to a newer version.
Hope this helps and may you stay cool and successful while hacking.
--
yaydn
> diff --git a/comms/libhidapi/Makefile b/comms/libhidapi/Makefile
> index 16545521146..cc8f6262502 100644
> --- a/comms/libhidapi/Makefile
> +++ b/comms/libhidapi/Makefile
> @@ -3,16 +3,17 @@ COMMENT = library for communicating with USB and
> Bluetooth HID devices
> # XXX Any consumer should be patched to use hidapi_hid_init() instead of
> # hid_init(3) to avoid conflict with base usbhid(3).
>
> -V = 0.13.1
> +V = 0.15.0
> DISTNAME = libhidapi-${V}
> +REVISION = 0
>
> GH_ACCOUNT = libusb
> GH_PROJECT = hidapi
> GH_TAGNAME = hidapi-${V}
>
> #libhidapi is symlink to hidapi-libusb. Same version numbers should be kept.
> -SHARED_LIBS += hidapi-libusb 1.0 # 0.0
> -SHARED_LIBS += hidapi 1.0 # 0.0
> +SHARED_LIBS += hidapi-libusb 1.1 # 0.0
> +SHARED_LIBS += hidapi 1.1 # 0.0
>
> CATEGORIES = comms
>
> @@ -27,8 +28,6 @@ LIB_DEPENDS = converters/libiconv \
>
> MODULES = devel/cmake
>
> -MODCMAKE_POLICY_VERSION_OVERRIDE = Yes
> -
> DOCDIR = ${PREFIX}/share/doc/hidapi
>
> NO_TEST = Yes
> diff --git a/comms/libhidapi/distinfo b/comms/libhidapi/distinfo
> index 18e9c3bc313..26df371650b 100644
> --- a/comms/libhidapi/distinfo
> +++ b/comms/libhidapi/distinfo
> @@ -1,2 +1,2 @@
> -SHA256 (libhidapi-0.13.1.tar.gz) =
> R2osmk3H0fyX3SI7hDONvqOAmoTK6i3NiH2XeHJUkOM=
> -SIZE (libhidapi-0.13.1.tar.gz) = 244666
> +SHA256 (libhidapi-0.15.0.tar.gz) =
> XYTexoTCe5e5IdLztzIYy3c89OqRXK7jF6yPxzzvgTY=
> +SIZE (libhidapi-0.15.0.tar.gz) = 363838
> diff --git a/comms/libhidapi/patches/patch-README_md
> b/comms/libhidapi/patches/patch-README_md
> index f284c742b53..8e9b830c092 100644
> --- a/comms/libhidapi/patches/patch-README_md
> +++ b/comms/libhidapi/patches/patch-README_md
> @@ -3,7 +3,7 @@ rename hid_init() to hidapi_hid_init() to avoid collision
> with usbhid
> Index: README.md
> --- README.md.orig
> +++ README.md
> -@@ -112,7 +112,7 @@ int main(int argc, char* argv[])
> +@@ -113,7 +113,7 @@ int main(int argc, char* argv[])
> int i;
>
> // Initialize the hidapi library
> diff --git a/comms/libhidapi/patches/patch-hidapi_hidapi_h
> b/comms/libhidapi/patches/patch-hidapi_hidapi_h
> index 63692de4b6c..e3ffe9204f4 100644
> --- a/comms/libhidapi/patches/patch-hidapi_hidapi_h
> +++ b/comms/libhidapi/patches/patch-hidapi_hidapi_h
> @@ -3,7 +3,7 @@ rename hid_init() to hidapi_hid_init() to avoid collision
> with usbhid
> Index: hidapi/hidapi.h
> --- hidapi/hidapi.h.orig
> +++ hidapi/hidapi.h
> -@@ -197,7 +197,7 @@ extern "C" {
> +@@ -202,7 +202,7 @@ extern "C" {
> This function returns 0 on success and -1 on
> error.
> Call hid_error(NULL) to get the failure reason.
> */
> diff --git a/comms/libhidapi/patches/patch-hidtest_test_c
> b/comms/libhidapi/patches/patch-hidtest_test_c
> index 9fbd80266bd..29e4066abf9 100644
> --- a/comms/libhidapi/patches/patch-hidtest_test_c
> +++ b/comms/libhidapi/patches/patch-hidtest_test_c
> @@ -3,7 +3,7 @@ rename hid_init() to hidapi_hid_init() to avoid collision
> with usbhid
> Index: hidtest/test.c
> --- hidtest/test.c.orig
> +++ hidtest/test.c
> -@@ -93,12 +93,12 @@ int main(int argc, char* argv[])
> +@@ -169,12 +169,12 @@ int main(int argc, char* argv[])
> printf("Compile-time version is different than runtime version
> of hidapi.\n]n");
> }
>
> diff --git a/comms/libhidapi/patches/patch-libusb_hid_c
> b/comms/libhidapi/patches/patch-libusb_hid_c
> index 2b6b75d4c5d..c2a305c56f3 100644
> --- a/comms/libhidapi/patches/patch-libusb_hid_c
> +++ b/comms/libhidapi/patches/patch-libusb_hid_c
> @@ -3,7 +3,7 @@ rename hid_init() to hidapi_hid_init() to avoid collision
> with usbhid
> Index: libusb/hid.c
> --- libusb/hid.c.orig
> +++ libusb/hid.c
> -@@ -536,7 +536,7 @@ HID_API_EXPORT const char* HID_API_CALL hid_version_st
> +@@ -483,7 +483,7 @@ HID_API_EXPORT const char* HID_API_CALL hid_version_st
> return HID_API_VERSION_STR;
> }
>
> @@ -12,7 +12,7 @@ Index: libusb/hid.c
> {
> if (!usb_context) {
> const char *locale;
> -@@ -750,7 +750,7 @@ struct hid_device_info HID_API_EXPORT *hid_enumerate(
> +@@ -798,7 +798,7 @@ struct hid_device_info HID_API_EXPORT *hid_enumerate(
> struct hid_device_info *root = NULL; /* return object */
> struct hid_device_info *cur_dev = NULL;
>
> @@ -21,7 +21,7 @@ Index: libusb/hid.c
> return NULL;
>
> num_devs = libusb_get_device_list(usb_context, &devs);
> -@@ -1144,7 +1144,7 @@ hid_device * HID_API_EXPORT hid_open_path(const char *
> +@@ -1271,7 +1271,7 @@ hid_device * HID_API_EXPORT hid_open_path(const char *
> int d = 0;
> int good_open = 0;
>
> @@ -30,7 +30,7 @@ Index: libusb/hid.c
> return NULL;
>
> dev = new_hid_device();
> -@@ -1206,7 +1206,7 @@ HID_API_EXPORT hid_device * HID_API_CALL hid_libusb_wr
> +@@ -1346,7 +1346,7 @@ HID_API_EXPORT hid_device * HID_API_CALL hid_libusb_wr
> int res = 0;
> int j = 0, k = 0;
>
>
>