webkitgtk3: make it further through build

This commit is contained in:
Jeremy Soller 2025-05-11 14:34:08 -06:00
parent 4228bd0d69
commit c1547ab0c9
No known key found for this signature in database
GPG Key ID: 670FDFB5428E05CA
2 changed files with 451 additions and 10 deletions

View File

@ -4,6 +4,7 @@
[source]
tar = "https://webkitgtk.org/releases/webkitgtk-2.49.1.tar.xz"
blake3 = "7f04acb2f909ad334fc623afb297ebca1d5a5005bda1682946fb37e044e45ecb"
patches = ["redox.patch"]
[build]
template = "custom"
@ -14,33 +15,37 @@ dependencies = [
"fontconfig",
"freetype2",
"fribidi",
"gettext",
"gdk-pixbuf",
"gettext",
"glib",
"gstreamer",
"gtk3",
"harfbuzz",
#TODO: "libavif",
"libepoxy",
"libffi",
"libicu",
"libiconv",
"libgcrypt",
"libjpeg",
"libgpg-error",
"libiconv",
"libicu",
"libjpeg-turbo",
"libpng",
"libpsl",
"libpthread-stubs",
"libsoup",
"libtasn1",
"libwebp",
"libx11",
"libxau",
"libxext",
"libxcb",
"libxext",
"libxfixes",
"libxi",
"libxml2",
"libxrandr",
"libxrender",
"libxml2",
"libxslt",
"mesa-x11",
"nghttp2",
"pango",
"pcre2",
"pixman",
@ -48,13 +53,32 @@ dependencies = [
"sqlite3",
"x11proto",
"xextproto",
"xz",
"zlib",
]
script = """
DYNAMIC_INIT
#TODO: enable more features
cookbook_cmake \
-DCMAKE_CXX_STANDARD_LIBRARIES="-lintl -lgmodule-2.0 -lpsl -lnghttp2 -lffi -liconv -lpcre2-8" \
-DENABLE_GAMEPAD=OFF \
-DENABLE_INTROSPECTION=OFF \
-DENABLE_JOURNALD_LOG=OFF \
-DENABLE_SPEECH_SYNTHESIS=OFF \
-DENABLE_SPELLCHECK=OFF \
-DPORT=GTK \
-DLibGcrypt_GpgError_LIBRARY=lgcrypt \
-DLibGcrypt_GpgError_INCLUDE_DIR="${COOKBOOK_SYSROOT}/usr/include" \
-DUSE_GTK4=OFF
-DUNIX=1 \
-DUSE_AVIF=OFF \
-DUSE_GSTREAMER_GL=OFF \
-DUSE_GTK4=OFF \
-DUSE_JPEGXL=OFF \
-DUSE_LCMS=OFF \
-DUSE_LIBBACKTRACE=OFF \
-DUSE_LIBDRM=OFF \
-DUSE_LIBHYPHEN=OFF \
-DUSE_LIBSECRET=OFF \
-DUSE_SKIA=OFF \
-DUSE_SYSPROF_CAPTURE=OFF \
-DUSE_SYSTEM_SYSPROF_CAPTURE=OFF \
-DUSE_WOFF2=OFF
"""

View File

@ -0,0 +1,417 @@
diff -ruwN webkitgtk-2.49.1/Source/bmalloc/bmalloc/AvailableMemory.cpp source/Source/bmalloc/bmalloc/AvailableMemory.cpp
--- webkitgtk-2.49.1/Source/bmalloc/bmalloc/AvailableMemory.cpp 2023-09-18 01:56:46.719077300 -0600
+++ source/Source/bmalloc/bmalloc/AvailableMemory.cpp 2025-05-10 19:08:48.967816054 -0600
@@ -166,7 +166,7 @@
if (!sysinfo(&info))
return info.totalram * info.mem_unit;
return availableMemoryGuess;
-#elif BOS(UNIX)
+#elif BOS(UNIX) && !defined(__redox__)
long pages = sysconf(_SC_PHYS_PAGES);
long pageSize = sysconf(_SC_PAGE_SIZE);
if (pages == -1 || pageSize == -1)
diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp source/Source/JavaScriptCore/heap/BlockDirectory.cpp
--- webkitgtk-2.49.1/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-03-20 11:07:59.015023500 -0600
+++ source/Source/JavaScriptCore/heap/BlockDirectory.cpp 2025-05-10 21:38:36.889325942 -0600
@@ -68,7 +68,7 @@
// FIXME: We should figure out a solution for Windows and PlayStation.
// QNX doesn't have mincore(), though the information can be had. But since all mapped
// pages are resident, does it matter?
-#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU)
+#if OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(QNX) && !OS(HAIKU) && !defined(__redox__)
size_t pageSize = WTF::pageSize();
ASSERT(!(MarkedBlock::blockSize % pageSize));
auto numberOfPagesInMarkedBlock = MarkedBlock::blockSize / pageSize;
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/cpp_generator_templates.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_alternate_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_alternate_backend_dispatcher_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_backend_dispatcher_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_frontend_dispatcher_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_cpp_protocol_types_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_js_backend_commands.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_js_backend_commands.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_backend_dispatcher_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_configuration_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_frontend_dispatcher_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_frontend_dispatcher_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_internal_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_internal_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_header.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_header.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_type_conversions_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_types_implementation.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generate_objc_protocol_types_implementation.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/generator_templates.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/__init__.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/__init__.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/models.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/models.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator_templates.cpython-311.pyc and source/Source/JavaScriptCore/inspector/scripts/codegen/__pycache__/objc_generator_templates.cpython-311.pyc differ
diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp
--- webkitgtk-2.49.1/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-03-20 11:07:59.015023500 -0600
+++ source/Source/JavaScriptCore/runtime/JSCBytecodeCacheVersion.cpp 2025-05-11 08:15:28.272811727 -0600
@@ -37,7 +37,7 @@
#include <mach-o/dyld.h>
#include <uuid/uuid.h>
#include <wtf/spi/darwin/dyldSPI.h>
-#else
+#elif !defined(__redox__)
#include <link.h>
#endif
#endif
@@ -66,7 +66,7 @@
}
cacheVersion.construct(0);
dataLogLnIf(JSCBytecodeCacheVersionInternal::verbose, "Failed to get UUID for JavaScriptCore framework");
-#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU)
+#elif OS(UNIX) && !PLATFORM(PLAYSTATION) && !OS(HAIKU) && !defined(__redox__)
auto result = ([&] -> std::optional<uint32_t> {
Dl_info info { };
if (!dladdr(jsFunctionAddr, &info))
diff -ruwN webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h source/Source/JavaScriptCore/runtime/MachineContext.h
--- webkitgtk-2.49.1/Source/JavaScriptCore/runtime/MachineContext.h 2025-03-20 11:07:59.015023500 -0600
+++ source/Source/JavaScriptCore/runtime/MachineContext.h 2025-05-11 08:58:07.039826666 -0600
@@ -188,7 +188,7 @@
#error Unknown Architecture
#endif
-#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
+#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD) || defined(__redox__)
#if CPU(X86_64)
return reinterpret_cast<void*&>((uintptr_t&) machineContext.gregs[REG_RSP]);
@@ -317,7 +317,7 @@
#error Unknown Architecture
#endif
-#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
+#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD) || defined(__redox__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86_64)
@@ -485,7 +485,7 @@
#error Unknown Architecture
#endif
-#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
+#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD) || defined(__redox__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86_64)
@@ -679,7 +679,7 @@
#error Unknown Architecture
#endif
-#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
+#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD) || defined(__redox__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86_64)
@@ -736,7 +736,7 @@
#error Unknown Architecture
#endif
-#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
+#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD) || defined(__redox__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86_64)
@@ -864,7 +864,7 @@
#error Unknown Architecture
#endif
-#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD)
+#elif OS(FUCHSIA) || OS(LINUX) || OS(HURD) || defined(__redox__)
// The following sequence depends on glibc's sys/ucontext.h.
#if CPU(X86_64)
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/wasm/__pycache__/generateWasm.cpython-311.pyc and source/Source/JavaScriptCore/wasm/__pycache__/generateWasm.cpython-311.pyc differ
Binary files webkitgtk-2.49.1/Source/JavaScriptCore/yarr/__pycache__/hasher.cpython-311.pyc and source/Source/JavaScriptCore/yarr/__pycache__/hasher.cpython-311.pyc differ
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake source/Source/ThirdParty/ANGLE/GLESv2.cmake
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-02-17 05:59:58.567796700 -0700
+++ source/Source/ThirdParty/ANGLE/GLESv2.cmake 2025-05-10 20:36:08.275484081 -0600
@@ -120,7 +120,7 @@
if(is_linux OR is_chromeos OR is_android OR is_fuchsia)
list(APPEND libangle_common_sources
- "src/common/system_utils_linux.cpp"
+ #"src/common/system_utils_linux.cpp"
"src/common/system_utils_posix.cpp"
)
endif()
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/PlatformGTK.cmake source/Source/ThirdParty/ANGLE/PlatformGTK.cmake
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2023-10-21 01:33:32.730009300 -0600
+++ source/Source/ThirdParty/ANGLE/PlatformGTK.cmake 2025-05-10 20:22:26.792451858 -0600
@@ -1,4 +1,4 @@
-list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_LINUX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL)
+list(APPEND ANGLE_DEFINITIONS ANGLE_PLATFORM_POSIX EGL_NO_PLATFORM_SPECIFIC_TYPES USE_SYSTEM_EGL)
include(linux.cmake)
if (USE_OPENGL)
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h source/Source/ThirdParty/ANGLE/src/common/log_utils.h
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-02-17 05:59:58.571796700 -0700
+++ source/Source/ThirdParty/ANGLE/src/common/log_utils.h 2025-05-10 20:10:39.639595675 -0600
@@ -136,10 +136,12 @@
return FmtHexAutoSized(os, fmt.mValue, fmt.mPrefix, "0x", '0');
}
+#if !defined(__redox__)
friend std::wostream &operator<<(std::wostream &wos, const FmtHexHelper &fmt)
{
return FmtHexAutoSized(wos, fmt.mValue, fmt.mPrefix, L"0x", L'0');
}
+#endif
};
} // namespace priv
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h source/Source/ThirdParty/ANGLE/src/common/platform.h
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/platform.h 2024-09-03 00:28:47.067031900 -0600
+++ source/Source/ThirdParty/ANGLE/src/common/platform.h 2025-05-10 20:07:40.561378854 -0600
@@ -28,7 +28,7 @@
# define ANGLE_PLATFORM_POSIX 1
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \
- defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__)
+ defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) || defined(__redox__)
# define ANGLE_PLATFORM_POSIX 1
#else
# error Unsupported platform.
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2024-05-30 05:59:22.953676200 -0600
+++ source/Source/ThirdParty/ANGLE/src/common/system_utils_posix.cpp 2025-05-10 20:28:38.268901621 -0600
@@ -33,6 +33,11 @@
# include <sys/resource.h>
#endif
+#if defined(__redox__)
+#define SEGV_MAPERR 1
+#define SEGV_ACCERR 2
+#endif
+
namespace angle
{
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-02-05 02:14:42.678567400 -0700
+++ source/Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp 2025-05-10 20:42:33.040029309 -0600
@@ -58,7 +58,7 @@
# include "libANGLE/renderer/gl/wgl/DisplayWGL.h"
# elif ANGLE_ENABLE_CGL
# include "libANGLE/renderer/gl/cgl/DisplayCGL.h"
-# elif defined(ANGLE_PLATFORM_LINUX)
+# elif defined(ANGLE_PLATFORM_LINUX) || defined(__redox__)
# include "libANGLE/renderer/gl/egl/DisplayEGL.h"
# if defined(ANGLE_USE_X11)
# include "libANGLE/renderer/gl/glx/DisplayGLX_api.h"
@@ -422,7 +422,7 @@
impl = new rx::DisplayCGL(state);
break;
-# elif defined(ANGLE_PLATFORM_LINUX)
+# elif defined(ANGLE_PLATFORM_LINUX) || defined(__redox__)
# if defined(ANGLE_USE_GBM)
if (platformType == 0)
{
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni source/Source/ThirdParty/ANGLE/src/libGLESv2.gni
--- webkitgtk-2.49.1/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-02-17 05:59:58.587796200 -0700
+++ source/Source/ThirdParty/ANGLE/src/libGLESv2.gni 2025-05-10 20:36:18.426498466 -0600
@@ -115,7 +115,7 @@
if (is_linux || is_chromeos || is_android || is_fuchsia) {
libangle_common_sources += [
- "src/common/system_utils_linux.cpp",
+ #"src/common/system_utils_linux.cpp",
"src/common/system_utils_posix.cpp",
]
}
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h
--- webkitgtk-2.49.1/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2024-08-14 02:56:17.506453500 -0600
+++ source/Source/ThirdParty/skia/src/gpu/ganesh/GrAutoLocaleSetter.h 2025-05-10 21:10:41.689374796 -0600
@@ -27,7 +27,7 @@
#define HAVE_XLOCALE 0
#endif
-#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION)
+#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__redox__)
#define HAVE_LOCALE_T 0
#else
#define HAVE_LOCALE_T 1
diff -ruwN webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp
--- webkitgtk-2.49.1/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2024-05-30 05:59:23.965655000 -0600
+++ source/Source/ThirdParty/skia/src/ports/SkMemory_malloc.cpp 2025-05-10 21:14:33.304664836 -0600
@@ -126,7 +126,7 @@
#elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17
completeSize = malloc_usable_size(addr);
SkASSERT(completeSize >= size);
- #elif defined(SK_BUILD_FOR_UNIX)
+ #elif defined(SK_BUILD_FOR_UNIX) && !defined(__redox__)
completeSize = malloc_usable_size(addr);
SkASSERT(completeSize >= size);
#elif defined(SK_BUILD_FOR_WIN)
diff -ruwN webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake source/Source/WebCore/PlatformGTK.cmake
--- webkitgtk-2.49.1/Source/WebCore/PlatformGTK.cmake 2024-12-16 02:07:48.162613200 -0700
+++ source/Source/WebCore/PlatformGTK.cmake 2025-05-10 19:05:57.526658690 -0600
@@ -75,21 +75,18 @@
)
list(APPEND WebCore_LIBRARIES
- ${ENCHANT_LIBRARIES}
${GLIB_GIO_LIBRARIES}
${GLIB_GMODULE_LIBRARIES}
${GLIB_GOBJECT_LIBRARIES}
${GLIB_LIBRARIES}
${LIBSECRET_LIBRARIES}
${LIBTASN1_LIBRARIES}
- ${HYPHEN_LIBRARIES}
${UPOWERGLIB_LIBRARIES}
${X11_X11_LIB}
GTK::GTK
)
list(APPEND WebCore_SYSTEM_INCLUDE_DIRECTORIES
- ${ENCHANT_INCLUDE_DIRS}
${GIO_UNIX_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${LIBSECRET_INCLUDE_DIRS}
diff -ruwN webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake source/Source/WebKit/PlatformGTK.cmake
--- webkitgtk-2.49.1/Source/WebKit/PlatformGTK.cmake 2025-03-05 03:09:47.273706000 -0700
+++ source/Source/WebKit/PlatformGTK.cmake 2025-05-10 18:54:43.437475299 -0600
@@ -313,7 +313,6 @@
)
list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES
- ${ENCHANT_INCLUDE_DIRS}
${GIO_UNIX_INCLUDE_DIRS}
${GLIB_INCLUDE_DIRS}
${GSTREAMER_INCLUDE_DIRS}
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp source/Source/WTF/wtf/glib/FileSystemGlib.cpp
--- webkitgtk-2.49.1/Source/WTF/wtf/glib/FileSystemGlib.cpp 2024-12-16 02:07:48.134613800 -0700
+++ source/Source/WTF/wtf/glib/FileSystemGlib.cpp 2025-05-10 20:14:04.266843426 -0600
@@ -70,7 +70,7 @@
return CString({ readLinkBuffer, static_cast<size_t>(result) });
WTF_ALLOW_UNSAFE_BUFFER_USAGE_END
}
-#elif OS(HURD)
+#elif OS(HURD) || defined(__redox__)
CString currentExecutablePath()
{
return { };
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h source/Source/WTF/wtf/InlineASM.h
--- webkitgtk-2.49.1/Source/WTF/wtf/InlineASM.h 2024-09-23 04:54:44.750106000 -0600
+++ source/Source/WTF/wtf/InlineASM.h 2025-05-10 21:34:44.313517406 -0600
@@ -89,7 +89,8 @@
|| OS(HURD) \
|| OS(NETBSD) \
|| OS(QNX) \
- || OS(WINDOWS)
+ || OS(WINDOWS) \
+ || defined(__redox__)
// GNU as-compatible syntax.
#define LOCAL_LABEL_STRING(name) ".L" #name
#endif
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h source/Source/WTF/wtf/PlatformHave.h
--- webkitgtk-2.49.1/Source/WTF/wtf/PlatformHave.h 2025-04-02 06:09:45.800669000 -0600
+++ source/Source/WTF/wtf/PlatformHave.h 2025-05-11 08:45:52.150157369 -0600
@@ -231,7 +231,7 @@
#define HAVE_MACH_MEMORY_ENTRY 1
#endif
-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64)))
+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX) || defined(__redox__)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64)))
#define HAVE_MACHINE_CONTEXT 1
#endif
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h source/Source/WTF/wtf/PlatformOS.h
--- webkitgtk-2.49.1/Source/WTF/wtf/PlatformOS.h 2025-04-02 23:49:09.282701700 -0600
+++ source/Source/WTF/wtf/PlatformOS.h 2025-05-10 21:44:33.694803473 -0600
@@ -143,7 +143,8 @@
|| OS(OPENBSD) \
|| defined(unix) \
|| defined(__unix) \
- || defined(__unix__)
+ || defined(__unix__) \
+ || defined(__redox__)
#define WTF_OS_UNIX 1
#endif
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h source/Source/WTF/wtf/PlatformRegisters.h
--- webkitgtk-2.49.1/Source/WTF/wtf/PlatformRegisters.h 2024-11-20 06:56:01.847236400 -0700
+++ source/Source/WTF/wtf/PlatformRegisters.h 2025-05-10 19:12:14.761916702 -0600
@@ -39,6 +39,8 @@
typedef ucontext_t mcontext_t;
#elif OS(QNX)
#include <ucontext.h>
+#elif defined(__redox__)
+#include <signal.h>
#else
#include <sys/ucontext.h>
#endif
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp
--- webkitgtk-2.49.1/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2023-09-18 01:56:45.363115500 -0600
+++ source/Source/WTF/wtf/posix/CPUTimePOSIX.cpp 2025-05-10 19:30:23.676993788 -0600
@@ -47,10 +47,14 @@
Seconds CPUTime::forCurrentThread()
{
+#if defined(__redox__)
+ return Seconds(0);
+#else
struct timespec ts { };
int ret = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts);
RELEASE_ASSERT(!ret);
return Seconds(ts.tv_sec) + Seconds::fromNanoseconds(ts.tv_nsec);
+#endif
}
}
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp
--- webkitgtk-2.49.1/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-03-21 05:07:10.828055100 -0600
+++ source/Source/WTF/wtf/posix/FileHandlePOSIX.cpp 2025-05-10 19:26:54.845585962 -0600
@@ -39,6 +39,10 @@
#include <wtf/MallocSpan.h>
#include <wtf/MappedFileData.h>
+#if defined(__redox__)
+#define MAP_FILE 0
+#endif
+
namespace WTF::FileSystemImpl {
std::optional<uint64_t> FileHandle::read(std::span<uint8_t> data)
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp
--- webkitgtk-2.49.1/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-03-05 03:09:47.149706400 -0700
+++ source/Source/WTF/wtf/posix/ThreadingPOSIX.cpp 2025-05-10 19:19:09.728119543 -0600
@@ -356,7 +356,7 @@
void Thread::changePriority(int delta)
{
-#if HAVE(PTHREAD_SETSCHEDPARAM)
+#if HAVE(PTHREAD_SETSCHEDPARAM) && !defined(__redox__)
Locker locker { m_mutex };
int policy;
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/RAMSize.cpp source/Source/WTF/wtf/RAMSize.cpp
--- webkitgtk-2.49.1/Source/WTF/wtf/RAMSize.cpp 2024-10-01 01:40:32.303785300 -0600
+++ source/Source/WTF/wtf/RAMSize.cpp 2025-05-10 19:09:18.889830704 -0600
@@ -64,7 +64,7 @@
struct sysinfo si;
sysinfo(&si);
return si.totalram * si.mem_unit;
-#elif OS(UNIX) || OS(HAIKU)
+#elif (OS(UNIX) && !defined(__redox__)) || OS(HAIKU)
long pages = sysconf(_SC_PHYS_PAGES);
long pageSize = sysconf(_SC_PAGE_SIZE);
return pages * pageSize;
diff -ruwN webkitgtk-2.49.1/Source/WTF/wtf/StackBounds.cpp source/Source/WTF/wtf/StackBounds.cpp
--- webkitgtk-2.49.1/Source/WTF/wtf/StackBounds.cpp 2025-03-18 02:33:00.063181400 -0600
+++ source/Source/WTF/wtf/StackBounds.cpp 2025-05-10 19:16:43.976048337 -0600
@@ -120,6 +120,8 @@
#if HAVE(PTHREAD_NP_H) || OS(NETBSD)
// e.g. on FreeBSD 5.4, neundorf@kde.org
pthread_attr_get_np(thread, &sattr);
+#elif defined(__redox__)
+ //TODO
#else
// FIXME: this function is non-portable; other POSIX systems may have different np alternatives
pthread_getattr_np(thread, &sattr);