Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
cb06b9fb0d | ||
![]() |
76f12f69ac | ||
![]() |
0995919da4 |
@@ -6,9 +6,11 @@ export GOROOT=/mingw64/lib/go
|
||||
export GOPATH=/go
|
||||
export CGO_ENABLED=1
|
||||
|
||||
set -x
|
||||
|
||||
pacman --noconfirm -S \
|
||||
mingw64/mingw-w64-x86_64-go \
|
||||
mingw64/mingw-w64-x86_64-libusb
|
||||
mingw-w64-x86_64-go \
|
||||
mingw-w64-x86_64-libusb
|
||||
|
||||
go version
|
||||
go get -t github.com/google/gousb/...
|
||||
|
8
.appveyor/upgrade_pacman.sh
Executable file
8
.appveyor/upgrade_pacman.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
export PATH="/mingw64/bin:${PATH}"
|
||||
set -x
|
||||
curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
|
||||
curl -O https://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
|
||||
pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig &&\
|
||||
pacman --noconfirm -U msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
|
||||
pacman --noconfirm -Syy pacman
|
@@ -3,6 +3,7 @@ platform: x64
|
||||
clone_folder: C:\msys64\go\src\github.com\google\gousb
|
||||
|
||||
install:
|
||||
- C:\msys64\usr\bin\bash.exe -lc "cd /go/src/github.com/google/gousb/ && .appveyor/./install.sh"
|
||||
- C:\msys64\usr\bin\bash.exe -l /go/src/github.com/google/gousb/.appveyor/upgrade_pacman.sh
|
||||
- C:\msys64\usr\bin\bash.exe -lc "cd /go/src/github.com/google/gousb/ && .appveyor/install.sh"
|
||||
|
||||
build: off
|
||||
|
@@ -98,7 +98,7 @@ type fakeLibusb struct {
|
||||
claims map[*libusbDevice]map[uint8]bool
|
||||
}
|
||||
|
||||
func (f *fakeLibusb) init() (*libusbContext, error) { return new(libusbContext), nil }
|
||||
func (f *fakeLibusb) init() (*libusbContext, error) { return newContextPointer(), nil }
|
||||
func (f *fakeLibusb) handleEvents(c *libusbContext, done <-chan struct{}) { <-done }
|
||||
func (f *fakeLibusb) getDevices(*libusbContext) ([]*libusbDevice, error) {
|
||||
ret := make([]*libusbDevice, 0, len(fakeDevices))
|
||||
@@ -128,7 +128,7 @@ func (f *fakeLibusb) getDeviceDesc(d *libusbDevice) (*DeviceDesc, error) {
|
||||
return nil, fmt.Errorf("invalid USB device %p", d)
|
||||
}
|
||||
func (f *fakeLibusb) open(d *libusbDevice) (*libusbDevHandle, error) {
|
||||
h := new(libusbDevHandle)
|
||||
h := newDevHandlePointer()
|
||||
f.mu.Lock()
|
||||
defer f.mu.Unlock()
|
||||
f.handles[h] = d
|
||||
|
@@ -508,6 +508,7 @@ func libusbSetDebug(c *libusbContext, lvl int) {
|
||||
C.gousb_set_debug((*C.libusb_context)(c), C.int(lvl))
|
||||
}
|
||||
|
||||
// for obtaining unique CGo pointers.
|
||||
func newDevicePointer() *libusbDevice {
|
||||
return (*libusbDevice)(unsafe.Pointer(C.malloc(1)))
|
||||
}
|
||||
@@ -515,3 +516,11 @@ func newDevicePointer() *libusbDevice {
|
||||
func newFakeTransferPointer() *libusbTransfer {
|
||||
return (*libusbTransfer)(unsafe.Pointer(C.malloc(1)))
|
||||
}
|
||||
|
||||
func newContextPointer() *libusbContext {
|
||||
return (*libusbContext)(unsafe.Pointer(C.malloc(1)))
|
||||
}
|
||||
|
||||
func newDevHandlePointer() *libusbDevHandle {
|
||||
return (*libusbDevHandle)(unsafe.Pointer(C.malloc(1)))
|
||||
}
|
||||
|
Reference in New Issue
Block a user