LZDoom build fails using a recent GCC (14.x), due to C++ (new) dialect changes.
As a workaround, disable the GTK launcher from build to avoid the compilation errors. We don't use it and it's only built of GTK3 dev libraries are detected, but disable it so the compilation is not attempted even when the GTK3 dev libraries are installed.
The changes added enable `lzdoom` to build (and run) on RPI1/RPI0:
- remove the `ARMV8` build option, since it used upstream as a toggle between RPI2 or RPI3 CPU parameters. Since we're passing the platform CPU flags to `gcc` ourselves, they're not really needed and they'll add the wrong options for other ARM platforms
- patch the included LZMA SDK CRC calculation to not assume every ARM platform supports hardware-assistet CRC (i.e. ARMv8). This will fix the build for RPI1/ARMv6 platforms
Updated to 3.88b (released on Feb 2022) to include recent fixes, should fix building with recent `gcc` (Ubuntu 22.04, Debian testing).
Changed the license URL to the main project's license file.
Looks like GL2 compatibility has been kept for LZDoom versions post 3.86, so we can update to the latest 3.x release tag.
Other:
* Removed the CFLAGS manipulation, since the math optimizations have been removed in c3751a4f0e, but left the warning for building with `-funsafe-math-optimizations`
* Use the direct link to the license page
* kmsdrm segfault patch included; already submitted upstream & can be removed
from script when targeting a later release that includes it.
* don't use fluidsynth midi driver for arm targets due to excessive memory/CPU usage.
* make sure to enable GL renderer for OpenGL platforms.
* install gzdoom soundfont
* Use OpenGL acceleration for Mesa (RPI3/4) & X11
* Use software rendering for other GLES targets (including
videocore)
Rationale for switching to lzdoom:
* zdoom is no longer maintained and doesn't build against GCC 8.
* lzdoom is actively maintained as a recommended GZDoom fork for legacy systems.
* lzdoom supports software rendering (for GLES2 targets).
* lzdoom supports OpenGL 2.1 rendering (for Mesa/X11 targets).
* Using a more up-to-date fork brings better compatibility with popular mods such as FreeDoom and Brutal Doom.