[gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/, games-util/xboxdrv/files/

2019-01-17 Thread James Le Cuirot
commit: 6f5dd987d612e67babe6029c8db433a0184d2e31
Author: James Le Cuirot  gentoo  org>
AuthorDate: Thu Jan 17 22:18:12 2019 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Thu Jan 17 22:27:09 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6f5dd987

games-util/xboxdrv: Drop old 0.8.8

Package-Manager: Portage-2.3.56, Repoman-2.3.12
Signed-off-by: James Le Cuirot  gentoo.org>

 games-util/xboxdrv/Manifest|  1 -
 games-util/xboxdrv/files/github-144.patch  | 15 --
 .../xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch| 16 --
 games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch | 13 -
 games-util/xboxdrv/xboxdrv-0.8.8.ebuild| 63 --
 5 files changed, 108 deletions(-)

diff --git a/games-util/xboxdrv/Manifest b/games-util/xboxdrv/Manifest
index a08c7116294..22664cac47a 100644
--- a/games-util/xboxdrv/Manifest
+++ b/games-util/xboxdrv/Manifest
@@ -1,2 +1 @@
 DIST xboxdrv-0.8.8_p20190116.tar.gz 322469 BLAKE2B 
8827cafb98235f7ad9d83204c808eb6bc25fdfd48321050ab79b561fc6a1a3b628e4bd667f7f1be511420514ef7906efc803db4f50130c393d7fa3cb498fed26
 SHA512 
3f9f8346a5a8486fb9f1af3e27a947e37c73ceab8f433639adf890144844f4fb6d005da3c4c6c1abf0a1550b71aba8b89001f58965d67fdc21e5f41e50a21436
-DIST xboxdrv-linux-0.8.8.tar.bz2 267919 BLAKE2B 
b6f09fc929ba561f0c18a777ca94f6972f366d29709d5fdcb168988311ca53eb813761df0f87d148795aa14d2d89b200e8123502c0b255ebe20e5f9caa18f8f1
 SHA512 
2978b33d23636431ee0cc393ea32d3d26ebe9f2b914f0bf8bc0e096f98202726768142e653bc5765ac55084b105ff3a6214bdf6e745fdd8aa167260c54c10494

diff --git a/games-util/xboxdrv/files/github-144.patch 
b/games-util/xboxdrv/files/github-144.patch
deleted file mode 100644
index 5782e1a8cd5..000
--- a/games-util/xboxdrv/files/github-144.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur xboxdrv-linux-0.8.5.orig/src/usb_gsource.cpp 
xboxdrv-linux-0.8.5/src/usb_gsource.cpp
 xboxdrv-linux-0.8.5.orig/src/usb_gsource.cpp   2013-04-07 
18:27:49.0 +0100
-+++ xboxdrv-linux-0.8.5/src/usb_gsource.cpp2016-07-02 12:35:41.692355904 
+0100
-@@ -174,7 +174,10 @@
- gboolean
- USBGSource::on_source()
- {
--  libusb_handle_events(NULL);
-+  struct timeval to;
-+  to.tv_sec = 0;
-+  to.tv_usec = 0;
-+  libusb_handle_events_timeout_completed(NULL, , NULL);
-   return TRUE;
- }
- 

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch 
b/games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch
deleted file mode 100644
index 80a8d8f550e..000
--- a/games-util/xboxdrv/files/xboxdrv-0.8.8-fix-c++14.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Cast boost::shared_ptr explicitly for C++14.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=594674
-
 a/src/controller_slot.cpp
-+++ b/src/controller_slot.cpp
-@@ -67,9 +67,9 @@ ControllerSlot::disconnect()
- }
- 
- bool
- ControllerSlot::is_connected() const
- {
--  return m_thread;
-+  return static_cast(m_thread);
- }
- 
- /* EOF */

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch 
b/games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch
deleted file mode 100644
index d6df8d99e32..000
--- a/games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://dev.gentoo.org/~vapier/scons-blows.txt
-
-diff -Naur xboxdrv-linux-0.8.8.orig/SConstruct xboxdrv-linux-0.8.8/SConstruct
 xboxdrv-linux-0.8.8.orig/SConstruct2015-11-09 10:19:35.0 
+
-+++ xboxdrv-linux-0.8.8/SConstruct 2016-07-02 16:13:52.560961836 +0100
-@@ -84,6 +84,7 @@
- opts.Add('CXXFLAGS', 'C++ Compiler flags')
- opts.Add('LINKFLAGS', 'Linker Compiler flags')
- opts.Add('AR', 'Library archiver')
-+opts.Add('RANLIB', 'Archive indexer')
- opts.Add('CC', 'C Compiler')
- opts.Add('CXX', 'C++ Compiler')
- opts.Add('BUILD', 'Build type: release, custom, development')

diff --git a/games-util/xboxdrv/xboxdrv-0.8.8.ebuild 
b/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
deleted file mode 100644
index a9324ad2dff..000
--- a/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit linux-info scons-utils toolchain-funcs systemd udev
-
-MY_P=${PN}-linux-${PV}
-DESCRIPTION="Userspace Xbox 360 Controller driver"
-HOMEPAGE="https://pingus.seul.org/~grumbel/xboxdrv/;
-SRC_URI="https://pingus.seul.org/~grumbel/xboxdrv/${MY_P}.tar.bz2;
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="dev-libs/boost:=
-   dev-libs/dbus-glib:=
-   virtual/libudev:=
-   sys-apps/dbus:=
-   dev-libs/glib:2=
-   virtual/libusb:1=
-   x11-libs/libX11:="
-DEPEND="${RDEPEND}
-   virtual/pkgconfig"
-
-S=${WORKDIR}/${MY_P}
-
-PATCHES=(
-   "${FILESDIR}"/${P}-scons.patch
-   "${FILESDIR}"/github-144.patch
-   "${FILESDIR}"/${P}-fix-c++14.patch
-)
-
-CONFIG_CHECK="~INPUT_EVDEV ~INPUT_JOYDEV ~INPUT_UINPUT ~!JOYSTICK_XPAD"

[gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/, games-util/xboxdrv/files/

2017-09-29 Thread Michael Palimaka
commit: 4749884d33af885c8218d2c958958e30f5b9ad8e
Author: Michael Palimaka  gentoo  org>
AuthorDate: Sat Sep 30 04:28:36 2017 +
Commit: Michael Palimaka  gentoo  org>
CommitDate: Sat Sep 30 04:32:10 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4749884d

games-util/xboxdrv: remove 0.8.5-r1

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 games-util/xboxdrv/Manifest|  1 -
 games-util/xboxdrv/files/xboxdrv-0.8.5-scons.patch | 13 --
 games-util/xboxdrv/xboxdrv-0.8.5-r1.ebuild | 48 --
 3 files changed, 62 deletions(-)

diff --git a/games-util/xboxdrv/Manifest b/games-util/xboxdrv/Manifest
index a5eaa4a4edc..33aa9c2375e 100644
--- a/games-util/xboxdrv/Manifest
+++ b/games-util/xboxdrv/Manifest
@@ -1,2 +1 @@
-DIST xboxdrv-linux-0.8.5.tar.bz2 265805 SHA256 
411195c4f5310a1a5f21f015daaf00b277f75da89df710308f8abfcf8f337e78 SHA512 
954a3664462dfeff63a455f3dfea4bc14f8c3e07fa9b0c299bb523b4089faad7f8d634511eb66c023bd289adbbf18e96ce26cbcf5b8ffc9bb3088f1afe532601
 WHIRLPOOL 
f47cdbcf40bd237715ff2b55354c6570ebbccd9cd0beb09b91869fa37db247c57019593b317d2acd767044fe92019defa01c9592bb3b63d2283103ff10dae844
 DIST xboxdrv-linux-0.8.8.tar.bz2 267919 SHA256 
f4fb8c09c0ce3841798f129ae4c2caf3f6db9786d78ad941994e425e3ffc168a SHA512 
2978b33d23636431ee0cc393ea32d3d26ebe9f2b914f0bf8bc0e096f98202726768142e653bc5765ac55084b105ff3a6214bdf6e745fdd8aa167260c54c10494
 WHIRLPOOL 
a27c0c68171cb08c6edc12aeafb84ae3a2edb14b8d4a87ad607f722581a58955d11808acb8c0b7169581850f52dd76be2c100de5e284a1521d10f0ae108a867d

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.5-scons.patch 
b/games-util/xboxdrv/files/xboxdrv-0.8.5-scons.patch
deleted file mode 100644
index 3cc3649ca3d..000
--- a/games-util/xboxdrv/files/xboxdrv-0.8.5-scons.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://dev.gentoo.org/~vapier/scons-blows.txt
-
 SConstruct
-+++ SConstruct
-@@ -85,6 +85,8 @@
- opts.Add('LINKFLAGS', 'Linker Compiler flags')
- opts.Add('CC', 'C Compiler')
- opts.Add('CXX', 'C++ Compiler')
-+opts.Add('AR', 'Archiver')
-+opts.Add('RANLIB', 'Archive indexer')
- opts.Add('BUILD', 'Build type: release, custom, development')
- 
- opts.Update(env)

diff --git a/games-util/xboxdrv/xboxdrv-0.8.5-r1.ebuild 
b/games-util/xboxdrv/xboxdrv-0.8.5-r1.ebuild
deleted file mode 100644
index 88a34e82347..000
--- a/games-util/xboxdrv/xboxdrv-0.8.5-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit base linux-info scons-utils toolchain-funcs
-
-MY_P=${PN}-linux-${PV}
-DESCRIPTION="Userspace Xbox 360 Controller driver"
-HOMEPAGE="http://pingus.seul.org/~grumbel/xboxdrv/;
-SRC_URI="http://pingus.seul.org/~grumbel/xboxdrv/${MY_P}.tar.bz2;
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="dev-libs/boost
-   virtual/udev
-   sys-apps/dbus
-   dev-libs/glib:2
-   virtual/libusb:1
-   x11-libs/libX11"
-DEPEND="${RDEPEND}
-   virtual/pkgconfig"
-
-S=${WORKDIR}/${MY_P}
-
-CONFIG_CHECK="~INPUT_EVDEV ~INPUT_JOYDEV ~INPUT_UINPUT ~!JOYSTICK_XPAD"
-PATCHES=( "${FILESDIR}"/${P}-scons.patch )
-
-src_compile() {
-   escons \
-   BUILD=custom \
-   CXX="$(tc-getCXX)" \
-   AR="$(tc-getAR)" \
-   RANLIB="$(tc-getRANLIB)" \
-   CXXFLAGS="-Wall ${CXXFLAGS}" \
-   LINKFLAGS="${LDFLAGS}"
-}
-
-src_install() {
-   dobin xboxdrv
-   doman doc/xboxdrv.1
-   dodoc AUTHORS NEWS PROTOCOL README TODO
-
-   newinitd "${FILESDIR}"/xboxdrv.initd xboxdrv
-   newconfd "${FILESDIR}"/xboxdrv.confd xboxdrv
-}



[gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/, games-util/xboxdrv/files/

2016-07-02 Thread James Le Cuirot
commit: 1a467e8b2506662594afc28732a9249e8686c10e
Author: James Le Cuirot  gentoo  org>
AuthorDate: Sat Jul  2 15:33:32 2016 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Sat Jul  2 15:35:10 2016 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a467e8b

games-util/xboxdrv: Version bump to 0.8.8, EAPI bump to 6, bug #567182

Includes patch to fix 60 second delay, upstream GitHub issue #144.

Package-Manager: portage-2.3.0

 games-util/xboxdrv/Manifest|  1 +
 games-util/xboxdrv/files/github-144.patch  | 15 ++
 games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch | 13 +
 games-util/xboxdrv/xboxdrv-0.8.8.ebuild| 63 ++
 4 files changed, 92 insertions(+)

diff --git a/games-util/xboxdrv/Manifest b/games-util/xboxdrv/Manifest
index 4f53fe7..a5eaa4a 100644
--- a/games-util/xboxdrv/Manifest
+++ b/games-util/xboxdrv/Manifest
@@ -1 +1,2 @@
 DIST xboxdrv-linux-0.8.5.tar.bz2 265805 SHA256 
411195c4f5310a1a5f21f015daaf00b277f75da89df710308f8abfcf8f337e78 SHA512 
954a3664462dfeff63a455f3dfea4bc14f8c3e07fa9b0c299bb523b4089faad7f8d634511eb66c023bd289adbbf18e96ce26cbcf5b8ffc9bb3088f1afe532601
 WHIRLPOOL 
f47cdbcf40bd237715ff2b55354c6570ebbccd9cd0beb09b91869fa37db247c57019593b317d2acd767044fe92019defa01c9592bb3b63d2283103ff10dae844
+DIST xboxdrv-linux-0.8.8.tar.bz2 267919 SHA256 
f4fb8c09c0ce3841798f129ae4c2caf3f6db9786d78ad941994e425e3ffc168a SHA512 
2978b33d23636431ee0cc393ea32d3d26ebe9f2b914f0bf8bc0e096f98202726768142e653bc5765ac55084b105ff3a6214bdf6e745fdd8aa167260c54c10494
 WHIRLPOOL 
a27c0c68171cb08c6edc12aeafb84ae3a2edb14b8d4a87ad607f722581a58955d11808acb8c0b7169581850f52dd76be2c100de5e284a1521d10f0ae108a867d

diff --git a/games-util/xboxdrv/files/github-144.patch 
b/games-util/xboxdrv/files/github-144.patch
new file mode 100644
index 000..5782e1a
--- /dev/null
+++ b/games-util/xboxdrv/files/github-144.patch
@@ -0,0 +1,15 @@
+diff -Naur xboxdrv-linux-0.8.5.orig/src/usb_gsource.cpp 
xboxdrv-linux-0.8.5/src/usb_gsource.cpp
+--- xboxdrv-linux-0.8.5.orig/src/usb_gsource.cpp   2013-04-07 
18:27:49.0 +0100
 xboxdrv-linux-0.8.5/src/usb_gsource.cpp2016-07-02 12:35:41.692355904 
+0100
+@@ -174,7 +174,10 @@
+ gboolean
+ USBGSource::on_source()
+ {
+-  libusb_handle_events(NULL);
++  struct timeval to;
++  to.tv_sec = 0;
++  to.tv_usec = 0;
++  libusb_handle_events_timeout_completed(NULL, , NULL);
+   return TRUE;
+ }
+ 

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch 
b/games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch
new file mode 100644
index 000..7900b25
--- /dev/null
+++ b/games-util/xboxdrv/files/xboxdrv-0.8.8-scons.patch
@@ -0,0 +1,13 @@
+http://dev.gentoo.org/~vapier/scons-blows.txt
+
+diff -Naur xboxdrv-linux-0.8.8.orig/SConstruct xboxdrv-linux-0.8.8/SConstruct
+--- xboxdrv-linux-0.8.8.orig/SConstruct2015-11-09 10:19:35.0 
+
 xboxdrv-linux-0.8.8/SConstruct 2016-07-02 16:13:52.560961836 +0100
+@@ -84,6 +84,7 @@
+ opts.Add('CXXFLAGS', 'C++ Compiler flags')
+ opts.Add('LINKFLAGS', 'Linker Compiler flags')
+ opts.Add('AR', 'Library archiver')
++opts.Add('RANLIB', 'Archive indexer')
+ opts.Add('CC', 'C Compiler')
+ opts.Add('CXX', 'C++ Compiler')
+ opts.Add('BUILD', 'Build type: release, custom, development')

diff --git a/games-util/xboxdrv/xboxdrv-0.8.8.ebuild 
b/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
new file mode 100644
index 000..04d3c7d
--- /dev/null
+++ b/games-util/xboxdrv/xboxdrv-0.8.8.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+inherit linux-info scons-utils toolchain-funcs systemd udev
+
+MY_P=${PN}-linux-${PV}
+DESCRIPTION="Userspace Xbox 360 Controller driver"
+HOMEPAGE="http://pingus.seul.org/~grumbel/xboxdrv/;
+SRC_URI="http://pingus.seul.org/~grumbel/xboxdrv/${MY_P}.tar.bz2;
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-libs/boost:=
+   dev-libs/dbus-glib:=
+   virtual/libudev:=
+   sys-apps/dbus:=
+   dev-libs/glib:2=
+   virtual/libusb:1=
+   x11-libs/libX11:="
+DEPEND="${RDEPEND}
+   virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+   "${FILESDIR}"/${P}-scons.patch
+   "${FILESDIR}"/github-144.patch
+)
+
+CONFIG_CHECK="~INPUT_EVDEV ~INPUT_JOYDEV ~INPUT_UINPUT ~!JOYSTICK_XPAD"
+
+src_compile() {
+   escons \
+   BUILD=custom \
+   CXX="$(tc-getCXX)" \
+   AR="$(tc-getAR)" \
+   RANLIB="$(tc-getRANLIB)" \
+   CXXFLAGS="-Wall ${CXXFLAGS}" \
+   LINKFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+   dobin xboxdrv
+   doman doc/xboxdrv.1
+   dodoc AUTHORS NEWS PROTOCOL README.md TODO
+
+   newinitd "${FILESDIR}"/xboxdrv.initd xboxdrv
+   newconfd "${FILESDIR}"/xboxdrv.confd xboxdrv
+
+   insinto /etc/dbus-1/system.d/
+   doins 

[gentoo-commits] repo/gentoo:master commit in: games-util/xboxdrv/, games-util/xboxdrv/files/

2016-07-02 Thread James Le Cuirot
commit: e3eae680d120f76bc3ee6c27618daa0b54cae3f9
Author: James Le Cuirot  gentoo  org>
AuthorDate: Sat Jul  2 15:34:57 2016 +
Commit: James Le Cuirot  gentoo  org>
CommitDate: Sat Jul  2 15:35:12 2016 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e3eae680

games-util/xboxdrv: Remove old 0.8.5-r2

Package-Manager: portage-2.3.0

 .../files/xboxdrv-0.8.4-libusbx-1.0.13-fix.patch   | 340 -
 games-util/xboxdrv/xboxdrv-0.8.5-r2.ebuild |  63 
 2 files changed, 403 deletions(-)

diff --git a/games-util/xboxdrv/files/xboxdrv-0.8.4-libusbx-1.0.13-fix.patch 
b/games-util/xboxdrv/files/xboxdrv-0.8.4-libusbx-1.0.13-fix.patch
deleted file mode 100644
index 5b8d2f4..000
--- a/games-util/xboxdrv/files/xboxdrv-0.8.4-libusbx-1.0.13-fix.patch
+++ /dev/null
@@ -1,340 +0,0 @@
-commit 27cdd9c6a994f3059b8ae683adb711169341ffa5
-Author: Ingo Ruhnke 
-Date:   Wed Dec 19 11:39:31 2012 +0100
-
-Added additional bookkeeping to USBController to allow clean shutdowns 
with libusbx
-
-Fixes #28
-
 a/src/firestorm_dual_controller.cpp
-+++ b/src/firestorm_dual_controller.cpp
-@@ -99,8 +99,6 @@ 
FirestormDualController::FirestormDualController(libusb_device* dev, bool is_vsb
- 
- FirestormDualController::~FirestormDualController()
- {
--  usb_cancel_read();
--  usb_release_interface(0);
- }
- 
- void
 a/src/generic_usb_controller.cpp
-+++ b/src/generic_usb_controller.cpp
-@@ -62,8 +62,6 @@ GenericUSBController::GenericUSBController(libusb_device* 
dev,
- 
- GenericUSBController::~GenericUSBController()
- {
--  usb_cancel_read();
--  usb_release_interface(m_interface);
- }
- 
- void
 a/src/playstation3_usb_controller.cpp
-+++ b/src/playstation3_usb_controller.cpp
-@@ -37,8 +37,6 @@ 
Playstation3USBController::Playstation3USBController(libusb_device* dev, bool tr
- 
- Playstation3USBController::~Playstation3USBController()
- {
--  usb_cancel_read();
--  usb_release_interface(0);
- }
- 
- #define HID_GET_REPORT  0x01
 a/src/saitek_p2500_controller.cpp
-+++ b/src/saitek_p2500_controller.cpp
-@@ -66,8 +66,6 @@ SaitekP2500Controller::SaitekP2500Controller(libusb_device* 
dev, bool try_detach
- 
- SaitekP2500Controller::~SaitekP2500Controller()
- {
--  usb_cancel_read();
--  usb_release_interface(0);
- }
- 
- void
 a/src/usb_controller.cpp
-+++ b/src/usb_controller.cpp
-@@ -28,7 +28,8 @@
- USBController::USBController(libusb_device* dev) :
-   m_dev(dev),
-   m_handle(0),
--  m_read_transfer(),
-+  m_transfers(),
-+  m_interfaces(),
-   m_usbpath(),
-   m_usbid(),
-   m_name()  
-@@ -78,7 +79,29 @@ USBController::USBController(libusb_device* dev) :
- 
- USBController::~USBController()
- {
--  //log_tmp("~USBController");
-+  // cancel all transfers
-+  for(std::set::iterator it = m_transfers.begin(); it != 
m_transfers.end(); ++it)
-+  {
-+libusb_cancel_transfer(*it);
-+  }
-+
-+  // wait for cancel to succeed
-+  while (!m_transfers.empty()) 
-+  {
-+int ret = libusb_handle_events(NULL);
-+if (ret != 0)
-+{
-+  log_error("libusb_handle_events() failure: " << ret);
-+}
-+  }
-+
-+  // release all claimed interfaces
-+  for(std::set::iterator it = m_interfaces.begin(); it != 
m_interfaces.end(); ++it)
-+  {
-+libusb_release_interface(m_handle, *it);
-+  }
-+
-+  // read and write transfers might still be going on and might need to be 
canceled
-   libusb_close(m_handle);
- }
- 
-@@ -103,23 +126,26 @@ USBController::get_name() const
- void
- USBController::usb_submit_read(int endpoint, int len)
- {
--  assert(!m_read_transfer);
--
--  m_read_transfer = libusb_alloc_transfer(0);
-+  libusb_transfer* transfer = libusb_alloc_transfer(0);
- 
-   uint8_t* data = static_cast(malloc(sizeof(uint8_t) * len));
--  m_read_transfer->flags |= LIBUSB_TRANSFER_FREE_BUFFER;
--  libusb_fill_interrupt_transfer(m_read_transfer, m_handle,
-+  transfer->flags |= LIBUSB_TRANSFER_FREE_BUFFER;
-+  libusb_fill_interrupt_transfer(transfer, m_handle,
-  endpoint | LIBUSB_ENDPOINT_IN,
-  data, len,
-  ::on_read_data_wrap, this,
-  0); // timeout
-   int ret;
--  ret = libusb_submit_transfer(m_read_transfer);
-+  ret = libusb_submit_transfer(transfer);
-   if (ret != LIBUSB_SUCCESS)
-   {
-+libusb_free_transfer(transfer);
- raise_exception(std::runtime_error, "libusb_submit_transfer(): " << 
usb_strerror(ret));
-   }
-+  else
-+  {
-+m_transfers.insert(transfer);
-+  }
- }
- 
- void
-@@ -127,7 +153,6 @@ USBController::usb_write(int endpoint, uint8_t* data_in, 
int len)
- {
-   libusb_transfer* transfer = libusb_alloc_transfer(0);
-   transfer->flags |= LIBUSB_TRANSFER_FREE_BUFFER;
--  transfer->flags |= LIBUSB_TRANSFER_FREE_TRANSFER;
- 
-   // copy data into a newly allocated buffer
-   uint8_t* data = static_cast(malloc(sizeof(uint8_t) *