hidapi: We now have pthread_barrier_t.

This commit is contained in:
Augustin Cavalier
2017-06-16 22:33:07 -04:00
parent c232696150
commit 520640cb6f
2 changed files with 13 additions and 89 deletions

View File

@@ -1,12 +1,18 @@
SUMMARY="Library for Interfacing with HID-Class devices"
DESCRIPTION="HIDAPI is a library working with multiple platforms for
interfacing with HID-Class devices through USB and Bluetooth. (On Haiku, it only works with USB). "
DESCRIPTION="HIDAPI is a multi-platform library which allows an application to \
interface with USB and Bluetooth HID-Class devices on Windows, Linux, and \
macOS. While it can be used to communicate with standard HID devices like \
keyboards, mice, and Joysticks, it is most useful when used with custom \
(Vendor-Defined) HID devices. Many devices do this in order to not require a \
custom driver to be written for each platform. HIDAPI is easy to integrate with \
the client application, just requiring a single source file to be dropped into \
the application. (On Haiku, it only works with USB)."
HOMEPAGE="http://www.signal11.us/oss/hidapi/"
COPYRIGHT="2010 Alan Ott
2011 Signal 11 Software"
2011 Signal 11 Software"
LICENSE="BSD (3-clause)
GNU GPL v3"
REVISION="1"
GNU GPL v3"
REVISION="2"
srcGitRev="a6a622ffb680c55da0de787ff93b80280498330f"
SOURCE_URI="https://github.com/signal11/hidapi/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="d94e39be127ab6ac6a2bbdf6d321d6492b1cdc6cc5c00b6901228eb6923e81a6"
@@ -23,6 +29,7 @@ PROVIDES="
REQUIRES="
haiku$secondaryArchSuffix
lib:libusb_1.0$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
"
PROVIDES_devel="
@@ -36,6 +43,7 @@ REQUIRES_devel="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libusb_1.0$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal

View File

@@ -137,87 +137,3 @@ index 0000000..6ddd172
+.PHONY: clean libs
--
2.2.2
From 106ec32de206ec49fb0441e55690d7ff3cd24b9c Mon Sep 17 00:00:00 2001
From: CodeforEvolution <themysterymail555@gmail.com>
Date: Mon, 26 Dec 2016 17:14:58 +0000
Subject: Changes in source for no iconv/pthread barriers
diff --git a/libusb/hid.c b/libusb/hid.c
index 3c6d877..c6ad012 100644
--- a/libusb/hid.c
+++ b/libusb/hid.c
@@ -45,15 +45,15 @@
/* GNU / LibUSB */
#include <libusb.h>
-#ifndef __ANDROID__
+#if !defined(__ANDROID__) || !defined(__HAIKU__)
#include <iconv.h>
#endif
#include "hidapi.h"
-#ifdef __ANDROID__
+#if defined(__ANDROID__) || defined(__HAIKU__)
-/* Barrier implementation because Android/Bionic don't have pthread_barrier.
+/* Barrier implementation because Android/Bionic/Haiku don't have pthread_barrier.
This implementation came from Brent Priddy and was posted on
StackOverflow. It is used with his permission. */
typedef int pthread_barrierattr_t;
@@ -390,7 +390,7 @@ static wchar_t *get_usb_string(libusb_device_handle *dev, uint8_t idx)
int len;
wchar_t *str = NULL;
-#ifndef __ANDROID__ /* we don't use iconv on Android */
+#if !defined(__ANDROID__) || !defined(__HAIKU__) /* we don't use iconv on Android/Haiku */
wchar_t wbuf[256];
/* iconv variables */
iconv_t ic;
@@ -420,7 +420,7 @@ static wchar_t *get_usb_string(libusb_device_handle *dev, uint8_t idx)
if (len < 0)
return NULL;
-#ifdef __ANDROID__
+#if defined(__ANDROID__) || defined(__HAIKU__)
/* Bionic does not have iconv support nor wcsdup() function, so it
has to be done manually. The following code will only work for
--
2.2.2
From 3de18a772eebbddd93e0fa356d6c738b0718f011 Mon Sep 17 00:00:00 2001
From: CodeforEvolution <themysterymail555@gmail.com>
Date: Mon, 26 Dec 2016 18:09:26 +0000
Subject: Fix Change in Source
diff --git a/libusb/hid.c b/libusb/hid.c
index c6ad012..f11d4d5 100644
--- a/libusb/hid.c
+++ b/libusb/hid.c
@@ -45,7 +45,7 @@
/* GNU / LibUSB */
#include <libusb.h>
-#if !defined(__ANDROID__) || !defined(__HAIKU__)
+#if !defined(__ANDROID__) && !defined(__HAIKU__)
#include <iconv.h>
#endif
@@ -390,7 +390,7 @@ static wchar_t *get_usb_string(libusb_device_handle *dev, uint8_t idx)
int len;
wchar_t *str = NULL;
-#if !defined(__ANDROID__) || !defined(__HAIKU__) /* we don't use iconv on Android/Haiku */
+#if !defined(__ANDROID__) && !defined(__HAIKU__) /* we don't use iconv on Android/Haiku */
wchar_t wbuf[256];
/* iconv variables */
iconv_t ic;
--
2.2.2