From 9dac14c07f8616a9870273f346161189d3e886fa Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 7 Jun 2026 03:32:02 +0700 Subject: [PATCH 1/2] Update sdl2 and flycast --- recipes/emulators/flycast/recipe.toml | 54 +---- recipes/emulators/flycast/redox.patch | 305 +++++++------------------- recipes/libs/sdl2/recipe.toml | 27 +-- 3 files changed, 104 insertions(+), 282 deletions(-) diff --git a/recipes/emulators/flycast/recipe.toml b/recipes/emulators/flycast/recipe.toml index dca2458d..1a14ca9c 100644 --- a/recipes/emulators/flycast/recipe.toml +++ b/recipes/emulators/flycast/recipe.toml @@ -1,6 +1,6 @@ [source] git = "https://github.com/flyinghead/flycast.git" -rev = "1dd006d" +rev = "v2.6" patches = ["redox.patch"] shallow_clone = true @@ -8,55 +8,25 @@ shallow_clone = true template = "custom" dependencies = [ "curl", - "libiconv", - "liborbital", - "mesa", - "nghttp2", - "openssl3", + "libzip", "sdl2", +] +dev-dependencies = [ "zlib", + "zstd", ] script = """ DYNAMIC_INIT -export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/usr/include/SDL2" -export CXXFLAGS="${CXXFLAGS} -D_GLIBCXX_USE_C99_MATH_TR1=1 -I${COOKBOOK_SYSROOT}/usr/include/SDL2" -#TODO: don't use this -export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++" -#TODO: don't add curl -export SDL_LIBS="${SDL_LIBS} -lcurl -lnghttp2 -lssl -lcrypto" -COOKBOOK_CONFIGURE="cmake" -COOKBOOK_CONFIGURE_FLAGS=( - -DCMAKE_VERBOSE_MAKEFILE=On - -DCMAKE_CROSSCOMPILING=True - -DCMAKE_BUILD_TYPE=RelWithDebInfo - -DCMAKE_INSTALL_PREFIX="/usr" - -DCMAKE_SYSTEM_NAME=Generic - -DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)" +export CPPFLAGS+=" -D_GNU_SOURCE=1" +COOKBOOK_CMAKE_FLAGS+=( -DREDOX=1 -DUNIX=1 - -DUSE_HOST_LIBZIP=OFF -DUSE_OPENMP=OFF -DUSE_VULKAN=OFF - -DZLIB_LIBRARY="-lz" - - # Hacks for cmake errors - -DHAVE___INT8_LIBZIP=False - -DHAVE___INT16_LIBZIP=False - -DHAVE___INT32_LIBZIP=False - -DHAVE___INT64_LIBZIP=False - -DHAVE_FICLONERANGE=False - -DHAVE_NULLABLE=False - - # Hack for Threads - -DCMAKE_THREAD_LIBS_INIT="-lc" - -DCMAKE_HAVE_THREADS_LIBRARY=1 - -DCMAKE_USE_WIN32_THREADS_INIT=0 - -DCMAKE_USE_PTHREADS_INIT=1 - -DTHREADS_PREFER_PTHREAD_FLAG=ON - - "${COOKBOOK_SOURCE}" + -DUSE_HOST_SDL=ON + -DNOWIDE_INSTALL=ON + -DWITH_SYSTEM_ZLIB=ON + -DWITH_SYSTEM_ZSTD=ON ) -cookbook_configure -# appstream generation broken -rm -rf "${COOKBOOK_STAGE}/usr/share/metainfo" +cookbook_cmake """ diff --git a/recipes/emulators/flycast/redox.patch b/recipes/emulators/flycast/redox.patch index 497f4ace..cce80e97 100644 --- a/recipes/emulators/flycast/redox.patch +++ b/recipes/emulators/flycast/redox.patch @@ -1,43 +1,32 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 87bc605..e878607 100644 +index 8340288..589d4b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -197,7 +197,7 @@ if(NINTENDO_SWITCH) - endif() - - if(NOT LIBRETRO) -- if((WIN32 AND NOT MSVC) OR (UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|OpenBSD|NetBSD)")) -+ if((WIN32 AND NOT MSVC) OR (UNIX AND NOT APPLE AND NOT CMAKE_SYSTEM_NAME MATCHES "(FreeBSD|OpenBSD|NetBSD)" AND NOT REDOX)) - add_subdirectory(core/deps/breakpad) - if(WIN32) - target_link_options(${PROJECT_NAME} PRIVATE "-Wl,--build-id") -@@ -355,7 +355,10 @@ if(NOT LIBRETRO) - if(NOT APPLE) - find_package(SDL2) - endif() -- if(NOT SDL2_FOUND) -+ if(REDOX) -+ target_link_libraries(${PROJECT_NAME} PRIVATE "$ENV{SDL_LIBS}") -+ set(SDL2_FOUND 1) -+ elseif(NOT SDL2_FOUND) - add_subdirectory(core/deps/SDL EXCLUDE_FROM_ALL) - set(SDL2_FOUND 1) - endif() -@@ -482,8 +485,10 @@ if(UNIX AND NOT APPLE AND NOT ANDROID) - target_link_libraries(${PROJECT_NAME} PRIVATE ${GLES3_LIBRARIES}) - elseif(USE_OPENGL) - set(OpenGL_GL_PREFERENCE LEGACY) -- find_package(OpenGL REQUIRED) -- target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL) -+ if(NOT REDOX) -+ find_package(OpenGL REQUIRED) -+ target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL) -+ endif() +@@ -466,7 +466,7 @@ if(NOT LIBRETRO) endif() - find_package(Threads REQUIRED) -@@ -533,7 +538,7 @@ target_sources(${PROJECT_NAME} PRIVATE - target_include_directories(${PROJECT_NAME} PRIVATE core/deps/nowide/include) + if(NOT ANDROID AND NOT IOS) +- if (NOT NINTENDO_SWITCH) ++ if (NOT NINTENDO_SWITCH AND NOT REDOX) + # DreamLink enabled for non-mobile Linux, MacOS, and Windows + target_compile_definitions(${PROJECT_NAME} PRIVATE USE_DREAMLINK_DEVICES=1) + set(USE_DREAMLINK_DEVICES ON) # Must be set before adding core/sdl +@@ -493,7 +493,7 @@ if(NOT LIBRETRO) + endif() + + if(USE_HOST_SDL) +- find_package(SDL2 2.0.9) ++ find_package(SDL2 REQUIRED) + endif() + if(NOT SDL2_FOUND) + set(SDL_TEST_ENABLED_BY_DEFAULT OFF) +@@ -691,11 +691,11 @@ target_sources(${PROJECT_NAME} PRIVATE + core/deps/chdpsr/cdipsr.cpp + core/deps/chdpsr/cdipsr.h) + +-add_subdirectory(core/deps/nowide EXCLUDE_FROM_ALL) ++add_subdirectory(core/deps/nowide) + target_link_libraries(${PROJECT_NAME} PRIVATE nowide::nowide) if(NOT MINIUPNP_FOUND) - if(NINTENDO_SWITCH) @@ -45,58 +34,32 @@ index 87bc605..e878607 100644 target_compile_definitions(${PROJECT_NAME} PRIVATE FEAT_NO_MINIUPNPC) else() option(UPNPC_BUILD_SHARED "Build shared library" OFF) -diff --git a/core/build.h b/core/build.h -index a8560f7..1d6a4dd 100755 ---- a/core/build.h -+++ b/core/build.h -@@ -227,6 +227,9 @@ - #endif - #endif - -+#if defined(__redox__) -+#define TARGET_NO_EXCEPTIONS -+#endif - - #if !defined(LIBRETRO) && !defined(TARGET_NO_EXCEPTIONS) - #define USE_GGPO -diff --git a/core/deps/libzip/lib/zip_name_locate.c b/core/deps/libzip/lib/zip_name_locate.c -index 308d843..f07fd20 100644 ---- a/core/deps/libzip/lib/zip_name_locate.c -+++ b/core/deps/libzip/lib/zip_name_locate.c -@@ -32,6 +32,7 @@ - */ - - -+#include - #include - #ifdef HAVE_STRINGS_H - #include -diff --git a/core/deps/nowide/include/nowide/convert.hpp b/core/deps/nowide/include/nowide/convert.hpp -index 9c234f7..24d807e 100644 ---- a/core/deps/nowide/include/nowide/convert.hpp -+++ b/core/deps/nowide/include/nowide/convert.hpp -@@ -118,6 +118,7 @@ namespace nowide { - { - return nowide::conv::utf_to_utf(s); - } -+#if !defined(__redox__) - /// - /// Convert between UTF-8 and UTF-16 string, implemented only on Windows platform - /// -@@ -145,7 +146,7 @@ namespace nowide { - { - return nowide::conv::utf_to_utf(s); - } +Submodule core/deps/asio contains modified content +diff --git a/core/deps/asio/asio/include/asio/detail/config.hpp b/core/deps/asio/asio/include/asio/detail/config.hpp +index 61ee752..4b140b9 100644 +--- a/core/deps/asio/asio/include/asio/detail/config.hpp ++++ b/core/deps/asio/asio/include/asio/detail/config.hpp +@@ -828,6 +828,7 @@ + || defined(__NetBSD__) \ + || defined(__OpenBSD__) \ + || defined(__linux__) \ ++ || defined(__redox__) \ + || defined(__HAIKU__) + # define ASIO_HAS_UNISTD_H 1 + # endif +@@ -1093,7 +1094,6 @@ + # endif // defined(ASIO_HAS_BOOST_CONFIG) && defined(BOOST_HAS_THREADS) + # endif // !defined(ASIO_DISABLE_THREADS) + #endif // !defined(ASIO_HAS_THREADS) - -+#endif - } // nowide - - + // POSIX threads. + #if !defined(ASIO_HAS_PTHREADS) + # if defined(ASIO_HAS_THREADS) diff --git a/core/hw/sh4/modules/serial.cpp b/core/hw/sh4/modules/serial.cpp -index 1a7689e..b23bf1b 100644 +index aca43a0..11991e9 100644 --- a/core/hw/sh4/modules/serial.cpp +++ b/core/hw/sh4/modules/serial.cpp -@@ -164,7 +164,7 @@ struct PTYPipe : public SerialPipe +@@ -475,7 +475,7 @@ struct PTYPipe : public SerialPort::Pipe void init() { @@ -105,130 +68,42 @@ index 1a7689e..b23bf1b 100644 if (config::SerialConsole && config::SerialPTY && tty == 1) { tty = open("/dev/ptmx", O_RDWR | O_NDELAY | O_NOCTTY | O_NONBLOCK); -diff --git a/core/khronos/GL4/gl3w.c b/core/khronos/GL4/gl3w.c -index 661dc1c..f8b6374 100644 ---- a/core/khronos/GL4/gl3w.c -+++ b/core/khronos/GL4/gl3w.c -@@ -107,6 +107,26 @@ static GL3WglProc get_proc(const char *proc) - { - return (GL3WglProc)eglGetProcAddress(proc); - } -+#elif defined(__redox__) -+#include -+ -+static int open_libgl(void) -+{ -+ if (SDL_GL_LoadLibrary(NULL) < 0) -+ return GL3W_ERROR_LIBRARY_OPEN; -+ -+ return GL3W_OK; -+} -+ -+static void close_libgl(void) -+{ -+ SDL_GL_UnloadLibrary(); -+} -+ -+static GL3WglProc get_proc(const char *proc) -+{ -+ return (GL3WglProc)SDL_GL_GetProcAddress(proc); -+} - #else - #include - -diff --git a/core/linux-dist/main.cpp b/core/linux-dist/main.cpp -index 365482a..2e16071 100644 ---- a/core/linux-dist/main.cpp -+++ b/core/linux-dist/main.cpp -@@ -3,7 +3,7 @@ - #endif - #include "types.h" - --#if defined(__unix__) || defined(__SWITCH__) -+#if defined(__unix__) || defined(__SWITCH__) || defined(__redox__) - #include "hw/sh4/dyna/blockmanager.h" - #include "log/LogManager.h" - #include "emulator.h" -diff --git a/core/linux/posix_vmem.cpp b/core/linux/posix_vmem.cpp -index a2ab3c7..d503eb7 100644 ---- a/core/linux/posix_vmem.cpp -+++ b/core/linux/posix_vmem.cpp -@@ -120,7 +120,7 @@ static int allocate_shared_filemem(unsigned size) { - // Use Android's specific shmem stuff. - fd = ashmem_create_region("RAM", size); - #else -- #if !defined(__APPLE__) -+ #if !defined(__APPLE__) && !defined(__redox__) - fd = shm_open("/dcnzorz_mem", O_CREAT | O_EXCL | O_RDWR, S_IREAD | S_IWRITE); - shm_unlink("/dcnzorz_mem"); +diff --git a/core/linux/context.cpp b/core/linux/context.cpp +index 7ab2d8e..8a2bb2c 100644 +--- a/core/linux/context.cpp ++++ b/core/linux/context.cpp +@@ -8,11 +8,11 @@ + #define __USE_GNU 1 #endif -@@ -216,6 +216,7 @@ void vmem_platform_destroy() - void vmem_platform_reset_mem(void *ptr, unsigned size_bytes) { - // Mark them as non accessible. - mprotect(ptr, size_bytes, PROT_NONE); -+ #if !defined(__redox__) - // Tell the kernel to flush'em all (FIXME: perhaps unmap+mmap 'd be better?) - madvise(ptr, size_bytes, MADV_DONTNEED); - #if defined(MADV_REMOVE) -@@ -223,6 +224,7 @@ void vmem_platform_reset_mem(void *ptr, unsigned size_bytes) { - #elif defined(MADV_FREE) - madvise(ptr, size_bytes, MADV_FREE); + +- #if !defined(__OpenBSD__) ++ #if !defined(__OpenBSD__) && !defined(__redox__) + #include #endif -+ #endif - } - // Allocates a bunch of memory (page aligned and page-sized) -diff --git a/core/log/StringUtil.h b/core/log/StringUtil.h -index b14a9a6..cd942e7 100644 ---- a/core/log/StringUtil.h -+++ b/core/log/StringUtil.h -@@ -24,7 +24,7 @@ int vasprintf(char **s, const char *fmt, va_list ap) - } - #endif - --#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) -+#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__) - static locale_t GetCLocale() - { - static locale_t c_locale = newlocale(LC_ALL_MASK, "C", nullptr); -@@ -69,11 +69,11 @@ bool CharArrayFromFormatV(char* out, int outsize, const char* format, va_list ar - writtenCount = vsnprintf(out, outsize, format, args); - #endif - #else --#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) -+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__) - locale_t previousLocale = uselocale(GetCLocale()); - #endif - writtenCount = vsnprintf(out, outsize, format, args); --#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) -+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__) - uselocale(previousLocale); - #endif - #endif -@@ -101,7 +101,7 @@ std::string StringFromFormatV(const char* format, va_list args) - std::string temp = buf; - delete[] buf; - #else --#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) -+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__) - locale_t previousLocale = uselocale(GetCLocale()); - #endif - if (vasprintf(&buf, format, args) < 0) -@@ -110,7 +110,7 @@ std::string StringFromFormatV(const char* format, va_list args) - buf = nullptr; - } - --#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) -+#if !defined(__ANDROID__) && !defined(__HAIKU__) && !defined(__OpenBSD__) && !defined(__SWITCH__) && !defined(__redox__) - uselocale(previousLocale); - #endif +- #if defined(__OpenBSD__) ++ #if defined(__OpenBSD__) || defined(__redox__) + #include + #endif +@@ -112,6 +112,11 @@ static void context_segfault(host_context_t* hostctx, void* segfault_ctx) + bicopy(hostctx->rsp, MCTX(.__gregs[_REG_RSP])); + bicopy(hostctx->r9, MCTX(.__gregs[_REG_R9])); + bicopy(hostctx->rdi, MCTX(.__gregs[_REG_RDI])); ++ #elif defined(__redox__) ++ bicopy(hostctx->pc, MCTX(.rip)); ++ bicopy(hostctx->rsp, MCTX(.rsp)); ++ bicopy(hostctx->r9, MCTX(.r9)); ++ bicopy(hostctx->rdi, MCTX(.rdi)); + #elif defined(__unix__) + bicopy(hostctx->pc, MCTX(.gregs[REG_RIP])); + bicopy(hostctx->rsp, MCTX(.gregs[REG_RSP])); diff --git a/core/network/dns.cpp b/core/network/dns.cpp -index af98bfc..423773c 100644 +index 4d45c4a..96752ef 100644 --- a/core/network/dns.cpp +++ b/core/network/dns.cpp -@@ -148,7 +148,7 @@ char *read_name(char *reader, char *buffer, int *count) - return name; +@@ -153,7 +153,7 @@ pico_ip4 parseDnsResponsePacket(const void *buf, size_t len) + return { ~0u }; } -#if !defined(_WIN32) && !defined(__SWITCH__) @@ -236,7 +111,7 @@ index af98bfc..423773c 100644 #include #include #endif -@@ -195,7 +195,7 @@ bool is_local_address(u32 addr) +@@ -200,7 +200,7 @@ bool is_local_address(u32 addr) } closesocket(sd); @@ -246,25 +121,25 @@ index af98bfc..423773c 100644 #else // !_WIN32 && !__SWITCH__ diff --git a/core/network/net_platform.h b/core/network/net_platform.h -index 9c6af69..fc6bd45 100644 +index 8b5ea48..1a20e0b 100644 --- a/core/network/net_platform.h +++ b/core/network/net_platform.h -@@ -89,7 +89,7 @@ static inline void set_tcp_nodelay(sock_t fd) +@@ -91,7 +91,7 @@ static inline void set_tcp_nodelay(sock_t fd) #if defined(_WIN32) struct protoent *tcp_proto = getprotobyname("TCP"); setsockopt(fd, tcp_proto->p_proto, TCP_NODELAY, (const char *)&optval, optlen); --#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) -+#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__redox__) +-#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) ++#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__redox__) setsockopt(fd, SOL_TCP, TCP_NODELAY, (const void *)&optval, optlen); #else struct protoent *tcp_proto = getprotobyname("TCP"); diff --git a/core/rend/TexCache.cpp b/core/rend/TexCache.cpp -index 6654a39..dbc1577 100644 +index 35b41b7..2782d5e 100644 --- a/core/rend/TexCache.cpp +++ b/core/rend/TexCache.cpp -@@ -783,7 +783,10 @@ void BaseTextureCacheData::Update() - height = original_h; - +@@ -670,7 +670,10 @@ bool BaseTextureCacheData::Update() + mipmapped = false; + } //lock the texture to detect changes in it +// TODO: No SIGSEGV handler on redox +#if !defined(__redox__) @@ -273,15 +148,3 @@ index 6654a39..dbc1577 100644 UploadToGPU(upscaled_w, upscaled_h, (const u8 *)temp_tex_buffer, IsMipmapped(), mipmapped); if (config::DumpTextures) -diff --git a/core/types.h b/core/types.h -index d2ea162..3fa816e 100644 ---- a/core/types.h -+++ b/core/types.h -@@ -169,6 +169,7 @@ inline static void JITWriteProtect(bool enabled) { - //includes from c++rt - #include - #include -+#include - #include - #include - diff --git a/recipes/libs/sdl2/recipe.toml b/recipes/libs/sdl2/recipe.toml index 76f86599..e2b8f354 100644 --- a/recipes/libs/sdl2/recipe.toml +++ b/recipes/libs/sdl2/recipe.toml @@ -1,28 +1,17 @@ -#TODO: TEST [source] git = "https://gitlab.redox-os.org/redox-os/sdl2.git" +branch = "redox-2.0.33" +shallow_clone = true [build] -template = "custom" +template = "cmake" dependencies = [ "liborbital", "mesa", "zlib", ] -script = """ -DYNAMIC_INIT -export LDFLAGS="${LDFLAGS} -lorbital -lOSMesa -lstdc++" -COOKBOOK_CONFIGURE_FLAGS+=( - --disable-pulseaudio - --disable-video-x11 - --enable-audio - --enable-dummyaudio - --enable-redoxaudio - --enable-threads - --enable-video-orbital -) -cookbook_configure - -# Hack to add OSMesa -sed -i "s/Requires:/Requires: osmesa >= 8.0.0/" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/sdl2.pc" -""" +cmakeflags = [ + "-DSDL_VIDEO=1", + "-DSDL_ORBITAL=1", + "-DREDOX=1", +] From dd9f6f9fc8b0c0a01c206421ab8f6c7b26187dd9 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 7 Jun 2026 03:32:27 +0700 Subject: [PATCH 2/2] Use cmake and remove patches for zstd --- recipes/archives/zstd/01_redox.patch | 15 --------------- recipes/archives/zstd/recipe.toml | 9 +++------ 2 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 recipes/archives/zstd/01_redox.patch diff --git a/recipes/archives/zstd/01_redox.patch b/recipes/archives/zstd/01_redox.patch deleted file mode 100644 index 0cff8dc9..00000000 --- a/recipes/archives/zstd/01_redox.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -ruwN source/programs/platform.h source-new/programs/platform.h ---- source/programs/platform.h 2025-02-19 07:04:24.000000000 +0700 -+++ source-new/programs/platform.h 2025-07-21 22:52:07.716447723 +0700 -@@ -109,6 +109,11 @@ - #endif /* PLATFORM_POSIX_VERSION */ - - -+#if defined(__redox__) -+/* TODO: AT_FDCWD && utimensat must be defined to conform _POSIX_VERSION */ -+# define PLATFORM_POSIX_VERSION 1 -+#endif -+ - #if PLATFORM_POSIX_VERSION > 1 - /* glibc < 2.26 may not expose struct timespec def without this. - * See issue #1920. */ diff --git a/recipes/archives/zstd/recipe.toml b/recipes/archives/zstd/recipe.toml index 5e09a248..a79907bb 100644 --- a/recipes/archives/zstd/recipe.toml +++ b/recipes/archives/zstd/recipe.toml @@ -1,17 +1,14 @@ [source] tar = "https://github.com/facebook/zstd/releases/download/v1.5.7/zstd-1.5.7.tar.gz" blake3 = "730dca31244abd219e995f03a55d95b2cfb4b3e16cda055a79fa6f30a4f0e1db" -patches = [ - "01_redox.patch" -] + [build] template = "custom" script = """ DYNAMIC_STATIC_INIT -rsync -av --delete "${COOKBOOK_SOURCE}/" ./ # TODO: fPIC is the default on linux but not on redox and # required by llvm21 as zstd statically linked there export CPPFLAGS="$CPPFLAGS -fPIC" -${COOKBOOK_MAKE} -${COOKBOOK_MAKE} install DESTDIR="${COOKBOOK_STAGE}" prefix="/usr" +COOKBOOK_SOURCE="$COOKBOOK_SOURCE/build/cmake" +cookbook_cmake """