Files
RedBear-OS/recipes/games/openjk/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

61 lines
1.9 KiB
TOML

[source]
git = "https://github.com/jackpot51/OpenJK"
upstream = "https://github.com/JACoders/OpenJK.git"
[build]
template = "custom"
dependencies = [
"libjpeg",
"liborbital",
"libpng",
"mesa",
"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
COOKBOOK_CONFIGURE="cmake"
COOKBOOK_CONFIGURE_FLAGS=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX="/"
-DCMAKE_TOOLCHAIN_FILE=redox.cmake
-DCMAKE_VERBOSE_MAKEFILE=On
-DJPEG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
-DJPEG_LIBRARY="-ljpeg"
-DPNG_PNG_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
-DPNG_LIBRARY="-lpng"
-DSDL2_LIBRARIES="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa)"
-DZLIB_INCLUDE_DIR="${COOKBOOK_SYSROOT}/include"
-DZLIB_LIBRARY="-lz"
"${COOKBOOK_SOURCE}"
)
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
"${COOKBOOK_MAKE}" -j "${COOKBOOK_MAKE_JOBS}" openjk_sp.x86_64
mkdir -pv "${COOKBOOK_STAGE}/home/user/JediAcademy"
cp -v openjk_sp.x86_64 "${COOKBOOK_STAGE}/home/user/JediAcademy"
"""