Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jan 2014 21:01:51 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r341781 - in head/comms/hidapi: . files
Message-ID:  <201401292101.s0TL1pKJ046600@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tijl
Date: Wed Jan 29 21:01:51 2014
New Revision: 341781
URL: http://svnweb.freebsd.org/changeset/ports/341781
QAT: https://qat.redports.org/buildarchive/r341781/

Log:
  - Remove part of a patch that wasn't entirely correct and let the port
    use the WCHAR_T iconv extension instead.
  - Add USES=libtool and let libtoolize copy the necessary files instead of
    symlinking them such that they can be patched.
  - Add a configure check for libusb_handle_events_completed.

Modified:
  head/comms/hidapi/Makefile
  head/comms/hidapi/files/patch-configure.ac
  head/comms/hidapi/files/patch-libusb-hid.c
  head/comms/hidapi/pkg-plist

Modified: head/comms/hidapi/Makefile
==============================================================================
--- head/comms/hidapi/Makefile	Wed Jan 29 20:43:01 2014	(r341780)
+++ head/comms/hidapi/Makefile	Wed Jan 29 21:01:51 2014	(r341781)
@@ -2,6 +2,7 @@
 
 PORTNAME=	hidapi
 DISTVERSION=	0.8.0-rc1
+PORTREVISION=	1
 CATEGORIES=	comms
 
 MAINTAINER=	tijl@FreeBSD.org
@@ -16,9 +17,10 @@ GH_TAGNAME=	${PORTNAME}-${DISTVERSION}
 GH_COMMIT=	40cf516
 
 USE_AUTOTOOLS=	aclocal autoconf autoheader automake libtoolize
-AUTOMAKE_ARGS=	--add-missing
+AUTOMAKE_ARGS=	--add-missing --copy
+LIBTOOLIZE_ARGS=--copy
 
-USES=		iconv
+USES=		iconv:wchar_t libtool
 USE_LDCONFIG=	yes
 
 .include <bsd.port.mk>

Modified: head/comms/hidapi/files/patch-configure.ac
==============================================================================
--- head/comms/hidapi/files/patch-configure.ac	Wed Jan 29 20:43:01 2014	(r341780)
+++ head/comms/hidapi/files/patch-configure.ac	Wed Jan 29 21:01:51 2014	(r341781)
@@ -1,12 +1,11 @@
 --- configure.ac.orig
 +++ configure.ac
-@@ -93,7 +93,8 @@
- 	LDFLAGS="$LDFLAGS -L/usr/local/lib"
+@@ -94,6 +94,8 @@
  	LIBS="${LIBS}"
  	AC_CHECK_LIB([usb], [libusb_init], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -lusb"], [hidapi_lib_error libusb])
--	AC_CHECK_LIB([iconv], [iconv_open], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -liconv"], [hidapi_lib_error libiconv])
+ 	AC_CHECK_LIB([iconv], [iconv_open], [LIBS_LIBUSB_PRIVATE="${LIBS_LIBUSB_PRIVATE} -liconv"], [hidapi_lib_error libiconv])
 +	AC_CHECK_DECLS([libusb_get_string_descriptor], [], [], [[#include <libusb.h>]])
-+	AC_SEARCH_LIBS([iconv_open], [iconv], [], [hidapi_lib_error libiconv])
++	AC_CHECK_DECLS([libusb_handle_events_completed], [], [], [[#include <libusb.h>]])
  	echo libs_priv: $LIBS_LIBUSB_PRIVATE
  	;;
  *-mingw*)

Modified: head/comms/hidapi/files/patch-libusb-hid.c
==============================================================================
--- head/comms/hidapi/files/patch-libusb-hid.c	Wed Jan 29 20:43:01 2014	(r341780)
+++ head/comms/hidapi/files/patch-libusb-hid.c	Wed Jan 29 21:01:51 2014	(r341781)
@@ -18,55 +18,15 @@
  /* The FreeBSD version of libusb doesn't have this funciton. In mainline
     libusb, it's inlined in libusb.h. This function will bear a striking
     resemblence to that one, because there's about one way to code it.
-@@ -324,6 +326,7 @@
- static wchar_t *get_usb_string(libusb_device_handle *dev, uint8_t idx)
- {
- 	char buf[512];
-+	char buf2[512];
- 	int len;
- 	wchar_t *str = NULL;
- 	wchar_t wbuf[256];
-@@ -359,7 +362,7 @@
- 	   it is only passed into iconv() which does not need it. */
- 
- 	/* Initialize iconv. */
--	ic = iconv_open("WCHAR_T", "UTF-16LE");
-+	ic = iconv_open("char", "UTF-16LE");
- 	if (ic == (iconv_t)-1) {
- 		LOG("iconv_open() failed\n");
- 		return NULL;
-@@ -369,18 +372,21 @@
- 	   Skip the first character (2-bytes). */
- 	inptr = buf+2;
- 	inbytes = len-2;
--	outptr = (char*) wbuf;
--	outbytes = sizeof(wbuf);
-+	outptr = buf2;
-+	outbytes = sizeof(buf2);
- 	res = iconv(ic, &inptr, &inbytes, &outptr, &outbytes);
- 	if (res == (size_t)-1) {
- 		LOG("iconv() failed\n");
- 		goto err;
- 	}
-+	res = mbstowcs(wbuf, buf2, sizeof(wbuf)/sizeof(wbuf[0]));
-+	if (res == (size_t)-1) {
-+		LOG("mbstowcs() failed\n");
-+		goto err;
-+	}
- 
- 	/* Write the terminating NULL. */
- 	wbuf[sizeof(wbuf)/sizeof(wbuf[0])-1] = 0x00000000;
--	if (outbytes >= sizeof(wbuf[0]))
--		*((wchar_t*)outptr) = 0x00000000;
- 
- 	/* Allocate and copy the string. */
- 	str = wcsdup(wbuf);
-@@ -757,7 +763,7 @@
+@@ -757,7 +757,11 @@
  	libusb_cancel_transfer(dev->transfer);
  
  	while (!dev->cancelled)
--		libusb_handle_events_completed(usb_context, &dev->cancelled);
++#if HAVE_DECL_LIBUSB_HANDLE_EVENTS_COMPLETED
+ 		libusb_handle_events_completed(usb_context, &dev->cancelled);
++#else
 +		libusb_handle_events(usb_context);
++#endif
  
  	/* Now that the read thread is stopping, Wake any threads which are
  	   waiting on data (in hid_read_timeout()). Do this under a mutex to

Modified: head/comms/hidapi/pkg-plist
==============================================================================
--- head/comms/hidapi/pkg-plist	Wed Jan 29 20:43:01 2014	(r341780)
+++ head/comms/hidapi/pkg-plist	Wed Jan 29 21:01:51 2014	(r341781)
@@ -3,5 +3,6 @@ lib/libhidapi.a
 lib/libhidapi.la
 lib/libhidapi.so
 lib/libhidapi.so.0
+lib/libhidapi.so.0.0.0
 libdata/pkgconfig/hidapi.pc
 @dirrm include/hidapi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201401292101.s0TL1pKJ046600>