I couldn't stand the LLVM dependency either, especially as I also don't really care about GPU acceleration anyway. My solution was to compile Mesa myself and make my own copies of libEGL.tcz, libGL.tcz, libGLESv2.tcz, libexpat.tcz and mesa.tcz. An easier option which still seems to work just as well is to keep using the old Mesa extensions from the last version without LLVM, but maybe that risks breakage with other extensions as they get rebuilt against the newer Mesa.
Both solutions get undone by tce-install, tce-update and tce-audit. I've modified these scripts on my systems to avoid touching extensions and associated .dep files listed in tcz-black.lst in the tce directory, which was only partly implemented before.
The equivalent mesa.tcz extension with only software rendering enabled (softpipe driver) and no LLVM dep is 2.9MB. I'm happy to share these extensions and the build instructions if desired, but I'm not sure how they could be contributed to the repo without replacing the main Mesa extension including GPU drivers.
I've been wondering if we shouldn't revert to mesa-24.1.7 and the way things were for x86. We could perhaps eliminate the llvm dependency if we assume that nobody uses software acceleration, but if I understand correctly some graphics adapters need that to function.
There are two software renderers in Mesa: softpipe and llvmpipe. As the name suggests, the latter requires LLVM, but the former doesn't, so that's the only driver I
enabled for my LLVM-less Mesa build (I have needed to use software acceleration in Mesa before anyway, by the way, but not llvmpipe). The drivers for older AMD GPUs apparantly require LLVM, and possibly others. It seems you need to run the configure script and see whether it complains about LLVM missing to tell for sure whether a driver needs it or not.
I don't think we should revert for x86_64 or armhf/aarch64 otherwise we will lose the support for newer hardware.
Unless the extension system were changed to allow alternative dependencies, so eg. either mesa-full.tcz or mesa-min.tcz could fulfill the dependency for mesa.tcz? Other distro package systems do this, and it's a limitation of TC's which frustrates me. Mesa.tcz could be a "meta-extension" which requires "any one of" it's dependencies, with tce-install modified so it knows to ignore the absence of the other dependencies for such extensions.
Mesa aside, the linux kernel no longer supports 32-bit, so perhaps we could consider a "sunset" x86 version with the last lts kernel supporting 32-bit and mesa-24.1.7.
The Linux kernel isn't going that far yet. The current development sources show
32bit x86 is still a build option.
What they have done is remove the M486 build options since Linux kernel v7.1. I assumed Tiny Core would simply build the next x86 release to target the new minimum x86 architecture of M586 and later. I'll be disappointed if x86 is dropped altogether by TC on this weak basis!