Bumping the Minimum glibc!
TL;DR: Starting this week, all future updates will require glibc 2.28 or newer. If you're on a distribution released after mid 2018 you're fine, otherwise you will want to upgrade soon anyway as you're probably going to get hit with an EOL next month!
flibitBuild
Want to replicate my build machine? Grab a RHEL8-based OS and have a look!
"RHEL-based" OSes include RHEL for Developers, Rocky Linux, and AlmaLinux.
# Update base install before doing anything else
dnf update
# Add EPEL
dnf install epel-release
crb enable
# SDL2 dependencies
dnf builddep SDL2
# All the base build tools!
dnf install bzip2 bzip2-devel chrpath clang cmake freetype-devel gcc-c++ \
git gtk3-devel libstdc++-static libuuid-devel libvorbis-devel \
libxml2-devel meson mingw32-gcc-c++ mingw64-gcc-c++ ninja-build \
ocl-icd-devel openal-soft-devel opencl-headers openssl-devel patch \
perl-IPC-Cmd svn unix2dos zlib-static
# libdecor
curl -O https://gitlab.gnome.org/jadahl/libdecor/-/archive/0.1.0/libdecor-0.1.0.tar.bz2
tar xvfj libdecor-0.1.0.tar.bz2
mkdir libdecor-0.1.0/flibitBuild
cd libdecor-0.1.0/flibitBuild
meson .. --libdir=lib -Ddemo=false
ninja
su -c 'ninja install'
# PipeWire 0.3.42 (Highest version usable with meson)
curl -O https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/0.3.42/pipewire-0.3.42.tar.bz2
tar xvfj pipewire-0.3.42.tar.bz2
mkdir pipewire-0.3.42/flibitBuild
cd pipewire-0.3.42/flibitBuild
meson setup .. --libdir=lib -Dsession-managers= -Dpipewire-v4l2=disabled -Dv4l2=disabled -Draop=disabled
ninja
su -c 'ninja install'
# Also:
# Configure SDL with PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
# The CMake config provided by SDL2-mingw is terrible, delete the block
# that starts with "if(NOT TARGET SDL2::SDL2)".
Wait, a "plan"?
Well, this is a .plan file, so here's my TODO. Expect nothing from it, ever.
In Progress
Codename TupTip
- GDK stuff mostly
Waiting Room (2023)
SDL 3.0
- SDL_ActionSet is what sponsor resources are going towards
- SDL_StorageContainer is whenever I feel like it
- Wayland/PipeWire are waiting on external components
Codename DanishBootleg
- Sitting in cert now!
Coding History
- On call throughout development
VVVVVV 2.4
- Giving the localization project as much time as it wants
Super Hexagon Neo Part 2
- Rethinking how this is getting done...
Waiting Room (Heat Death)
ScoreRush PC
- Need AppAdmin for publish, crosshair for mouse
Proteus "Neo" Rewrite
- Retirement project
Anodyne 1
- Retirement project