Skip to content

Commit aea6c51

Browse files
alexrpdotnet-bot
andauthored
A bunch of improvements to native library builds (#2049)
* Native: Add CMake toolchain files for Linux cross-compilation. These will mainly be used in CI workflows, so they're specific to Ubuntu 18.04 and 22.04. * Native/Assimp: Build for linux-arm, linux-arm64, and win-arm64. Also clean up the build script. * Native/Assimp: Don't build tests. * Native/Assimp: Strip Linux/macOS binaries after build. * Native/GLFW: Build for linux-arm and linux-arm64. Also clean up the build script. * Native/GLFW: Don't build examples, tests, and docs. * Native/GLFW: Strip Linux/macOS binaries after build. * Native/OpenAL Soft: Add submodule tracking 1.23.1. * Native/OpenAL Soft: Add build script and workflow. * Native/SDL: Build for linux-arm and linux-arm64. Also clean up the Linux/Windows build script logic. * Native/SDL: Drop linux-x86 support. This has never been officially supported by .NET. * Native/SDL: Build with dynamically-loaded Wayland and X11 support. * Native/SDL: Disable assertions when building on Windows/Linux. * Native/SDL: Don't build static libraries on Linux. * Native/SDL: Strip macOS binaries after build. * Native/Shaderc: Build for linux-arm. * Native/Shaderc: Drop linux-x86 support. This has never been officially supported by .NET. * Native/Shaderc: Build with -O3 instead of -Os. * Native/SPIRV-Cross: Build for linux-arm. * Native/SPIRV-Cross: Drop linux-x86 support. This has never been officially supported by .NET. * Native/SPIRV-Cross: Build with -O3 instead of -Os. * Native/SPIRV-Reflect: Build for linux-arm. * Native/SPIRV-Reflect: Drop linux-x86 support. This has never been officially supported by .NET. * Native/SPIRV-Reflect: Build with -O3 instead of -Os. * Native/SwiftShader: Build for linux-arm, linux-arm64, osx-arm64, and win-x86. Also clean up the build script. * Native/SwiftShader: Don't build tests. * Native/SwiftShader: Strip Linux/macOS binaries after build. * Native/Vkd3d: Build with -O3 instead of -Os. * Native/Vulkan Loader: Build for linux-arm64, osx-arm64, and win-x86. Also clean up the build script. * Native/Vulkan Loader: Strip Linux/macOS binaries after build. * Native/wgpu-native: Build for linux-arm and linux-arm64. Also clean up the build script to be table-driven. * Native/wgpu-native: Drop linux-x86 support. This has never been officially supported by .NET. * New binaries for GLFW on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for Wgpu on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for GLFW on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for SPIRV-Reflect on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for GLFW on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for Vulkan Loader on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for GLFW on Microsoft Windows 10.0.20348 * New binaries for Wgpu on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for SDL2 on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for Assimp on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for SDL2 on Microsoft Windows 10.0.20348 * New binaries for GLFW on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for GLFW on Microsoft Windows 10.0.20348 * New binaries for SDL2 on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for Wgpu on Microsoft Windows 10.0.20348 * New binaries for SPIRV-Cross on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for Assimp on Microsoft Windows 10.0.20348 * New binaries for Vkd3d on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for MoltenVK on Darwin 22.6.0 Darwin Kernel Version 22.6.0: Mon Feb 19 19:42:47 PST 2024; root:xnu-8796.141.3.704.6~1/RELEASE_ARM64_VMAPPLE * New binaries for Vulkan Loader on Microsoft Windows 10.0.20348 * New binaries for Assimp on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for DXVK on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for SwiftShader on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for SwiftShader on Microsoft Windows 10.0.20348 * New binaries for Shaderc on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for SwiftShader on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * Native/GLFW: Fix incorrect library file name in package. * New binaries for GLFW on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for GLFW on Microsoft Windows 10.0.20348 * Native/OpenAL Soft: Explicitly disable sndio support. The sndio backend takes a hard dependency on libsndio.so, unlike most other backends which load libraries dynamically. We don't want our libopenal.so to require users to install sndio. * Native/OpenAL Soft: Ensure that D-Bus libraries are installed in CI. This allows the build to pick them up and enable support. * Native/OpenAL Soft: Fix library/PR name. * Native/OpenAL Soft: Only install JACK for amd64 in the workflow. This package is not multiarch-compatible in 22.04, so prioritize amd64. * Native/SDL: Only install JACK for amd64 in the workflow. This package is not multiarch-compatible in 22.04, so prioritize amd64. * New binaries for SDL2 on Darwin 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:50 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_VMAPPLE * New binaries for SDL2 on Microsoft Windows 10.0.20348 * New binaries for OpenALSoft on Microsoft Windows 10.0.20348 * New binaries for SDL2 on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * New binaries for OpenALSoft on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SMP Sat Mar 9 04:50:38 UTC 2024 * Native/Workflows: Add comments explaining APT sources. --------- Co-authored-by: The Silk.NET Automaton <9011267+dotnet-bot@users.noreply.github.com>
1 parent 9c42984 commit aea6c51

File tree

133 files changed

+811
-380
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+811
-380
lines changed

.github/workflows/assimp.yml

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,37 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: ubuntu-latest
20+
- os: ubuntu-22.04
2121
name: Linux
2222
nuke_invoke: ./build.sh
2323
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y xorg-dev
26-
- os: windows-latest
24+
# We need to adjust APT sources for multiarch. Use the ones corresponding to
25+
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
26+
# for armhf and arm64.
27+
sudo tee /etc/apt/sources.list << EOF
28+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main universe
29+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main universe
30+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main universe
31+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main universe
32+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main universe
33+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main universe
34+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main universe
35+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main universe
36+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main universe
37+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main universe
38+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main universe
39+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main universe
40+
EOF
41+
sudo dpkg --add-architecture arm64
42+
sudo dpkg --add-architecture armhf
43+
sudo apt update
44+
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
45+
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
46+
- os: windows-2022
2747
name: Windows
2848
nuke_invoke: ./build.cmd
2949
extras: ""
30-
- os: macos-latest
50+
- os: macos-14
3151
name: Darwin
3252
nuke_invoke: ./build.sh
3353
extras: ""
@@ -41,7 +61,7 @@ jobs:
4161
run: |
4262
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/Assimp
4363
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
44-
git config --local user.name "The Silk.NET Automaton"
64+
git config --local user.name "The Silk.NET Automaton"
4565
- name: Extra prerequisites
4666
run: |
4767
echo running extras

.github/workflows/glfw.yml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,41 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: ubuntu-latest
20+
- os: ubuntu-22.04
2121
name: Linux
2222
nuke_invoke: ./build.sh
2323
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y xorg-dev libwayland-dev libxkbcommon-dev
26-
- os: windows-latest
24+
# We need to adjust APT sources for multiarch. Use the ones corresponding to
25+
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
26+
# for armhf and arm64.
27+
sudo tee /etc/apt/sources.list << EOF
28+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
29+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
30+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
31+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
32+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
33+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
34+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
35+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
36+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
37+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
38+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
39+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
40+
EOF
41+
sudo dpkg --add-architecture arm64
42+
sudo dpkg --add-architecture armhf
43+
sudo apt update
44+
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
45+
sudo apt install -y extra-cmake-modules pkg-config wayland-protocols
46+
for arch in amd64 arm64 armhf; do
47+
sudo apt install -y libwayland-dev:$arch libxcursor-dev:$arch libxi-dev:$arch
48+
sudo apt install -y libxinerama-dev:$arch libxrandr-dev:$arch libxkbcommon-dev:$arch
49+
done
50+
- os: windows-2022
2751
name: Windows
2852
nuke_invoke: ./build.cmd
2953
extras: ""
30-
- os: macos-latest
54+
- os: macos-14
3155
name: Darwin
3256
nuke_invoke: ./build.sh
3357
extras: ""
@@ -41,7 +65,7 @@ jobs:
4165
run: |
4266
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/GLFW
4367
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
44-
git config --local user.name "The Silk.NET Automaton"
68+
git config --local user.name "The Silk.NET Automaton"
4569
- name: Extra prerequisites
4670
run: |
4771
echo running extras

.github/workflows/openal-soft.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: OpenAL Soft
2+
on:
3+
push:
4+
branches-ignore:
5+
- "ci/**"
6+
- "develop/**"
7+
- "main"
8+
paths:
9+
- build/submodules/openal-soft
10+
- build/nuke/Native/Core.cs
11+
- build/nuke/Native/OpenALSoft.cs
12+
- .github/workflows/openal-soft.yml
13+
jobs:
14+
Build:
15+
if: github.repository == 'dotnet/Silk.NET'
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
env:
20+
- os: ubuntu-22.04
21+
name: Linux
22+
nuke_invoke: ./build.sh
23+
extras: |
24+
# We need to adjust APT sources for multiarch. Use the ones corresponding to
25+
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
26+
# for armhf and arm64.
27+
sudo tee /etc/apt/sources.list << EOF
28+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
29+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
30+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
31+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
32+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
33+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
34+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
35+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
36+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
37+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
38+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
39+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
40+
EOF
41+
sudo dpkg --add-architecture arm64
42+
sudo dpkg --add-architecture armhf
43+
sudo apt update
44+
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
45+
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
46+
for arch in amd64 arm64 armhf; do
47+
sudo apt install -y libasound2-dev:$arch libpulse-dev:$arch libsoundio-dev:$arch
48+
sudo apt install -y libsndfile1-dev:$arch libmysofa-dev:$arch qtbase5-dev:$arch
49+
sudo apt install -y libdbus-1-dev:$arch
50+
done
51+
# These packages aren't multiarch-compatible in 22.04, so we prioritize amd64 for these.
52+
sudo apt install -y libjack-dev portaudio19-dev
53+
- os: windows-2022
54+
name: Windows
55+
nuke_invoke: ./build.cmd
56+
extras: ""
57+
- os: macos-14
58+
name: Darwin
59+
nuke_invoke: ./build.sh
60+
extras: ""
61+
name: ${{ matrix.env.name }} Build
62+
runs-on: ${{ matrix.env.os }}
63+
steps:
64+
- uses: actions/checkout@v2
65+
with:
66+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
67+
- name: Checkout submodules, configure git.
68+
run: |
69+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/openal-soft
70+
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
71+
git config --local user.name "The Silk.NET Automaton"
72+
- name: Extra prerequisites
73+
run: |
74+
echo running extras
75+
${{ matrix.env.extras }}
76+
- name: Setup .NET 6.0 and .NET 7.0
77+
uses: actions/setup-dotnet@v1
78+
with:
79+
dotnet-version: |
80+
6.0.201
81+
7.0.*
82+
- name: Build OpenAL Soft
83+
run: ${{ matrix.env.nuke_invoke }} openalsoft
84+
env:
85+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
86+

.github/workflows/sdl2.yml

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: ubuntu-latest
20+
- os: ubuntu-22.04
2121
name: Linux
2222
nuke_invoke: ./build.sh
23-
- os: windows-latest
23+
- os: windows-2022
2424
name: Windows
2525
nuke_invoke: ./build.cmd
2626
extras: |
2727
pwsh build\Install-WindowsSDK.ps1
28-
- os: macos-latest
28+
- os: macos-14
2929
name: Darwin
3030
nuke_invoke: ./build.sh
3131
extras: ""
@@ -56,8 +56,39 @@ jobs:
5656
uses: Beyley/run-as-1804@239b211a2ca687388b6251d6dab22cb90ac0391d
5757
with:
5858
command: |
59+
# We need to adjust APT sources for multiarch. Use the ones corresponding to
60+
# Ubuntu 18.04 with appropriate `arch` values. ports.ubuntu.com is required
61+
# for armhf and arm64.
62+
tee /etc/apt/sources.list << EOF
63+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
64+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe
65+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
66+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
67+
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic main multiverse restricted universe
68+
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-backports main multiverse restricted universe
69+
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-security main multiverse restricted universe
70+
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-updates main multiverse restricted universe
71+
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic main multiverse restricted universe
72+
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe
73+
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
74+
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
75+
EOF
76+
dpkg --add-architecture arm64
77+
dpkg --add-architecture armhf
5978
apt update
60-
apt install -y python3 curl wget build-essential git make autoconf gcc-multilib g++-multilib automake libtool pkg-config ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libsamplerate0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev
79+
apt install -y gcc gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
80+
apt install -y g++ g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
81+
apt install -y automake build-essential curl git libtool pkg-config python3 wget
82+
for arch in amd64 arm64 armhf; do
83+
apt install -y libasound2-dev:$arch libpulse-dev:$arch libaudio-dev:$arch
84+
apt install -y libsndio-dev:$arch libsamplerate0-dev:$arch libx11-dev:$arch libxext-dev:$arch
85+
apt install -y libxrandr-dev:$arch libxcursor-dev:$arch libxfixes-dev:$arch libxi-dev:$arch
86+
apt install -y libxss-dev:$arch libwayland-dev:$arch libxkbcommon-dev:$arch libdrm-dev:$arch
87+
apt install -y libgbm-dev:$arch libgl1-mesa-dev:$arch libgles2-mesa-dev:$arch libegl1-mesa-dev:$arch
88+
apt install -y libdbus-1-dev:$arch libibus-1.0-dev:$arch libudev-dev:$arch
89+
done
90+
# This package isn't multiarch-compatible in 22.04, so we prioritize amd64 for this.
91+
apt install -y libjack-dev
6192
6293
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
6394
chmod +x ./dotnet-install.sh
@@ -72,6 +103,7 @@ jobs:
72103
73104
# mark workspace as safe
74105
git config --global --add safe.directory /github/workspace
106+
git config --global --add safe.directory /github/workspace/build/submodules/SDL
75107
76108
${{ matrix.env.nuke_invoke }} SDL2
77109
env:
@@ -82,5 +114,5 @@ jobs:
82114
run: ${{ matrix.env.nuke_invoke }} SDL2
83115
env:
84116
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
85-
117+
86118

.github/workflows/shaderc.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ jobs:
2020
- os: ubuntu-latest
2121
name: Linux
2222
nuke_invoke: ./build.sh
23-
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y build-essential binutils-aarch64-linux-gnu
2623
name: ${{ matrix.env.name }} Build
2724
runs-on: ${{ matrix.env.os }}
2825
steps:

.github/workflows/spirv-cross.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ jobs:
2020
- os: ubuntu-latest
2121
name: Linux
2222
nuke_invoke: ./build.sh
23-
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y build-essential
2623
name: ${{ matrix.env.name }} Build
2724
runs-on: ${{ matrix.env.os }}
2825
steps:

.github/workflows/spirv-reflect.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,6 @@ jobs:
2020
- os: ubuntu-latest
2121
name: Linux
2222
nuke_invoke: ./build.sh
23-
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y build-essential
2623
name: ${{ matrix.env.name }} Build
2724
runs-on: ${{ matrix.env.os }}
2825
steps:

.github/workflows/swiftshader.yml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,40 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: ubuntu-latest
20+
- os: ubuntu-22.04
2121
name: Linux
2222
nuke_invoke: ./build.sh
2323
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y libx11-xcb-dev
26-
- os: windows-latest
24+
# We need to adjust APT sources for multiarch. Use the ones corresponding to
25+
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
26+
# for armhf and arm64.
27+
sudo tee /etc/apt/sources.list << EOF
28+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
29+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
30+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
31+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
32+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
33+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
34+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
35+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
36+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
37+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
38+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
39+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
40+
EOF
41+
sudo dpkg --add-architecture arm64
42+
sudo dpkg --add-architecture armhf
43+
sudo apt update
44+
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
45+
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
46+
for arch in amd64 arm64 armhf; do
47+
sudo apt install -y libx11-xcb-dev:$arch
48+
done
49+
- os: windows-2022
2750
name: Windows
2851
nuke_invoke: ./build.cmd
2952
extras: ""
30-
- os: macos-latest
53+
- os: macos-14
3154
name: Darwin
3255
nuke_invoke: ./build.sh
3356
extras: ""
@@ -41,7 +64,7 @@ jobs:
4164
run: |
4265
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/SwiftShader
4366
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
44-
git config --local user.name "The Silk.NET Automaton"
67+
git config --local user.name "The Silk.NET Automaton"
4568
- name: Extra prerequisites
4669
run: |
4770
echo running extras

0 commit comments

Comments
 (0)