From a55f6c430ac7fccf5450cb7101f012fc739e9a4d Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 18:32:35 +0000 Subject: [PATCH] wolf: fix ti99sim-sdl build failing on missing sdl-config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Confirmed live: the containerized ti99sim-sdl build (previous commit) failed with "SDL.h: No such file or directory" — not a real compatibility problem, ti99sim's own Makefile.linux calls the old SDL 1.x sdl-config tool, which doesn't exist in modern libsdl2-dev packaging at all (only pkg-config .pc files). Every sdl-config invocation was silently returning nothing, so the compile got no -I/-L flags whatsoever. Adds a small shim mapping the handful of flags this build actually uses (--cflags/--libs/--version, tested standalone against a fake pkg-config before pushing) onto `pkg-config sdl2`, rather than patching the project's own Makefiles. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01VLX1yYKJExGSXmgUhxKQG6 --- services/wolf.sh | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/services/wolf.sh b/services/wolf.sh index fcf2f9a..e06049f 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -1003,12 +1003,32 @@ XMLEOF # it (copies to /opt/ti99sim/bin, symlinks into # /usr/local/bin), so use that instead of guessing the exact # build subpath. + # ti99sim's own Makefile.linux calls the old SDL 1.x `sdl-config` + # tool, which no longer exists — modern libsdl2-dev ships only + # pkg-config .pc files (and sometimes sdl2-config, itself already + # a thin wrapper over pkg-config). Confirmed live: without this, + # every sdl-config call silently returns nothing, so the compile + # gets no -I/-L flags at all and fails on "SDL.h: No such file or + # directory" — not a real incompatibility, just a stale tool + # name. A tiny shim mapping the handful of flags this build + # actually uses (--cflags/--libs/--version) onto pkg-config sdl2 + # fixes it without patching the project's own Makefiles. if docker run --rm -u root --entrypoint /bin/bash \ -v "$GAME_STORAGE_DIR/emulators:/output" \ ghcr.io/games-on-whales/es-de:edge -c ' set -e apt-get update -qq - apt-get install -y -qq git build-essential libsdl2-dev ca-certificates + apt-get install -y -qq git build-essential libsdl2-dev pkgconf ca-certificates + cat > /usr/local/bin/sdl-config << "SDLCFG" +#!/bin/sh +case "$1" in + --cflags) exec pkg-config sdl2 --cflags ;; + --libs) exec pkg-config sdl2 --libs ;; + --version) exec pkg-config sdl2 --modversion ;; + *) exec pkg-config sdl2 --cflags --libs ;; +esac +SDLCFG + chmod +x /usr/local/bin/sdl-config git clone -q https://github.com/billzajac/ti99sim.git /tmp/ti99sim cd /tmp/ti99sim make