Files
RedBear-OS/recipes/wip/games/engines/love/recipe.toml
T
vasilito 50b731f1b7 Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding:
- AMD GPU driver (amdgpu) via LinuxKPI compat layer
- ext4 filesystem support (ext4d scheme daemon)
- ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG)
- Custom branding (hostname, os-release, boot identity)

Build system is full upstream Redox with RBOS overlay in local/.
Patches for kernel, base, and relibc are symlinked from local/patches/
and protected from make clean/distclean. Custom recipes live in
local/recipes/ with symlinks into the recipes/ search path.

Build:  make all CONFIG_NAME=redbear-full
Sync:   ./local/scripts/sync-upstream.sh
2026-04-12 19:05:00 +01:00

80 lines
2.1 KiB
TOML

[source]
tar = "https://github.com/love2d/love/archive/refs/tags/11.5.tar.gz"
blake3 = "1fe441b04af1c0aa12b5d12f274fd892e6f307bcc882888c3a1ec048294a25c7"
patches = [
"redox.patch"
]
[build]
template = "custom"
dependencies = [
"freetype2",
"libmodplug1",
"libogg",
"liborbital",
"libpng",
"libtheora",
"libvorbis",
"luajit",
"openal",
"mesa",
"mpg123",
"sdl2",
"zlib",
]
script = """
DYNAMIC_INIT
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2"
export CXXFLAGS="${CXXFLAGS} -I${COOKBOOK_SYSROOT}/include -I${COOKBOOK_SYSROOT}/include/SDL2"
cat > redox.cmake <<EOF
# the name of the target operating system
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR "${TARGET%%-*}")
# which compilers to use for C and C++
set(CMAKE_C_COMPILER "${TARGET}-gcc")
set(CMAKE_CXX_COMPILER "${TARGET}-g++")
# where is the target environment located
set(CMAKE_FIND_ROOT_PATH "${COOKBOOK_SYSROOT}")
# adjust the default behavior of the FIND_XXX() commands:
# search programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# search headers, libraries, and packages in the target environment
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
EOF
LIBS=(
$("${TARGET}-pkg-config" --libs libpng16)
$("${TARGET}-pkg-config" --libs vorbis)
-lSDL2
-lorbital
$("${TARGET}-pkg-config" --libs osmesa)
-lstdc++
)
COOKBOOK_CONFIGURE="cmake"
COOKBOOK_CONFIGURE_FLAGS=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX="/usr"
-DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}"
-DCMAKE_TOOLCHAIN_FILE=redox.cmake
-DCMAKE_VERBOSE_MAKEFILE=ON
-DOPENGL_opengl_LIBRARY="/dev/null"
-DOPENGL_glx_LIBRARY="/dev/null"
-DSDL2_INCLUDE_DIRS="${COOKBOOK_SYSROOT}/include/SDL2"
-DSDL2_LIBRARIES="${LIBS[*]}"
"${COOKBOOK_SOURCE}"
)
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}"
# make install not possible, just copy love
mkdir -pv "${COOKBOOK_STAGE}/usr/bin"
cp -v love "${COOKBOOK_STAGE}/usr/bin/love"
"""