Skip to content

Commit c6cb643

Browse files
committed
Change SDL Linux native build to use Docker so that it matches OpenAL's native build process
1 parent c62266e commit c6cb643

2 files changed

Lines changed: 50 additions & 56 deletions

File tree

sources/SDL/Native/build-linux-arm.sh

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,32 @@
22

33
# Dependencies
44
if [[ ! -z ${GITHUB_ACTIONS+x} ]]; then
5-
../../../eng/native/buildsystem/download-zig.py
6-
export PATH="$PATH:$(readlink -f "../../../eng/native/buildsystem/zig")"
5+
if [[ -z ${SILKDOTNET_DockerBuild+x} ]]; then
6+
# Enter Debian container for multiarch packages
7+
docker="docker"
8+
if command -v podman >/dev/null 2>&1; then
9+
docker="podman"
10+
fi
11+
$docker run --platform linux/amd64 -e SILKDOTNET_DockerBuild=1 -e GITHUB_ACTIONS=1 -v $(readlink -f ../../../):/data debian bash -c "cd /data/sources/OpenAL/Soft.Native && ./build-linux-arm64.sh"
12+
exit
13+
else
14+
../../../eng/native/buildsystem/download-zig.py
15+
export PATH="$PATH:$(readlink -f "../../../eng/native/buildsystem/zig")"
716

8-
# Enable ports repository
9-
sudo apt-get update
10-
sudo apt install lsb-release
11-
grep -q "^Architectures:" /etc/apt/sources.list.d/ubuntu.sources || sudo sed -i "/^Signed-By: /a Architectures: amd64" /etc/apt/sources.list.d/ubuntu.sources
12-
sudo tee /etc/apt/sources.list.d/ubuntu-ports.sources <<EOF
13-
Types: deb
14-
URIs: http://ports.ubuntu.com/ubuntu-ports/
15-
Suites: $(lsb_release -sc) $(lsb_release -sc)-updates $(lsb_release -sc)-backports $(lsb_release -sc)-security
16-
Components: main restricted universe multiverse
17-
Architectures: armhf
18-
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
19-
EOF
20-
21-
# Dependency list is from https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies
22-
sudo dpkg --add-architecture armhf
23-
sudo apt-get update
24-
sudo apt-get install -y \
25-
git cmake make build-essential \
26-
pkg-config ninja-build gnome-desktop-testing \
27-
libglib2.0-dev-bin \
28-
libasound2-dev:armhf libpulse-dev:armhf \
29-
libaudio-dev:armhf libfribidi-dev:armhf libjack-dev:armhf libsndio-dev:armhf libx11-dev:armhf libxext-dev:armhf \
30-
libxrandr-dev:armhf libxcursor-dev:armhf libxfixes-dev:armhf libxi-dev:armhf libxss-dev:armhf libxtst-dev:armhf \
31-
libxkbcommon-dev:armhf libdrm-dev:armhf libgbm-dev:armhf libgl1-mesa-dev:armhf libgles2-mesa-dev:armhf \
32-
libegl1-mesa-dev:armhf libdbus-1-dev:armhf libibus-1.0-dev:armhf libudev-dev:armhf libthai-dev:armhf \
33-
libpipewire-0.3-dev:armhf libwayland-dev:armhf libdecor-0-dev:armhf liburing-dev:armhf
17+
# Dependency list is from https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies
18+
sudo dpkg --add-architecture armhf
19+
sudo apt-get update
20+
sudo apt-get install -y \
21+
git cmake make build-essential \
22+
pkg-config ninja-build gnome-desktop-testing \
23+
libglib2.0-dev-bin \
24+
libasound2-dev:armhf libpulse-dev:armhf \
25+
libaudio-dev:armhf libfribidi-dev:armhf libjack-dev:armhf libsndio-dev:armhf libx11-dev:armhf libxext-dev:armhf \
26+
libxrandr-dev:armhf libxcursor-dev:armhf libxfixes-dev:armhf libxi-dev:armhf libxss-dev:armhf libxtst-dev:armhf \
27+
libxkbcommon-dev:armhf libdrm-dev:armhf libgbm-dev:armhf libgl1-mesa-dev:armhf libgles2-mesa-dev:armhf \
28+
libegl1-mesa-dev:armhf libdbus-1-dev:armhf libibus-1.0-dev:armhf libudev-dev:armhf libthai-dev:armhf \
29+
libpipewire-0.3-dev:armhf libwayland-dev:armhf libdecor-0-dev:armhf liburing-dev:armhf
30+
fi
3431
fi
3532

3633
# Submodule

sources/SDL/Native/build-linux-arm64.sh

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,32 @@
22

33
# Dependencies
44
if [[ ! -z ${GITHUB_ACTIONS+x} ]]; then
5-
../../../eng/native/buildsystem/download-zig.py
6-
export PATH="$PATH:$(readlink -f "../../../eng/native/buildsystem/zig")"
5+
if [[ -z ${SILKDOTNET_DockerBuild+x} ]]; then
6+
# Enter Debian container for multiarch packages
7+
docker="docker"
8+
if command -v podman >/dev/null 2>&1; then
9+
docker="podman"
10+
fi
11+
$docker run --platform linux/amd64 -e SILKDOTNET_DockerBuild=1 -e GITHUB_ACTIONS=1 -v $(readlink -f ../../../):/data debian bash -c "cd /data/sources/OpenAL/Soft.Native && ./build-linux-arm64.sh"
12+
exit
13+
else
14+
../../../eng/native/buildsystem/download-zig.py
15+
export PATH="$PATH:$(readlink -f "../../../eng/native/buildsystem/zig")"
716

8-
# Enable ports repository
9-
sudo apt-get update
10-
sudo apt install lsb-release
11-
grep -q "^Architectures:" /etc/apt/sources.list.d/ubuntu.sources || sudo sed -i "/^Signed-By: /a Architectures: amd64" /etc/apt/sources.list.d/ubuntu.sources
12-
sudo tee /etc/apt/sources.list.d/ubuntu-ports.sources <<EOF
13-
Types: deb
14-
URIs: http://ports.ubuntu.com/ubuntu-ports/
15-
Suites: $(lsb_release -sc) $(lsb_release -sc)-updates $(lsb_release -sc)-backports $(lsb_release -sc)-security
16-
Components: main restricted universe multiverse
17-
Architectures: arm64
18-
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
19-
EOF
20-
21-
# Dependency list is from https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies
22-
sudo dpkg --add-architecture arm64
23-
sudo apt-get update
24-
sudo apt-get install -y \
25-
git cmake make build-essential \
26-
pkg-config ninja-build gnome-desktop-testing \
27-
libglib2.0-dev-bin \
28-
libasound2-dev:arm64 libpulse-dev:arm64 \
29-
libaudio-dev:arm64 libfribidi-dev:arm64 libjack-dev:arm64 libsndio-dev:arm64 libx11-dev:arm64 libxext-dev:arm64 \
30-
libxrandr-dev:arm64 libxcursor-dev:arm64 libxfixes-dev:arm64 libxi-dev:arm64 libxss-dev:arm64 libxtst-dev:arm64 \
31-
libxkbcommon-dev:arm64 libdrm-dev:arm64 libgbm-dev:arm64 libgl1-mesa-dev:arm64 libgles2-mesa-dev:arm64 \
32-
libegl1-mesa-dev:arm64 libdbus-1-dev:arm64 libibus-1.0-dev:arm64 libudev-dev:arm64 libthai-dev:arm64 \
33-
libpipewire-0.3-dev:arm64 libwayland-dev:arm64 libdecor-0-dev:arm64 liburing-dev:arm64
17+
# Dependency list is from https://github.com/libsdl-org/SDL/blob/main/docs/README-linux.md#build-dependencies
18+
sudo dpkg --add-architecture arm64
19+
sudo apt-get update
20+
sudo apt-get install -y \
21+
git cmake make build-essential \
22+
pkg-config ninja-build gnome-desktop-testing \
23+
libglib2.0-dev-bin \
24+
libasound2-dev:arm64 libpulse-dev:arm64 \
25+
libaudio-dev:arm64 libfribidi-dev:arm64 libjack-dev:arm64 libsndio-dev:arm64 libx11-dev:arm64 libxext-dev:arm64 \
26+
libxrandr-dev:arm64 libxcursor-dev:arm64 libxfixes-dev:arm64 libxi-dev:arm64 libxss-dev:arm64 libxtst-dev:arm64 \
27+
libxkbcommon-dev:arm64 libdrm-dev:arm64 libgbm-dev:arm64 libgl1-mesa-dev:arm64 libgles2-mesa-dev:arm64 \
28+
libegl1-mesa-dev:arm64 libdbus-1-dev:arm64 libibus-1.0-dev:arm64 libudev-dev:arm64 libthai-dev:arm64 \
29+
libpipewire-0.3-dev:arm64 libwayland-dev:arm64 libdecor-0-dev:arm64 liburing-dev:arm64
30+
fi
3431
fi
3532

3633
# Submodule

0 commit comments

Comments
 (0)