trezor / trezord-go

:smiling_imp: Trezor Communication Daemon (written in Go)
GNU Lesser General Public License v3.0
241 stars 146 forks source link

Fix libusb and build release failed #300

Closed nekoteoj closed 7 months ago

nekoteoj commented 8 months ago

Fix issue #297

Solution:

  1. Fixed libusb.go. Golang 1.21 doesn't allow defining a method for non-local structs. The solution here is to create a type alias for used C interop structs. Then, we can define methods for these type aliases. For example, an alias for C.struct_libusb_endpoint_descriptor can be defined with type Struct_Libusb_Endpoint_Descriptor = C.struct_libusb_endpoint_descriptor.
  2. The build release for macOS build failed because the apple-codesign need a newer version of cargo in the packaging Docker image. To resolve this, I update the Fedora version in the packaging Dockerfile to version 39.

I tested this using my Trezor model one is it's working great. Also, I tested the build release command and everything work fine now too.

nekoteoj commented 7 months ago

No problem! Thanks for reviewing!

chenrui333 commented 6 months ago

Would love a release for this PR, thanks @nekoteoj for the great work!