diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | app/tools/libwg-go/Makefile | 34 | ||||
-rw-r--r-- | app/tools/libwg-go/go.mod | 8 | ||||
-rw-r--r-- | app/tools/libwg-go/go.sum | 28 | ||||
-rw-r--r-- | app/tools/libwg-go/goruntime-boottime-over-monotonic.diff | 22 |
5 files changed, 40 insertions, 56 deletions
@@ -7,9 +7,7 @@ This is an Android GUI for [WireGuard](https://www.wireguard.com/). It [opportun ## Building ``` -$ git clone https://git.zx2c4.com/wireguard-android +$ git clone --recurse-submodules https://git.zx2c4.com/wireguard-android $ cd wireguard-android -$ git submodule init -$ git submodule update $ ./gradlew assembleRelease ``` diff --git a/app/tools/libwg-go/Makefile b/app/tools/libwg-go/Makefile index 8dbf6f6a..88e7260c 100644 --- a/app/tools/libwg-go/Makefile +++ b/app/tools/libwg-go/Makefile @@ -20,30 +20,16 @@ export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME)) export GOOS := android export CGO_ENABLED := 1 -default: $(DESTDIR)/libwg-go.so +DESIRED_GO_VERSION := 1.13.1 -GOBUILDARCH := $(NDK_GO_ARCH_MAP_$(shell uname -m)) -GOBUILDOS := $(shell uname -s | tr '[:upper:]' '[:lower:]') -GOBUILDVERSION := 1.12.10 -GOBUILDTARBALL := https://dl.google.com/go/go$(GOBUILDVERSION).$(GOBUILDOS)-$(GOBUILDARCH).tar.gz -GOBUILDVERSION_NEEDED := go version go$(GOBUILDVERSION) $(GOBUILDOS)/$(GOBUILDARCH) -export GOROOT := $(BUILDDIR)/goroot -export GOPATH := $(BUILDDIR)/gopath -export PATH := $(GOROOT)/bin:$(PATH) -GOBUILDVERSION_CURRENT := $(shell $(GOROOT)/bin/go version 2>/dev/null) -ifneq ($(GOBUILDVERSION_NEEDED),$(GOBUILDVERSION_CURRENT)) -$(shell rm -f $(GOROOT)/bin/go) -endif -$(GOROOT)/bin/go: - rm -rf "$(GOROOT)" - mkdir -p "$(GOROOT)" - curl "$(GOBUILDTARBALL)" | tar -C "$(GOROOT)" --strip-components=1 -xzf - || { rm -rf "$(GOROOT)"; exit 1; } - patch -p1 -f -N -r- -d "$(GOROOT)" < goruntime-boottime-over-monotonic.diff || { rm -rf "$(GOROOT)"; exit 1; } +default: $(DESTDIR)/libwg-go.so -$(shell test "$$(cat $(BUILDDIR)/.gobuildversion 2>/dev/null)" = "$(GOBUILDVERSION_CURRENT)" || rm -f "$(DESTDIR)/libwg-go.so") +$(BUILDDIR)/go-$(DESIRED_GO_VERSION)/.prepared: + mkdir -p "$(dir $@)" + curl "https://dl.google.com/go/go$(DESIRED_GO_VERSION).$(shell uname -s | tr '[:upper:]' '[:lower:]')-$(NDK_GO_ARCH_MAP_$(shell uname -m)).tar.gz" | tar -C "$(dir $@)" --strip-components=1 -xzf - + patch -p1 -f -N -r- -d "$(dir $@)" < goruntime-boottime-over-monotonic.diff + touch "$@" -$(DESTDIR)/libwg-go.so: $(GOROOT)/bin/go - go get -tags linux || { chmod -fR +w "$(GOPATH)/pkg/mod"; rm -rf "$(GOPATH)/pkg/mod"; exit 1; } - chmod -fR +w "$(GOPATH)/pkg/mod" - go build -tags linux -ldflags="-X main.socketDirectory=/data/data/$(ANDROID_PACKAGE_NAME)/cache/wireguard" -v -o "$@" -buildmode c-shared - go version > $(BUILDDIR)/.gobuildversion +$(DESTDIR)/libwg-go.so: export PATH := $(BUILDDIR)/go-$(DESIRED_GO_VERSION)/bin/:$(PATH) +$(DESTDIR)/libwg-go.so: $(BUILDDIR)/go-$(DESIRED_GO_VERSION)/.prepared go.mod + go build -tags linux -ldflags="-X main.socketDirectory=/data/data/$(ANDROID_PACKAGE_NAME)/cache/wireguard" -v -trimpath -o "$@" -buildmode c-shared diff --git a/app/tools/libwg-go/go.mod b/app/tools/libwg-go/go.mod index 884f9640..6931a458 100644 --- a/app/tools/libwg-go/go.mod +++ b/app/tools/libwg-go/go.mod @@ -3,8 +3,8 @@ module golang.zx2c4.com/wireguard/android go 1.12 require ( - golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 // indirect - golang.org/x/net v0.0.0-20190628185345-da137c7871d7 // indirect - golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb - golang.zx2c4.com/wireguard v0.0.20190518-0.20190605110920-108c37a05639 + golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 // indirect + golang.org/x/net v0.0.0-20191011234655-491137f69257 // indirect + golang.org/x/sys v0.0.0-20191010194322-b09406accb47 + golang.zx2c4.com/wireguard v0.0.20190908 ) diff --git a/app/tools/libwg-go/go.sum b/app/tools/libwg-go/go.sum index 95192a3d..366a10c6 100644 --- a/app/tools/libwg-go/go.sum +++ b/app/tools/libwg-go/go.sum @@ -1,19 +1,19 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f h1:R423Cnkcp5JABoeemiGEPlt9tHXFfw5kvc0yqlxRPWo= -golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 h1:HuIa8hRrWRSrqYzx1qI49NNxhdi2PrY7gxVSq1JjLDc= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190829043050-9756ffdc2472/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092 h1:4QSRKanuywn15aTZvI/mIDEgPQpswuFndXpOj3rKEco= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191011234655-491137f69257 h1:ry8e2D+cwaV6hk7lb3aRTjjZo24shrbK0e11QEOkTIg= +golang.org/x/net v0.0.0-20191011234655-491137f69257/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5 h1:f005F/Jl5JLP036x7QIvUVhNTqxvSYwFIiyOh2q12iU= -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb h1:fgwFCsaw9buMuxNd6+DQfAuSFqbNiQZpcgJQAgJsK6k= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190830023255-19e00faab6ad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47 h1:/XfQ9z7ib8eEJX2hdgFTZJ/ntt0swNk5oYBziWeTCvY= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.zx2c4.com/wireguard v0.0.20190518-0.20190605110920-108c37a05639 h1:AoX5+g0OBk+KqTTMVl4YPFZ9ioU2tPW1YwtzaVWdORA= -golang.zx2c4.com/wireguard v0.0.20190518-0.20190605110920-108c37a05639/go.mod h1:8X7vp4RrsvM83bde6vQ94DsL4ZpjUViVUym8aa8zGhs= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.zx2c4.com/wireguard v0.0.20190908 h1:SUoXDdwSMtomLdvke+zz83/u9tNvl4hHmcTIWp38tow= +golang.zx2c4.com/wireguard v0.0.20190908/go.mod h1:LhfXh5z6bLC2lW2ve6BzYZFwnnsXK3OQjySR0Yh2dO8= diff --git a/app/tools/libwg-go/goruntime-boottime-over-monotonic.diff b/app/tools/libwg-go/goruntime-boottime-over-monotonic.diff index e5c668bd..5fd02397 100644 --- a/app/tools/libwg-go/goruntime-boottime-over-monotonic.diff +++ b/app/tools/libwg-go/goruntime-boottime-over-monotonic.diff @@ -1,4 +1,4 @@ -From 6998a7866b8428fd49c31506795c9f8154826d13 Mon Sep 17 00:00:00 2001 +From b19623e7673a4d6743745382d5d38751b64e011d Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" <Jason@zx2c4.com> Date: Wed, 27 Feb 2019 05:05:44 +0100 Subject: [PATCH] runtime: use CLOCK_BOOTTIME in nanotime on Linux @@ -28,7 +28,7 @@ Change-Id: I7b2a6ca0c5bc5fce57ec0eeafe7b68270b429321 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/runtime/sys_linux_386.s b/src/runtime/sys_linux_386.s -index 40b55a67eb..6105780ff4 100644 +index 72c43bd9da..daadfe32a9 100644 --- a/src/runtime/sys_linux_386.s +++ b/src/runtime/sys_linux_386.s @@ -288,13 +288,13 @@ noswitch: @@ -48,7 +48,7 @@ index 40b55a67eb..6105780ff4 100644 INVOKE_SYSCALL diff --git a/src/runtime/sys_linux_amd64.s b/src/runtime/sys_linux_amd64.s -index b709f77060..18a1f1d43a 100644 +index 5c300f553d..e4a6f12ec6 100644 --- a/src/runtime/sys_linux_amd64.s +++ b/src/runtime/sys_linux_amd64.s @@ -261,7 +261,7 @@ noswitch: @@ -61,7 +61,7 @@ index b709f77060..18a1f1d43a 100644 CALL AX MOVQ 0(SP), AX // sec diff --git a/src/runtime/sys_linux_arm.s b/src/runtime/sys_linux_arm.s -index 43a58335c8..8b93635f4f 100644 +index 9c7398451c..61b6cd91f6 100644 --- a/src/runtime/sys_linux_arm.s +++ b/src/runtime/sys_linux_arm.s @@ -11,7 +11,7 @@ @@ -83,7 +83,7 @@ index 43a58335c8..8b93635f4f 100644 MOVW runtime·vdsoClockgettimeSym(SB), R11 CMP $0, R11 diff --git a/src/runtime/sys_linux_arm64.s b/src/runtime/sys_linux_arm64.s -index 8b344be8f8..daf142fba0 100644 +index 2835b6ca1c..346ca9cfce 100644 --- a/src/runtime/sys_linux_arm64.s +++ b/src/runtime/sys_linux_arm64.s @@ -13,7 +13,7 @@ @@ -105,7 +105,7 @@ index 8b344be8f8..daf142fba0 100644 CBZ R2, fallback BL (R2) diff --git a/src/runtime/sys_linux_mips64x.s b/src/runtime/sys_linux_mips64x.s -index c45703d228..9842b596e7 100644 +index 33ed1050c2..59a5be179c 100644 --- a/src/runtime/sys_linux_mips64x.s +++ b/src/runtime/sys_linux_mips64x.s @@ -189,7 +189,7 @@ TEXT runtime·walltime(SB),NOSPLIT,$16 @@ -118,10 +118,10 @@ index c45703d228..9842b596e7 100644 MOVV $SYS_clock_gettime, R2 SYSCALL diff --git a/src/runtime/sys_linux_mipsx.s b/src/runtime/sys_linux_mipsx.s -index f362b0f3f1..5ab866e047 100644 +index 6e539fbc6f..55b2bf7156 100644 --- a/src/runtime/sys_linux_mipsx.s +++ b/src/runtime/sys_linux_mipsx.s -@@ -193,7 +193,7 @@ TEXT runtime·walltime(SB),NOSPLIT,$8-12 +@@ -194,7 +194,7 @@ TEXT runtime·walltime(SB),NOSPLIT,$8-12 RET TEXT runtime·nanotime(SB),NOSPLIT,$8-8 @@ -131,7 +131,7 @@ index f362b0f3f1..5ab866e047 100644 MOVW $SYS_clock_gettime, R2 SYSCALL diff --git a/src/runtime/sys_linux_ppc64x.s b/src/runtime/sys_linux_ppc64x.s -index 6835f434de..46618b2d91 100644 +index 13d23156bd..f67e5062aa 100644 --- a/src/runtime/sys_linux_ppc64x.s +++ b/src/runtime/sys_linux_ppc64x.s @@ -204,7 +204,7 @@ fallback: @@ -144,7 +144,7 @@ index 6835f434de..46618b2d91 100644 MOVD R1, R15 // R15 is unchanged by C code MOVD g_m(g), R21 // R21 = m diff --git a/src/runtime/sys_linux_s390x.s b/src/runtime/sys_linux_s390x.s -index c79ceea751..44e3258e60 100644 +index 58b36dff0a..cb92e9a402 100644 --- a/src/runtime/sys_linux_s390x.s +++ b/src/runtime/sys_linux_s390x.s @@ -180,7 +180,7 @@ TEXT runtime·walltime(SB),NOSPLIT,$16 @@ -157,5 +157,5 @@ index c79ceea751..44e3258e60 100644 MOVW $SYS_clock_gettime, R1 SYSCALL -- -2.20.1 +2.23.0 |