Skip to content

Commit 7f4cbcd

Browse files
authored
Merge pull request #195 from anywherelan/win7-build
build: add windows 7
2 parents 5f7e50b + ed75d7f commit 7f4cbcd

10 files changed

Lines changed: 262 additions & 164 deletions

File tree

.github/workflows/build-manual.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,47 @@ jobs:
165165
name: awl-release-build-macos
166166
path: awl/build/*
167167
if-no-files-found: error
168+
169+
build-windows7:
170+
runs-on: ubuntu-latest
171+
needs: [ build ]
172+
defaults:
173+
run:
174+
shell: bash
175+
steps:
176+
- name: Checkout awl code
177+
uses: actions/checkout@v6
178+
with:
179+
fetch-depth: 0 # also fetch tags for 'git describe'
180+
ref: ${{ github.event.inputs.awl_ref }}
181+
path: 'awl'
182+
- name: Retrieve saved static/ build
183+
uses: actions/download-artifact@v6
184+
with:
185+
name: awl-release-static
186+
path: awl/static
187+
188+
- name: Download and setup go-legacy-win7
189+
run: |
190+
mkdir -p /tmp/go-legacy-setup
191+
wget -P /tmp/go-legacy-setup https://github.com/thongtech/go-legacy-win7/releases/download/v1.25.7-1/go-legacy-win7-1.25.7-1.linux_amd64.tar.gz
192+
tar -xzf /tmp/go-legacy-setup/go-legacy-win7-1.25.7-1.linux_amd64.tar.gz -C /tmp/go-legacy-setup
193+
export GOROOT=/tmp/go-legacy-setup/go-legacy-win7
194+
export PATH=$GOROOT/bin:$PATH
195+
go version
196+
197+
- name: Build
198+
run: |
199+
cd awl
200+
mkdir build
201+
export GOROOT=/tmp/go-legacy-setup/go-legacy-win7
202+
export PATH=$GOROOT/bin:$PATH
203+
./build.sh release-windows7
204+
echo "ls build"
205+
ls -lah build
206+
- name: Upload build artifacts
207+
uses: actions/upload-artifact@v5
208+
with:
209+
name: awl-release-build-windows7
210+
path: awl/build/*
211+
if-no-files-found: error

build.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,20 @@ gobuild-windows() {
9191
done
9292
}
9393

94+
# build for windows 7 OS
95+
gobuild-windows7() {
96+
name="$1"
97+
for arch in 386 amd64; do
98+
install-wintun "$arch"
99+
archive_name="$name-windows7-$arch-$VERSION.zip"
100+
filename="$name.exe"
101+
CGO_ENABLED=0 GOOS=windows GOARCH=$arch go build -trimpath -ldflags "-s -w -H windowsgui -X github.com/anywherelan/awl/config.Version=${VERSION} -X github.com/anywherelan/awl/config.IsWindows7=true" -o "$filename"
102+
zip "$archive_name" "$filename"
103+
rm "$filename"
104+
mv "$archive_name" "$builddir"
105+
done
106+
}
107+
94108
# Commands (functions with "cross" build for different arch-es/OS-es)
95109

96110
# create new build dir, delete static dir
@@ -195,6 +209,13 @@ release-macos)
195209
cd "$awldir/cmd/awl-tray"
196210
gobuild-macos awl-tray
197211
;;
212+
release-windows7)
213+
download-wintun true
214+
cd "$awldir/cmd/awl"
215+
gobuild-windows7 awl
216+
cd "$awldir/cmd/awl-tray"
217+
gobuild-windows7 awl-tray
218+
;;
198219
web)
199220
build-web
200221
;;

cmd/awl-tray/go.mod

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ replace (
1010
)
1111

1212
require (
13-
fyne.io/systray v1.11.1-0.20250812065214-4856ac3adc3c
13+
fyne.io/systray v1.12.0
1414
github.com/GrigoryKrasnochub/updaterini v0.1.0
1515
github.com/Kodeworks/golang-image-ico v0.0.0-20141118225523-73f0f4cfade9
1616
github.com/anywherelan/awl v0.0.0-00010101000000-000000000000
1717
github.com/gen2brain/beeep v0.11.2
18-
github.com/godbus/dbus/v5 v5.2.0
19-
github.com/ipfs/go-log/v2 v2.9.0
20-
github.com/libp2p/go-libp2p v0.46.0
18+
github.com/godbus/dbus/v5 v5.2.2
19+
github.com/ipfs/go-log/v2 v2.9.1
20+
github.com/libp2p/go-libp2p v0.47.0
2121
github.com/ncruces/zenity v0.10.8
2222
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
2323
)
@@ -36,17 +36,18 @@ require (
3636
github.com/dchest/jsmin v0.0.0-20220218165748-59f39799265f // indirect
3737
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
3838
github.com/docker/libcontainer v2.2.1+incompatible // indirect
39+
github.com/dunglas/httpsfv v1.1.0 // indirect
3940
github.com/esiqveland/notify v0.13.3 // indirect
4041
github.com/filecoin-project/go-clock v0.1.0 // indirect
4142
github.com/flynn/noise v1.1.0 // indirect
42-
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
43+
github.com/gabriel-vasile/mimetype v1.4.12 // indirect
4344
github.com/go-logr/logr v1.4.3 // indirect
4445
github.com/go-logr/stdr v1.2.2 // indirect
4546
github.com/go-ole/go-ole v1.3.0 // indirect
4647
github.com/go-playground/locales v0.14.1 // indirect
4748
github.com/go-playground/universal-translator v0.18.1 // indirect
48-
github.com/go-playground/validator/v10 v10.29.0 // indirect
49-
github.com/google/go-querystring v1.1.0 // indirect
49+
github.com/go-playground/validator/v10 v10.30.1 // indirect
50+
github.com/google/go-querystring v1.2.0 // indirect
5051
github.com/google/gopacket v1.1.19 // indirect
5152
github.com/google/uuid v1.6.0 // indirect
5253
github.com/gorilla/websocket v1.5.3 // indirect
@@ -72,20 +73,20 @@ require (
7273
github.com/libp2p/go-cidranger v1.1.0 // indirect
7374
github.com/libp2p/go-flow-metrics v0.3.0 // indirect
7475
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
75-
github.com/libp2p/go-libp2p-kad-dht v0.36.0 // indirect
76+
github.com/libp2p/go-libp2p-kad-dht v0.37.1 // indirect
7677
github.com/libp2p/go-libp2p-kbucket v0.8.0 // indirect
7778
github.com/libp2p/go-libp2p-record v0.3.1 // indirect
7879
github.com/libp2p/go-libp2p-routing-helpers v0.7.5 // indirect
7980
github.com/libp2p/go-msgio v0.3.0 // indirect
80-
github.com/libp2p/go-netroute v0.3.0 // indirect
81+
github.com/libp2p/go-netroute v0.4.0 // indirect
8182
github.com/libp2p/go-reuseport v0.4.0 // indirect
8283
github.com/libp2p/go-yamux/v5 v5.0.1 // indirect
8384
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
8485
github.com/mattn/go-colorable v0.1.14 // indirect
8586
github.com/mattn/go-isatty v0.0.20 // indirect
8687
github.com/mattn/go-runewidth v0.0.9 // indirect
8788
github.com/mdp/qrterminal/v3 v3.2.1 // indirect
88-
github.com/miekg/dns v1.1.69 // indirect
89+
github.com/miekg/dns v1.1.72 // indirect
8990
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
9091
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
9192
github.com/milosgajdos/tenus v0.0.3 // indirect
@@ -130,8 +131,8 @@ require (
130131
github.com/prometheus/common v0.66.1 // indirect
131132
github.com/prometheus/procfs v0.17.0 // indirect
132133
github.com/quic-go/qpack v0.6.0 // indirect
133-
github.com/quic-go/quic-go v0.57.1 // indirect
134-
github.com/quic-go/webtransport-go v0.9.0 // indirect
134+
github.com/quic-go/quic-go v0.59.0 // indirect
135+
github.com/quic-go/webtransport-go v0.10.0 // indirect
135136
github.com/randall77/makefat v0.0.0-20210315173500-7ddd0e42c844 // indirect
136137
github.com/russross/blackfriday/v2 v2.1.0 // indirect
137138
github.com/sergeymakinen/go-bmp v1.0.0 // indirect
@@ -145,9 +146,9 @@ require (
145146
github.com/wlynxg/anet v0.0.5 // indirect
146147
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
147148
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
148-
go.opentelemetry.io/otel v1.38.0 // indirect
149-
go.opentelemetry.io/otel/metric v1.38.0 // indirect
150-
go.opentelemetry.io/otel/trace v1.38.0 // indirect
149+
go.opentelemetry.io/otel v1.39.0 // indirect
150+
go.opentelemetry.io/otel/metric v1.39.0 // indirect
151+
go.opentelemetry.io/otel/trace v1.39.0 // indirect
151152
go.uber.org/dig v1.19.0 // indirect
152153
go.uber.org/fx v1.24.0 // indirect
153154
go.uber.org/mock v0.5.2 // indirect
@@ -156,23 +157,23 @@ require (
156157
go.yaml.in/yaml/v2 v2.4.3 // indirect
157158
go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect
158159
go4.org/netipx v0.0.0-20231129151722-fdeea329fbba // indirect
159-
golang.org/x/crypto v0.47.0 // indirect
160-
golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 // indirect
160+
golang.org/x/crypto v0.48.0 // indirect
161+
golang.org/x/exp v0.0.0-20260112195511-716be5621a96 // indirect
161162
golang.org/x/image v0.25.0 // indirect
162-
golang.org/x/mod v0.32.0 // indirect
163-
golang.org/x/net v0.49.0 // indirect
163+
golang.org/x/mod v0.33.0 // indirect
164+
golang.org/x/net v0.50.0 // indirect
164165
golang.org/x/sync v0.19.0 // indirect
165-
golang.org/x/sys v0.40.0 // indirect
166-
golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2 // indirect
167-
golang.org/x/term v0.39.0 // indirect
168-
golang.org/x/text v0.33.0 // indirect
166+
golang.org/x/sys v0.41.0 // indirect
167+
golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4 // indirect
168+
golang.org/x/term v0.40.0 // indirect
169+
golang.org/x/text v0.34.0 // indirect
169170
golang.org/x/time v0.14.0 // indirect
170-
golang.org/x/tools v0.41.0 // indirect
171+
golang.org/x/tools v0.42.0 // indirect
171172
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
172173
golang.zx2c4.com/wireguard v0.0.0-20250521234502-f333402bd9cb // indirect
173174
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
174-
gonum.org/v1/gonum v0.16.0 // indirect
175-
google.golang.org/protobuf v1.36.10 // indirect
175+
gonum.org/v1/gonum v0.17.0 // indirect
176+
google.golang.org/protobuf v1.36.11 // indirect
176177
lukechampine.com/blake3 v1.4.1 // indirect
177178
rsc.io/qr v0.2.0 // indirect
178179
)

0 commit comments

Comments
 (0)