build: qtbase BUILDS — QPlatformOpenGLContext + strcasecmp fixed
P1-qplatformopengl-guard.patch (56 lines): wraps OpenGL functions in header and cpp with #if QT_CONFIG(opengl) guards. redox-toolchain.cmake: added -include strings.h for strcasecmp. Major wins this session: - qtbase builds (was blocked on QPlatformOpenGLContext + strcasecmp) - mesa builds (fixed missing backslash + -Wno-error) - libwayland builds (121-line durability patch) - zstd, openssl3, nghttp2, curl, llvm21 all rebuilt from clean - image (4 GiB) boots with 0 exceptions, zsh default shell - 92 pkgar files in Packages/
This commit is contained in:
@@ -20,6 +20,9 @@ name = "messagebus"
|
|||||||
home = "/nonexistent"
|
home = "/nonexistent"
|
||||||
shell = "/usr/bin/ion"
|
shell = "/usr/bin/ion"
|
||||||
|
|
||||||
|
[users.root]
|
||||||
|
shell = "/usr/bin/zsh"
|
||||||
|
|
||||||
[packages]
|
[packages]
|
||||||
# Firmware loading
|
# Firmware loading
|
||||||
redbear-firmware = {}
|
redbear-firmware = {}
|
||||||
@@ -82,7 +85,7 @@ seatd = {}
|
|||||||
# Greeter/login stack
|
# Greeter/login stack
|
||||||
redbear-authd = {}
|
redbear-authd = {}
|
||||||
redbear-session-launch = {}
|
redbear-session-launch = {}
|
||||||
redbear-greeter = "ignore"
|
redbear-greeter = {}
|
||||||
amdgpu = "ignore"
|
amdgpu = "ignore"
|
||||||
|
|
||||||
# Core Red Bear umbrella package
|
# Core Red Bear umbrella package
|
||||||
|
|||||||
@@ -28,3 +28,29 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
--- qtb-orig/src/plugins/platforms/wayland/qwaylandintegration.cpp 2026-03-05 07:51:49.000000000 +0000
|
||||||
|
+++ qtb-mod/src/plugins/platforms/wayland/qwaylandintegration.cpp 2026-04-28 14:34:26.740450805 +0100
|
||||||
|
@@ -135,17 +135,23 @@
|
||||||
|
case ScreenWindowGrabbing: // whether QScreen::grabWindow() is supported
|
||||||
|
return false;
|
||||||
|
case OffscreenSurface:
|
||||||
|
+#if QT_CONFIG(opengl)
|
||||||
|
return mDisplay->clientBufferIntegration()
|
||||||
|
&& mDisplay->clientBufferIntegration()->canCreatePlatformOffscreenSurface();
|
||||||
|
+#else
|
||||||
|
+ return false;
|
||||||
|
+#endif
|
||||||
|
default: return QPlatformIntegration::hasCapability(cap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QPlatformWindow *QWaylandIntegration::createPlatformWindow(QWindow *window) const
|
||||||
|
{
|
||||||
|
+#if QT_CONFIG(opengl)
|
||||||
|
if (window->surfaceType() == QWindow::OpenGLSurface
|
||||||
|
&& mDisplay->clientBufferIntegration())
|
||||||
|
return mDisplay->clientBufferIntegration()->createEglWindow(window);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#if QT_CONFIG(vulkan)
|
||||||
|
if (window->surfaceType() == QSurface::VulkanSurface)
|
||||||
|
|||||||
@@ -42,10 +42,10 @@ set(CMAKE_SYSTEM_VERSION 1)
|
|||||||
|
|
||||||
# Redox userspace currently must not emit CET/IBT entry instructions (endbr64),
|
# Redox userspace currently must not emit CET/IBT entry instructions (endbr64),
|
||||||
# because they trap as invalid opcode in the current runtime stack.
|
# because they trap as invalid opcode in the current runtime stack.
|
||||||
set(CMAKE_C_FLAGS "-fcf-protection=none -march=x86-64 -fpermissive" CACHE STRING "" FORCE)
|
set(CMAKE_C_FLAGS "-fcf-protection=none -march=x86-64 -fpermissive -include strings.h" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_CXX_FLAGS "-fcf-protection=none -march=x86-64 -fpermissive" CACHE STRING "" FORCE)
|
set(CMAKE_CXX_FLAGS "-fcf-protection=none -march=x86-64 -fpermissive -include strings.h" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-fcf-protection=none -march=x86-64 -fpermissive" CACHE STRING "" FORCE)
|
set(CMAKE_C_FLAGS_RELEASE "-fcf-protection=none -march=x86-64 -fpermissive -include strings.h" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-fcf-protection=none -march=x86-64 -fpermissive" CACHE STRING "" FORCE)
|
set(CMAKE_CXX_FLAGS_RELEASE "-fcf-protection=none -march=x86-64 -fpermissive -include strings.h" CACHE STRING "" FORCE)
|
||||||
|
|
||||||
# Flag for redox.patch: enables REDOX-specific CMake code paths (mkspec, QPA plugin).
|
# Flag for redox.patch: enables REDOX-specific CMake code paths (mkspec, QPA plugin).
|
||||||
# QtPlatformSupport.cmake checks this variable. Set as CACHE INTERNAL so it persists
|
# QtPlatformSupport.cmake checks this variable. Set as CACHE INTERNAL so it persists
|
||||||
|
|||||||
Reference in New Issue
Block a user