Skip to content

Commit f00c0d4

Browse files
committed
added arm64 to support Apple M1 and now using small proto lib
1 parent 0666318 commit f00c0d4

File tree

13 files changed

+287
-538
lines changed

13 files changed

+287
-538
lines changed

.github/workflows/darwin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@v2
1414
- uses: actions/setup-go@v2
1515
with:
16-
go-version: '1.15.5'
16+
go-version: '1.16.1'
1717
- name: Build
1818
run: make binding_darwin
1919
- name: Compress

Makefile.darwin

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,39 @@
11
DARWIN_OUTPUT?=darwin
22
DARWIN_BINDING_OUTPUT?=$(BINDING_OUTPUT)/$(DARWIN_OUTPUT)
33
DARWIN_TARGET?=10.11
4-
binding_darwin: binding_darwin_x86_64
4+
5+
binding_darwin: binding_darwin_x86_64 binding_darwin_arm64
6+
lipo $(DARWIN_BINDING_OUTPUT)/x86_64.dylib $(DARWIN_BINDING_OUTPUT)/arm64.dylib -create -output $(DARWIN_BINDING_OUTPUT)/$(BINDING_NAME).dylib
7+
rm $(DARWIN_BINDING_OUTPUT)/x86_64.dylib $(DARWIN_BINDING_OUTPUT)/arm64.dylib $(DARWIN_BINDING_OUTPUT)/*.h
58

69
binding_darwin_x86_64:
7-
BINDING_FILE=$(DARWIN_OUTPUT)/$(BINDING_NAME).dylib \
10+
BINDING_FILE=$(DARWIN_OUTPUT)/x86_64.dylib \
811
BUILD_MODE="c-shared" \
912
CGO_CFLAGS=-mmacosx-version-min=$(DARWIN_TARGET) \
1013
MACOSX_DEPLOYMENT_TARGET=$(DARWIN_TARGET) \
1114
GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 \
1215
make binding
1316

17+
binding_darwin_arm64:
18+
BINDING_FILE=$(DARWIN_OUTPUT)/arm64.dylib \
19+
BUILD_MODE="c-shared" \
20+
CGO_CFLAGS=-mmacosx-version-min=$(DARWIN_TARGET) \
21+
MACOSX_DEPLOYMENT_TARGET=$(DARWIN_TARGET) \
22+
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 \
23+
make binding
24+
1425
binding_darwin_archive_x86_64:
15-
BINDING_FILE=$(DARWIN_OUTPUT)/$(BINDING_NAME).a \
26+
BINDING_FILE=$(DARWIN_OUTPUT)/x86_64.a \
1627
BUILD_MODE="c-archive" \
1728
CGO_CFLAGS=-mmacosx-version-min=$(DARWIN_TARGET) \
1829
MACOSX_DEPLOYMENT_TARGET=$(DARWIN_TARGET) \
1930
GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 \
2031
make binding
32+
33+
binding_darwin_archive_arm64:
34+
BINDING_FILE=$(DARWIN_OUTPUT)/arm64.a \
35+
BUILD_MODE="c-archive" \
36+
CGO_CFLAGS=-mmacosx-version-min=$(DARWIN_TARGET) \
37+
MACOSX_DEPLOYMENT_TARGET=$(DARWIN_TARGET) \
38+
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 \
39+
make binding

Makefile.protobuf

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
proto: proto_dart proto_go
33

44
proto_go_deps:
5-
go get github.com/gogo/protobuf/protoc-gen-gofast
5+
go get github.com/gogo/protobuf/proto
6+
go get github.com/gogo/protobuf/protoc-gen-gogofaster
7+
go get github.com/gogo/protobuf/gogoproto
68

79
proto_dart_deps:
810
flutter pub global activate protoc_plugin
@@ -13,7 +15,7 @@ proto_dart:
1315

1416
proto_go:
1517
rm -rf bridge/model && mkdir -p bridge/model
16-
protoc -Iproto --gofast_out=grpc:./bridge/model proto/*.proto
18+
protoc -Iproto --gogofaster_out=./bridge/model proto/*.proto
1719

1820
proto_js:
1921
rm -rf output/js && mkdir -p output/js

Makefile.wasm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.PHONY: wasm
22
wasm:
33
mkdir -p output/wasm
4-
GOARCH=wasm GOOS=js go build -ldflags="-s -w" -o output/wasm/openpgp.wasm wasm/main.go
4+
cd wasm && GOARCH=wasm GOOS=js go build -ldflags="-s -w" -o ../output/wasm/openpgp.wasm main.go
55
cp $(GOROOT)/misc/wasm/wasm_exec.js output/wasm/wasm_exec.js
66
cp output/wasm/openpgp.wasm wasm/sample/public/openpgp.wasm
77
cp output/wasm/wasm_exec.js wasm/sample/public/wasm_exec.js

bridge/call.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package openPGPBridge
22

33
import (
44
"fmt"
5-
"github.com/golang/protobuf/proto"
5+
"github.com/gogo/protobuf/proto"
66
"github.com/jerson/openpgp-mobile/bridge/model"
77
"github.com/jerson/openpgp-mobile/openpgp"
88
)

bridge/call_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package openPGPBridge
2+
3+
import (
4+
"testing"
5+
)
6+
7+
func TestCall(t *testing.T) {
8+
data, err := Call("generate", nil)
9+
if err != nil {
10+
t.Fatal(err)
11+
return
12+
}
13+
t.Log(data)
14+
}

bridge/model/bridge.pb.go

Lines changed: 173 additions & 508 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go.mod

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,21 @@ module github.com/jerson/openpgp-mobile
33
go 1.13
44

55
require (
6-
github.com/golang/protobuf v1.4.2
6+
github.com/gogo/protobuf v1.3.2
77
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
88
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
99
)
1010

11-
replace github.com/golang/protobuf => github.com/golang/protobuf v1.4.2
12-
1311
replace github.com/keybase/go-crypto => github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
1412

1513
replace golang.org/x/crypto => golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
14+
15+
replace golang.org/x/net => golang.org/x/net v0.0.0-20190620200207-3b0461eec859
16+
17+
replace golang.org/x/sync => golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9
18+
19+
replace golang.org/x/sys => golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
20+
21+
replace golang.org/x/tools => golang.org/x/tools v0.0.0-20200619180055-7c47624df98f
22+
23+
replace golang.org/x/xerrors => golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7

go.sum

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
2-
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
3-
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
4-
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
1+
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
2+
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
53
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4 h1:cTxwSmnaqLoo+4tLukHoB9iqHOu3LmLhRmgUxZo6Vp4=
64
github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M=
5+
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
6+
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
7+
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
78
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
89
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
9-
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
10-
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
10+
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
11+
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
12+
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
13+
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
1114
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
12-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
13-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
14-
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
15-
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
15+
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
16+
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

openpgp/testdata/sample.zip.gpg

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)