build: Add 32-bit Windows support
This commit is contained in:
10
.github/workflows/hydrun.yaml
vendored
10
.github/workflows/hydrun.yaml
vendored
@@ -18,11 +18,17 @@ jobs:
|
||||
flags: -e '--privileged'
|
||||
cmd: ./Hydrunfile
|
||||
dst: out/*
|
||||
- id: stfs-windows
|
||||
- id: stfs-windows-x86_64
|
||||
src: .
|
||||
os: fedora:35
|
||||
flags: -e '--privileged'
|
||||
cmd: ./Hydrunfile windows
|
||||
cmd: ./Hydrunfile windows x86_64
|
||||
dst: out/*
|
||||
- id: stfs-windows-i686
|
||||
src: .
|
||||
os: fedora:35
|
||||
flags: -e '--privileged'
|
||||
cmd: ./Hydrunfile windows i686
|
||||
dst: out/*
|
||||
|
||||
steps:
|
||||
|
||||
22
Hydrunfile
22
Hydrunfile
@@ -12,24 +12,34 @@ if [ "$1" = "windows" ]; then
|
||||
curl -L -o /tmp/msys2.exe 'https://github.com/msys2/msys2-installer/releases/download/2021-11-30/msys2-base-x86_64-20211130.sfx.exe'
|
||||
wine64 /tmp/msys2.exe x -y -oC:/
|
||||
|
||||
# Fix MSYS2 TLS
|
||||
# Fix MSYS2
|
||||
sed -i ~/.wine/drive_c/msys64/etc/pacman.conf -e 's/SigLevel = Required/SigLevel = Never/g'
|
||||
cat /etc/pki/tls/certs/ca-bundle.crt >~/.wine/drive_c/msys64/usr/ssl/certs/ca-bundle.crt
|
||||
cat /etc/pki/tls/certs/ca-bundle.trust.crt >~/.wine/drive_c/msys64/usr/ssl/certs/ca-bundle.trust.crt
|
||||
|
||||
# Install GCC and Go
|
||||
export WINEPATH='c:\msys64\usr\bin'
|
||||
wine64 bash.exe -c 'pacman --verbose --debug --noconfirm --ignore pacman --needed -S base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-go'
|
||||
|
||||
# Copy source code to directory on C drive
|
||||
mkdir -p ~/.wine/drive_c/users/root/Documents/stfs
|
||||
cp -rf . ~/.wine/drive_c/users/root/Documents/stfs
|
||||
mkdir -p ~/.wine/drive_c/users/root/go
|
||||
|
||||
wine64 bash.exe -c 'export PATH="$PATH:/mingw64/bin" && cd /c/users/root/Documents/stfs && export GOPATH="/c/users/root/go" && export GOROOT="/mingw64/lib/go" && go build -o out/stfs.windows-x86_64 ./cmd/stfs'
|
||||
if [ "$2" = "x86_64" ]; then
|
||||
# Install GCC and Go
|
||||
wine64 bash.exe -c 'pacman --verbose --debug --noconfirm --ignore pacman --needed -S base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-go'
|
||||
|
||||
# Build
|
||||
wine64 bash.exe -c 'export PATH="$PATH:/mingw64/bin" && cd /c/users/root/Documents/stfs && export GOPATH="/c/users/root/go" && export GOROOT="/mingw64/lib/go" export GOARCH=amd64 && go build -o out/stfs.windows-x86_64.exe ./cmd/stfs'
|
||||
else
|
||||
# Install GCC and Go
|
||||
wine64 bash.exe -c 'pacman --verbose --debug --noconfirm --ignore pacman --needed -S base-devel mingw-w64-i686-gcc mingw-w64-i686-go'
|
||||
|
||||
# Build
|
||||
wine64 bash.exe -c 'export PATH="$PATH:/mingw32/bin" && cd /c/users/root/Documents/stfs && export GOPATH="/c/users/root/go" && export GOROOT="/mingw32/lib/go" && export GOARCH=386 && go build -o out/stfs.windows-i686.exe ./cmd/stfs'
|
||||
fi
|
||||
|
||||
# Copy binaries to staging directory
|
||||
mkdir -p out
|
||||
cp -f ~/.wine/drive_c/users/root/Documents/stfs/out/* out
|
||||
yes | cp -f ~/.wine/drive_c/users/root/Documents/stfs/out/* out
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user