prasmussen / gdrive

Google Drive CLI Client
MIT License
8.99k stars 1.19k forks source link

[Request] Generate binaries for MIPS32 - DONE! Binary available here. #219

Open alecuba16 opened 7 years ago

alecuba16 commented 7 years ago

Hello,

Can you generate binary files for mips32, since there are many routers compatible with openwrt that runs over this architecture.

Thanks!

alecuba16 commented 7 years ago

Just for info, I was able to compile gdrive with the patched go 1.4.2 for mips32 but since the code is incompatible with GO 1.4.2 because this issues:

golang.org/x/net/context/ctxhttp gdrive-master\src\golang.org\x\net\context\ctxhttp\ctxhttp_pre17.go:36: req.Cancel undefined (type *http.Request has no field or method Cancel) google.golang.org/api/googleapi gdrive-master\src\google.golang.org\api\googleapi\googleapi.go:289: u.RawPath undefined (type *url.URL has no field or method RawPath) github.com/soniakeys/graph gdrive-master\src\github.com\soniakeys\graph\bits.go:210: constant 285870213051353865 overflows big.Word

This is due go 1.4.2 lacks of features/patches/functions needed above, so I have been patching the go compiler for mips32 (1.4.2.) in order to support the new features of 1.5.x that gdrive needs and I was able to compile it. I had to patch:

Go-mips32 compiler src: -mime\type.go : add extensions and methods that include it from 1.5.x -net\net\http\request.go: add cancel method. -net\net\http\transport.go: implement cancel method. -net\net\url\url.go: add rawpath method and variables.

Gdrive dependency (soniakeys) : -Add mips32 build flags to bits32.go

Here you have the latest binary (2016-11-26) file for mips32 (MSB - mipsbe): https://mega.nz/#!w59x2BIR!-A0bSwkqW-KCN-yZxrSw9r_17uSXwTHL9Jz1xEydKU4 (LSB- mipsle) https://mega.nz/#!Eh0EwYaZ!8-qQgtEW3kXPSEoRQHhG5mk3QZ0VECxGyjeLuenlzoc

alecuba16 commented 7 years ago

Another update, if you compile the master branch of go compiler (they are working on 1.8 that will include mips32) you will be able to compile go for mips32 with the newest 1.8 api, only needs the soniakeys mips/mips32 build flag :)