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
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
#TODO dependency conflict. Glew wants GLX but mesa uses orbital backend.
|
||||
# build instructions: https://github.com/yvt/openspades#on-unixes-from-source
|
||||
[source]
|
||||
git = "https://github.com/siecvi/zerospades"
|
||||
shallow_clone = true
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"glew",
|
||||
"openssl3",
|
||||
"sdl2",
|
||||
"sdl2-image",
|
||||
"freealut",
|
||||
"freetype2",
|
||||
"libopus",
|
||||
"opusfile",
|
||||
"libjpeg",
|
||||
"openal",
|
||||
"curl",
|
||||
# "libxinerama",
|
||||
# "libxft",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"libstdcxx",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
export LDFLAGS+=" $("${PKG_CONFIG}" --libs osmesa)"
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DOPENSPADES_NONFREE_RESOURCES=OFF
|
||||
-DUSE_INTERNAL_OPENAL=OFF
|
||||
)
|
||||
cookbook_cmake
|
||||
"""
|
||||
|
||||
[package]
|
||||
dependencies = [
|
||||
"openspades-free-pak"
|
||||
]
|
||||
@@ -0,0 +1,46 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2f59b92..9f98ab9 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -145,7 +145,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES "Release")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
||||
- set(CMAKE_EXE_LINKER_FLAGS "-s")
|
||||
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s")
|
||||
endif()
|
||||
|
||||
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
diff --git a/Sources/Audio/ALFuncs.cpp b/Sources/Audio/ALFuncs.cpp
|
||||
index 92c63f5..1eff792 100644
|
||||
--- a/Sources/Audio/ALFuncs.cpp
|
||||
+++ b/Sources/Audio/ALFuncs.cpp
|
||||
@@ -271,7 +271,8 @@ namespace al {
|
||||
}
|
||||
|
||||
void Link(void) {
|
||||
-#ifdef OPENAL_SOFT
|
||||
+// redox: weak link errors
|
||||
+#ifndef OPENAL_SOFT
|
||||
SPLog("Using OpenAL Soft - direct linking, initializing function pointers.");
|
||||
// Directly assign function pointers to OpenAL Soft functions
|
||||
qalEnable = alEnable;
|
||||
diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt
|
||||
index 4438506..46ace0a 100644
|
||||
--- a/Sources/CMakeLists.txt
|
||||
+++ b/Sources/CMakeLists.txt
|
||||
@@ -181,8 +181,8 @@ endif()
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(OpenSpades ws2_32.lib winmm.lib)
|
||||
-elseif(UNIX AND NOT APPLE)
|
||||
- target_link_libraries(OpenSpades Xext)
|
||||
+#elseif(UNIX AND NOT APPLE)
|
||||
+# target_link_libraries(OpenSpades Xext)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
diff --git a/openal-soft b/openal-soft
|
||||
--- a/openal-soft
|
||||
+++ b/openal-soft
|
||||
@@ -1 +1 @@
|
||||
Reference in New Issue
Block a user