Files
RedBear-OS/recipes/games/eduke32/redox.patch
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

159 lines
5.1 KiB
Diff

diff -rupwN source/Common.mak source-new/Common.mak
--- source/Common.mak 2018-07-14 15:36:44.000000000 -0600
+++ source-new/Common.mak 2023-01-20 10:38:24.948044222 -0700
@@ -93,7 +93,7 @@ endif
##### Makefile meta-settings
-PRETTY_OUTPUT := 1
+PRETTY_OUTPUT := 0
NULLSTREAM := /dev/null
@@ -172,6 +172,10 @@ ifeq ($(PLATFORM),WII)
CCFULLPATH = $(DEVKITPPC)/bin/$(CC)
endif
+ifeq ($(PLATFORM),REDOX)
+ CROSS := $(TARGET)-
+endif
+
CC := $(CROSS)gcc$(CROSS_SUFFIX)
CXX := $(CROSS)g++$(CROSS_SUFFIX)
@@ -383,6 +387,16 @@ else ifeq ($(PLATFORM),$(filter $(PLATFO
override NOASM := 1
else ifeq ($(PLATFORM),$(filter $(PLATFORM),BEOS SKYOS))
override NOASM := 1
+else ifeq ($(PLATFORM),REDOX)
+ override HAVE_FLAC := 0
+ override HAVE_GTK2 := 0
+ override HAVE_XMP := 0
+ override MIXERTYPE := SDL
+ override NETCODE := 0
+ override NOASM := 1
+ override USE_OPENGL := 0
+ OPTOPT := -mtune=generic
+ SDL_TARGET := 1
endif
ifneq (i386,$(strip $(IMPLICIT_ARCH)))
@@ -868,7 +882,7 @@ ifeq ($(RENDERTYPE),SDL)
SDLCONFIG := sdl2-config
SDLNAME := SDL2
else ifeq ($(SDL_TARGET),1)
- SDLCONFIG := sdl-config
+ #SDLCONFIG := sdl-config
SDLNAME := SDL
ifeq (0,$(RELEASE))
COMPILERFLAGS += -DNOSDLPARACHUTE
@@ -957,9 +971,11 @@ else ifeq ($(PLATFORM),WII)
LIBS += -laesnd_tueidj -lfat -lwiiuse -lbte -lwiikeyboard -logc
else ifeq ($(SUBPLATFORM),LINUX)
LIBS += -lrt
+else ifeq ($(PLATFORM),REDOX)
+ LIBS += -lorbital -lvorbisfile -lvorbis -logg
endif
-ifeq (,$(filter $(PLATFORM),WINDOWS WII))
+ifeq (,$(filter $(PLATFORM),WINDOWS WII REDOX))
ifneq ($(PLATFORM),BSD)
LIBS += -ldl
endif
Binary files source/.Common.mak.swp and source-new/.Common.mak.swp differ
diff -rupwN source/source/build/include/compat.h source-new/source/build/include/compat.h
--- source/source/build/include/compat.h 2018-10-06 23:21:24.000000000 -0600
+++ source-new/source/build/include/compat.h 2023-01-20 10:31:10.843745693 -0700
@@ -7,6 +7,9 @@
#pragma once
+# define B_LITTLE_ENDIAN 1
+# define B_BIG_ENDIAN 0
+
#ifdef _WIN32
# include "windows_inc.h"
#endif
@@ -400,6 +403,7 @@ defined __x86_64__ || defined __amd64__
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include <strings.h>
#include <math.h>
#include <float.h>
@@ -542,8 +546,8 @@ typedef FILE BFILE;
# define BS_IWRITE S_IWUSR
# define BS_IREAD S_IRUSR
#else
-# define BS_IWRITE S_IWRITE
-# define BS_IREAD S_IREAD
+# define BS_IWRITE S_IWUSR
+# define BS_IREAD S_IRUSR
#endif
#if defined(__cplusplus) && defined(_MSC_VER)
diff -rupwN source/source/build/src/baselayer.cpp source-new/source/build/src/baselayer.cpp
--- source/source/build/src/baselayer.cpp 2018-10-06 23:21:43.000000000 -0600
+++ source-new/source/build/src/baselayer.cpp 2023-01-20 10:31:49.591772332 -0700
@@ -498,7 +498,7 @@ int32_t baselayer_init(void)
void maybe_redirect_outputs(void)
{
-#if !(defined __APPLE__ && defined __BIG_ENDIAN__)
+#if 0
char *argp;
// pipe standard outputs to files
diff -rupwN source/source/build/src/sdlayer.cpp source-new/source/build/src/sdlayer.cpp
--- source/source/build/src/sdlayer.cpp 2018-10-06 23:23:44.000000000 -0600
+++ source-new/source/build/src/sdlayer.cpp 2023-01-20 10:30:49.223730830 -0700
@@ -305,7 +305,7 @@ void wm_setapptitle(const char *name)
//
/* XXX: libexecinfo could be used on systems without gnu libc. */
-#if !defined _WIN32 && defined __GNUC__ && !defined __OpenBSD__ && !(defined __APPLE__ && defined __BIG_ENDIAN__) && !defined GEKKO && !defined EDUKE32_TOUCH_DEVICES && !defined __OPENDINGUX__
+#if 0
# define PRINTSTACKONSEGV 1
# include <execinfo.h>
#endif
diff -rupwN source/source/duke3d/src/common.cpp source-new/source/duke3d/src/common.cpp
--- source/source/duke3d/src/common.cpp 2018-10-06 23:20:23.000000000 -0600
+++ source-new/source/duke3d/src/common.cpp 2023-01-20 10:30:49.223730830 -0700
@@ -1173,6 +1173,7 @@ int32_t S_OpenAudio(const char *fn, char
Bfree(testfn);
return origfp;
}
+#endif
void Duke_CommonCleanup(void)
{
@@ -1181,4 +1182,3 @@ void Duke_CommonCleanup(void)
DO_FREE_AND_NULL(g_rtsNamePtr);
}
-#endif
diff -rupwN source/source/duke3d/src/game.cpp source-new/source/duke3d/src/game.cpp
--- source/source/duke3d/src/game.cpp 2018-10-06 23:23:48.000000000 -0600
+++ source-new/source/duke3d/src/game.cpp 2023-01-20 10:30:49.223730830 -0700
@@ -6697,7 +6697,7 @@ MAIN_LOOP_RESTART:
static char buf[128];
#ifndef GEKKO
int32_t flag = 1;
- ioctl(0, FIONBIO, &flag);
+ //ioctl(0, FIONBIO, &flag);
#endif
if ((nb = read(0, &ch, 1)) > 0 && bufpos < sizeof(buf))
{
diff -rupwN source/source/enet/include/enet/unix.h source-new/source/enet/include/enet/unix.h
--- source/source/enet/include/enet/unix.h 2014-06-16 17:16:08.000000000 -0600
+++ source-new/source/enet/include/enet/unix.h 2023-01-20 10:30:49.223730830 -0700
@@ -6,6 +6,7 @@
#define __ENET_UNIX_H__
#include <stdlib.h>
+#include <sys/select.h>
#include <sys/time.h>
#include <sys/types.h>
#if defined(GEKKO)