Skip to content

Commit f3910cc

Browse files
committed
Update bundled SDL to 3.4.18
Update ReadTheDocs to Ubuntu 26.04, fetch SDL from APT Add newer SDL dependencies
1 parent 568e304 commit f3910cc

5 files changed

Lines changed: 29 additions & 31 deletions

File tree

‎.github/workflows/python-package.yml‎

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ defaults:
1818

1919
env:
2020
git-depth: 0 # Depth to search for tags.
21-
sdl-version: "3.2.16" # SDL version to bundle
21+
sdl-version: "3.4.18" # SDL version to bundle
2222

2323
jobs:
2424
ruff:
@@ -53,7 +53,7 @@ jobs:
5353
runs-on: ubuntu-26.04-arm
5454
timeout-minutes: 5
5555
steps:
56-
- uses: libsdl-org/setup-sdl@1894460666e4fe0c6603ea0cce5733f1cca56ba1
56+
- uses: libsdl-org/setup-sdl@v1.0.1
5757
with:
5858
install-linux-dependencies: true
5959
build-type: "Debug"
@@ -143,7 +143,7 @@ jobs:
143143
run: |
144144
sudo apt-get update
145145
sudo apt-get install xvfb
146-
- uses: libsdl-org/setup-sdl@1894460666e4fe0c6603ea0cce5733f1cca56ba1
146+
- uses: libsdl-org/setup-sdl@v1.0.1
147147
if: runner.os == 'Linux'
148148
with:
149149
install-linux-dependencies: true
@@ -178,25 +178,21 @@ jobs:
178178

179179
test-docs:
180180
needs: [ruff, mypy, sdist]
181-
runs-on: ubuntu-24.04
181+
runs-on: ubuntu-26.04
182182
timeout-minutes: 15
183183
steps:
184-
- uses: libsdl-org/setup-sdl@1894460666e4fe0c6603ea0cce5733f1cca56ba1
185-
if: runner.os == 'Linux'
186-
with:
187-
install-linux-dependencies: true
188-
build-type: "Debug"
189-
version: ${{ env.sdl-version }}
184+
- name: APT update
185+
run: sudo apt-get update
186+
- name: Install SDL
187+
run: sudo apt-get install libsdl3-dev
190188
- uses: actions/checkout@v7
191189
with:
192190
persist-credentials: false
193191
fetch-depth: ${{ env.git-depth }}
194192
- name: Checkout submodules
195193
run: git submodule update --init --recursive --depth 1
196194
- name: Install Python dependencies
197-
run: |
198-
python -m pip install --upgrade pip
199-
pip install -r docs/requirements.txt
195+
run: pip install -r docs/requirements.txt
200196
- name: Install package
201197
run: pip install -e .
202198
env:
@@ -226,7 +222,7 @@ jobs:
226222
- name: Install Python dependencies
227223
run: |
228224
python -m pip install --upgrade pip tox
229-
- uses: libsdl-org/setup-sdl@1894460666e4fe0c6603ea0cce5733f1cca56ba1
225+
- uses: libsdl-org/setup-sdl@v1.0.1
230226
if: runner.os == 'Linux'
231227
with:
232228
install-linux-dependencies: true
@@ -265,12 +261,13 @@ jobs:
265261
yum install -y epel-release &&
266262
yum-config-manager --enable epel &&
267263
yum install -y gcc git-core make cmake \
268-
alsa-lib-devel pulseaudio-libs-devel \
264+
alsa-lib-devel fribidi-devel pulseaudio-libs-devel pipewire-devel \
269265
libX11-devel libXext-devel libXrandr-devel libXcursor-devel libXfixes-devel \
270-
libXi-devel libXScrnSaver-devel dbus-devel ibus-devel \
266+
libXi-devel libXScrnSaver-devel libXtst-devel dbus-devel ibus-devel \
271267
systemd-devel mesa-libGL-devel libxkbcommon-devel mesa-libGLES-devel \
272268
mesa-libEGL-devel vulkan-devel wayland-devel wayland-protocols-devel \
273-
libdrm-devel mesa-libgbm-devel libusb-devel
269+
libdrm-devel mesa-libgbm-devel libusb1-devel libdecor-devel \
270+
pipewire-jack-audio-connection-kit-devel libthai-devel
274271
git clone --depth 1 --branch release-${{env.sdl-version}} https://github.com/libsdl-org/SDL.git sdl_repo &&
275272
cmake -S sdl_repo -B sdl_build &&
276273
cmake --build sdl_build --config Release &&

‎.readthedocs.yaml‎

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,12 @@
55
version: 2
66

77
build:
8-
os: ubuntu-24.04
8+
os: ubuntu-26.04
99
tools:
10-
python: "3.11"
10+
python: "3.14"
1111
apt_packages:
12-
- build-essential
13-
- make
1412
- pkg-config
15-
- cmake
16-
- ninja-build
17-
jobs:
18-
pre_install:
19-
- git clone --depth 1 --branch release-3.2.16 https://github.com/libsdl-org/SDL.git sdl_repo
20-
- cmake -S sdl_repo -B sdl_build -D CMAKE_INSTALL_PREFIX=~/.local
21-
- cmake --build sdl_build --config Debug
22-
- cmake --install sdl_build
13+
- libsdl3-dev
2314

2415
submodules:
2516
include: all

‎.vscode/settings.json‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@
173173
"fonty",
174174
"freethreading",
175175
"freetype",
176+
"fribidi",
176177
"frombuffer",
177178
"fullscreen",
178179
"furo",
@@ -277,11 +278,13 @@
277278
"letterpaper",
278279
"LGUI",
279280
"LHYPER",
281+
"libdecor",
280282
"libdrm",
281283
"libgbm",
282284
"libsdl",
283285
"libtcod",
284286
"libtcodpy",
287+
"libthai",
285288
"libusb",
286289
"libxkbcommon",
287290
"linspace",
@@ -369,6 +372,7 @@
369372
"PERLIN",
370373
"PILCROW",
371374
"pilmode",
375+
"pipewire",
372376
"PIXELART",
373377
"PIXELFORMAT",
374378
"PLUSMINUS",
@@ -553,6 +557,7 @@
553557
"Xfixes",
554558
"Xrandr",
555559
"xrel",
560+
"Xtst",
556561
"xvfb",
557562
"ydst",
558563
"yrel",

‎CHANGELOG.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ This project adheres to [Semantic Versioning](https://semver.org/) since version
66

77
## [Unreleased]
88

9+
### Changed
10+
11+
- Updated bundled SDL to 3.4.18
12+
913
### Fixed
1014

1115
- `tcod.path.SimpleGraph` caps its automatic diagonal heuristic at two cardinal steps when those are cheaper. https://github.com/libtcod/python-tcod/pull/198

‎build_sdl.py‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ def python_machine() -> str:
4646
# Reject versions of SDL older than this, update the requirements in the readme if you change this.
4747
SDL_MIN_VERSION = (3, 2, 0)
4848
# The SDL version to parse and export symbols from.
49-
SDL_PARSE_VERSION = os.environ.get("SDL_VERSION", "3.2.16")
49+
SDL_PARSE_VERSION = os.environ.get("SDL_VERSION", "3.4.18")
5050
# The SDL version to include in binary distributions.
51-
SDL_BUNDLE_VERSION = os.environ.get("SDL_VERSION", "3.2.16")
51+
SDL_BUNDLE_VERSION = os.environ.get("SDL_VERSION", "3.4.18")
5252

5353

5454
# Used to remove excessive newlines in debug outputs.
@@ -105,6 +105,7 @@ def python_machine() -> str:
105105
"SDL_SensorEvent",
106106
"SDL_QuitEvent",
107107
"SDL_UserEvent",
108+
"SDL_PinchFingerEvent",
108109
)
109110

110111
# Other defined names which sometimes cause issues when parsed.

0 commit comments

Comments
 (0)