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,21 @@
|
||||
[source]
|
||||
tar = "https://download.gnome.org/sources/atk/2.38/atk-2.38.0.tar.xz"
|
||||
blake3 = "cbc1b7ba03009ee5cc0e646d8a86117e0d65bf8d105f2e8714fbde0299a8012e"
|
||||
script = """
|
||||
GNU_CONFIG_GET config.sub
|
||||
"""
|
||||
|
||||
[build]
|
||||
dependencies = [
|
||||
"gettext",
|
||||
"glib",
|
||||
#TODO "gobject-introspection",
|
||||
"libffi",
|
||||
"libiconv",
|
||||
"pcre2",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_meson -Dintrospection=false
|
||||
"""
|
||||
@@ -0,0 +1,35 @@
|
||||
[source]
|
||||
tar = "https://www.cairographics.org/releases/cairo-1.18.4.tar.xz"
|
||||
blake3 = "b9fa14e02f85ec4e72396c62236c98502d04dbbdf8daf01ab9557a1c7aa7106e"
|
||||
patches = ["redox.patch"]
|
||||
|
||||
[build]
|
||||
dependencies = [
|
||||
"expat",
|
||||
"freetype2",
|
||||
"fontconfig",
|
||||
"gettext",
|
||||
"glib",
|
||||
"libffi",
|
||||
"libiconv",
|
||||
"libpng",
|
||||
"libpthread-stubs",
|
||||
"libx11",
|
||||
"libxau",
|
||||
"libxcb",
|
||||
"libxext",
|
||||
"pcre2",
|
||||
"pixman",
|
||||
"x11proto",
|
||||
"zlib",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
#TODO: fix mutex implementation
|
||||
#TODO: why are math defines missing?
|
||||
CFLAGS="${CFLAGS} -DCAIRO_NO_MUTEX=1 -DM_SQRT2=1.41421356237309504880 -DM_LN2=0.69314718055994530942"
|
||||
cookbook_meson \
|
||||
-Dxlib-xcb=enabled \
|
||||
-Dtests=disabled
|
||||
"""
|
||||
@@ -0,0 +1,50 @@
|
||||
diff -ruwN cairo-1.18.4/meson.build source/meson.build
|
||||
--- cairo-1.18.4/meson.build 2025-03-08 05:35:35.000000000 -0700
|
||||
+++ source/meson.build 2025-05-04 18:07:04.594213814 -0600
|
||||
@@ -440,13 +440,13 @@
|
||||
if feature_conf.get('CAIRO_HAS_XCB_SURFACE', 0) == 1
|
||||
xcbshm_dep = dependency('xcb-shm', required: get_option('xcb'))
|
||||
if xcbshm_dep.found()
|
||||
- feature_conf.set('CAIRO_HAS_XCB_SHM_FUNCTIONS', 1)
|
||||
- deps += [xcbshm_dep]
|
||||
- built_features += [{
|
||||
- 'name': 'cairo-xcb-shm',
|
||||
- 'description': 'XCB/SHM functions',
|
||||
- 'deps': [xcbshm_dep],
|
||||
- }]
|
||||
+ #feature_conf.set('CAIRO_HAS_XCB_SHM_FUNCTIONS', 1)
|
||||
+ #deps += [xcbshm_dep]
|
||||
+ #built_features += [{
|
||||
+ # 'name': 'cairo-xcb-shm',
|
||||
+ # 'description': 'XCB/SHM functions',
|
||||
+ # 'deps': [xcbshm_dep],
|
||||
+ #}]
|
||||
endif
|
||||
endif
|
||||
|
||||
diff -ruwN cairo-1.18.4/perf/Makefile.in source/perf/Makefile.in
|
||||
--- cairo-1.18.4/perf/Makefile.in 1969-12-31 17:00:00.000000000 -0700
|
||||
+++ source/perf/Makefile.in 2025-05-01 12:52:11.400963345 -0600
|
||||
@@ -0,0 +1,3 @@
|
||||
+all:
|
||||
+
|
||||
+install:
|
||||
diff -ruwN cairo-1.18.4/src/cairo-ps-surface.c source/src/cairo-ps-surface.c
|
||||
--- cairo-1.18.4/src/cairo-ps-surface.c 2025-03-08 05:35:35.000000000 -0700
|
||||
+++ source/src/cairo-ps-surface.c 2025-05-04 18:08:43.821264417 -0600
|
||||
@@ -102,7 +102,7 @@
|
||||
#define DEBUG_FALLBACK(s)
|
||||
#endif
|
||||
|
||||
-#ifndef HAVE_CTIME_R
|
||||
+#if !defined(HAVE_CTIME_R) && !defined(__redox__)
|
||||
static char *ctime_r(const time_t *timep, char *buf)
|
||||
{
|
||||
(void)buf;
|
||||
diff -ruwN cairo-1.18.4/test/Makefile.in source/test/Makefile.in
|
||||
--- cairo-1.18.4/test/Makefile.in 1969-12-31 17:00:00.000000000 -0700
|
||||
+++ source/test/Makefile.in 2025-05-01 12:52:11.400963345 -0600
|
||||
@@ -0,0 +1,3 @@
|
||||
+all:
|
||||
+
|
||||
+install:
|
||||
@@ -0,0 +1,16 @@
|
||||
[source]
|
||||
tar = "https://duktape.org/duktape-2.7.0.tar.xz"
|
||||
blake3 = "b0a17da888847bc9c73624ae3ba7f858ec327a9bbce9d287aee6a2489e518448"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||
|
||||
sed -i "s/= gcc/= ${TARGET}-gcc/g" Makefile.cmdline
|
||||
|
||||
"${COOKBOOK_MAKE}" -f Makefile.cmdline -j"$COOKBOOK_MAKE_JOBS"
|
||||
|
||||
mkdir -pv "${COOKBOOK_STAGE}/usr/bin"
|
||||
cp ./duk "${COOKBOOK_STAGE}/usr/bin/duk"
|
||||
"""
|
||||
@@ -0,0 +1,19 @@
|
||||
[source]
|
||||
tar = "https://github.com/libexpat/libexpat/releases/download/R_2_5_0/expat-2.5.0.tar.xz"
|
||||
blake3 = "ea89dd9a5a2e48d5e44fed38554b36a8f2e365a5091a99d08e30bfb1c15dda5e"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--without-docbook
|
||||
--without-examples
|
||||
--without-tests
|
||||
--without-xmlwf
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,76 @@
|
||||
From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
|
||||
From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
||||
Date: Sun, 16 Jul 2023 18:18:02 +0300
|
||||
Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
|
||||
instructions within inline assembly
|
||||
|
||||
Fixes assembling with binutil as >= 2.41
|
||||
|
||||
Signed-off-by: James Almer <jamrial@gmail.com>
|
||||
---
|
||||
libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
|
||||
1 file changed, 23 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
|
||||
index 6298f5ed19..ca7e2dffc1 100644
|
||||
--- a/libavcodec/x86/mathops.h
|
||||
+++ b/libavcodec/x86/mathops.h
|
||||
@@ -35,12 +35,20 @@
|
||||
static av_always_inline av_const int MULL(int a, int b, unsigned shift)
|
||||
{
|
||||
int rt, dummy;
|
||||
+ if (__builtin_constant_p(shift))
|
||||
__asm__ (
|
||||
"imull %3 \n\t"
|
||||
"shrdl %4, %%edx, %%eax \n\t"
|
||||
:"=a"(rt), "=d"(dummy)
|
||||
- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
|
||||
+ :"a"(a), "rm"(b), "i"(shift & 0x1F)
|
||||
);
|
||||
+ else
|
||||
+ __asm__ (
|
||||
+ "imull %3 \n\t"
|
||||
+ "shrdl %4, %%edx, %%eax \n\t"
|
||||
+ :"=a"(rt), "=d"(dummy)
|
||||
+ :"a"(a), "rm"(b), "c"((uint8_t)shift)
|
||||
+ );
|
||||
return rt;
|
||||
}
|
||||
|
||||
@@ -113,19 +121,31 @@ __asm__ volatile(\
|
||||
// avoid +32 for shift optimization (gcc should do that ...)
|
||||
#define NEG_SSR32 NEG_SSR32
|
||||
static inline int32_t NEG_SSR32( int32_t a, int8_t s){
|
||||
+ if (__builtin_constant_p(s))
|
||||
__asm__ ("sarl %1, %0\n\t"
|
||||
: "+r" (a)
|
||||
- : "ic" ((uint8_t)(-s))
|
||||
+ : "i" (-s & 0x1F)
|
||||
);
|
||||
+ else
|
||||
+ __asm__ ("sarl %1, %0\n\t"
|
||||
+ : "+r" (a)
|
||||
+ : "c" ((uint8_t)(-s))
|
||||
+ );
|
||||
return a;
|
||||
}
|
||||
|
||||
#define NEG_USR32 NEG_USR32
|
||||
static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
|
||||
+ if (__builtin_constant_p(s))
|
||||
__asm__ ("shrl %1, %0\n\t"
|
||||
: "+r" (a)
|
||||
- : "ic" ((uint8_t)(-s))
|
||||
+ : "i" (-s & 0x1F)
|
||||
);
|
||||
+ else
|
||||
+ __asm__ ("shrl %1, %0\n\t"
|
||||
+ : "+r" (a)
|
||||
+ : "c" ((uint8_t)(-s))
|
||||
+ );
|
||||
return a;
|
||||
}
|
||||
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff -rupN source-original/configure source/configure
|
||||
--- source-original/configure 2018-03-04 11:13:59.000000000 +0100
|
||||
+++ source/configure 2018-03-04 11:18:10.026033282 +0100
|
||||
@@ -5141,6 +5141,8 @@ case $target_os in
|
||||
;;
|
||||
minix)
|
||||
;;
|
||||
+ redox)
|
||||
+ ;;
|
||||
none)
|
||||
;;
|
||||
*)
|
||||
diff -rupN source-original/fftools/ffmpeg.c source/fftools/ffmpeg.c
|
||||
--- source-original/fftools/ffmpeg.c 2018-03-04 11:13:59.000000000 +0100
|
||||
+++ source/fftools/ffmpeg.c 2018-03-04 11:45:38.326394016 +0100
|
||||
@@ -91,7 +91,7 @@
|
||||
|
||||
#if HAVE_TERMIOS_H
|
||||
#include <fcntl.h>
|
||||
-#include <sys/ioctl.h>
|
||||
+//#include <sys/ioctl.h>
|
||||
#include <sys/time.h>
|
||||
#include <termios.h>
|
||||
#elif HAVE_KBHIT
|
||||
@@ -0,0 +1,15 @@
|
||||
name=ffplay
|
||||
binary=/usr/bin/ffplay
|
||||
accept=*.mp3
|
||||
accept=*.ogg
|
||||
accept=*.opus
|
||||
accept=*.m4a
|
||||
accept=*.flac
|
||||
accept=*.wav
|
||||
accept=*.mp4
|
||||
accept=*.mkv
|
||||
accept=*.webm
|
||||
accept=*.3gp
|
||||
accept=*.mov
|
||||
author=FFMPEG Developers
|
||||
description=FFMPEG Media Player
|
||||
@@ -0,0 +1,40 @@
|
||||
[source]
|
||||
tar = "https://ffmpeg.org/releases/ffmpeg-6.0.tar.xz"
|
||||
blake3 = "4879074c357102f85932673044c57c144b0c188ae58edec2a115965536ee340f"
|
||||
patches = [
|
||||
"ffmpeg.patch",
|
||||
"binutils-2.41.patch",
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"liborbital",
|
||||
"mesa",
|
||||
"sdl2",
|
||||
"zlib",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
export LDFLAGS="$LDFLAGS -lSDL2 -lorbital -lOSMesa -lstdc++"
|
||||
ARCH="${TARGET%%-*}"
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--enable-cross-compile
|
||||
--target-os=redox
|
||||
--arch="${ARCH}"
|
||||
--cross_prefix="${TARGET}-"
|
||||
--prefix=/usr
|
||||
--disable-doc
|
||||
--enable-shared
|
||||
--disable-static
|
||||
--disable-network
|
||||
--enable-sdl2
|
||||
--enable-zlib
|
||||
--enable-encoder=png
|
||||
--enable-decoder=png
|
||||
)
|
||||
cookbook_configure
|
||||
mkdir -pv "${COOKBOOK_STAGE}/usr/share/ui/apps"
|
||||
cp -v "${COOKBOOK_RECIPE}/manifest" "${COOKBOOK_STAGE}/usr/share/ui/apps/ffplay"
|
||||
"""
|
||||
@@ -0,0 +1,14 @@
|
||||
[source]
|
||||
tar = "https://sourceforge.net/projects/freetype/files/freetype2/2.13.3/freetype-2.13.3.tar.xz/download"
|
||||
blake3 = "07a01894ccdb584943ce817b57341a8595ce9a92bfaa77c602ec4757dfabd5e2"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libpng",
|
||||
"zlib"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_meson
|
||||
"""
|
||||
@@ -0,0 +1,10 @@
|
||||
[source]
|
||||
tar = "https://github.com/fribidi/fribidi/releases/download/v1.0.16/fribidi-1.0.16.tar.xz"
|
||||
blake3 = "c16ee250f73f149d7d52dc7d285eb73ac755bad7907d237391e23f429b2b71d5"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_meson -Dbin=false -Dtests=false
|
||||
"""
|
||||
@@ -0,0 +1,22 @@
|
||||
[source]
|
||||
tar = "https://download.gnome.org/sources/glib/2.87/glib-2.87.0.tar.xz"
|
||||
blake3 = "26b77ae24bc02f85d1c6742fe601167b056085f117cda70da7b805cefa6195e9"
|
||||
patches = [
|
||||
"redox.patch",
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"gettext",
|
||||
"libffi",
|
||||
"libiconv",
|
||||
"pcre2",
|
||||
"zlib",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_meson \
|
||||
-Ddefault_library=shared \
|
||||
-Dxattr=false
|
||||
"""
|
||||
@@ -0,0 +1,275 @@
|
||||
diff -ruwN glib-2.87.0/fuzzing/fuzz_resolver.c source/fuzzing/fuzz_resolver.c
|
||||
--- glib-2.87.0/fuzzing/fuzz_resolver.c 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/fuzzing/fuzz_resolver.c 2026-02-19 13:53:45.717898735 +0700
|
||||
@@ -29,7 +29,7 @@
|
||||
gint rrtype)
|
||||
{
|
||||
/* g_resolver_records_from_res_query() is only available on Unix */
|
||||
-#ifdef G_OS_UNIX
|
||||
+#if defined(G_OS_UNIX) && !defined(__redox__)
|
||||
GList *record_list = NULL;
|
||||
|
||||
/* Data too long? */
|
||||
diff -ruwN glib-2.87.0/gio/gcredentialsprivate.h source/gio/gcredentialsprivate.h
|
||||
--- glib-2.87.0/gio/gcredentialsprivate.h 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/gio/gcredentialsprivate.h 2026-02-19 13:53:45.717995965 +0700
|
||||
@@ -104,7 +104,7 @@
|
||||
*/
|
||||
#undef G_CREDENTIALS_HAS_PID
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__redox__)
|
||||
#define G_CREDENTIALS_SUPPORTED 1
|
||||
#define G_CREDENTIALS_USE_LINUX_UCRED 1
|
||||
#define G_CREDENTIALS_NATIVE_TYPE G_CREDENTIALS_TYPE_LINUX_UCRED
|
||||
diff -ruwN glib-2.87.0/gio/glocalfile.c source/gio/glocalfile.c
|
||||
--- glib-2.87.0/gio/glocalfile.c 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/gio/glocalfile.c 2026-02-19 13:53:45.718204283 +0700
|
||||
@@ -47,6 +47,10 @@
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__redox__)
|
||||
+#undef AT_FDCWD
|
||||
+#endif
|
||||
+
|
||||
#ifndef O_BINARY
|
||||
#define O_BINARY 0
|
||||
#endif
|
||||
diff -ruwN glib-2.87.0/gio/gnetworking.h.in source/gio/gnetworking.h.in
|
||||
--- glib-2.87.0/gio/gnetworking.h.in 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/gio/gnetworking.h.in 2026-02-19 13:53:45.718380100 +0700
|
||||
@@ -40,13 +40,17 @@
|
||||
#include <netdb.h>
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/tcp.h>
|
||||
+#if !defined(__redox__)
|
||||
#include <resolv.h>
|
||||
+#endif
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
#include <net/if.h>
|
||||
|
||||
#include <arpa/inet.h>
|
||||
+#if !defined(__redox__)
|
||||
#include <arpa/nameser.h>
|
||||
+#endif
|
||||
@NAMESER_COMPAT_INCLUDE@
|
||||
|
||||
#ifndef __GI_SCANNER__
|
||||
diff -ruwN glib-2.87.0/gio/gsocket.c source/gio/gsocket.c
|
||||
--- glib-2.87.0/gio/gsocket.c 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/gio/gsocket.c 2026-03-05 11:29:00.807439664 +0700
|
||||
@@ -3133,7 +3133,8 @@
|
||||
{
|
||||
int errsv = get_socket_errno ();
|
||||
|
||||
- if (errsv == EINTR)
|
||||
+ // TODO: uds connect() in redox is blocking
|
||||
+ if (errsv == EINTR || errsv == EAGAIN)
|
||||
continue;
|
||||
|
||||
#ifndef G_OS_WIN32
|
||||
diff -ruwN glib-2.87.0/gio/gthreadedresolver.c source/gio/gthreadedresolver.c
|
||||
--- glib-2.87.0/gio/gthreadedresolver.c 2025-11-03 05:42:10.000000000 -0700
|
||||
+++ source/gio/gthreadedresolver.c 2026-01-15 18:35:07.059664185 -0700
|
||||
@@ -698,7 +698,7 @@
|
||||
}
|
||||
|
||||
|
||||
-#if defined(G_OS_UNIX)
|
||||
+#if defined(G_OS_UNIX) && !defined(__redox__)
|
||||
|
||||
#if defined __BIONIC__ && !defined BIND_4_COMPAT
|
||||
/* Copy from bionic/libc/private/arpa_nameser_compat.h
|
||||
@@ -1393,7 +1393,11 @@
|
||||
{
|
||||
GList *records;
|
||||
|
||||
-#if defined(G_OS_UNIX)
|
||||
+#if defined(__redox__)
|
||||
+ g_set_error (error, G_RESOLVER_ERROR, G_RESOLVER_ERROR_INTERNAL,
|
||||
+ _("No support for resolving “%s” on redox"), rrname);
|
||||
+ return NULL;
|
||||
+#elif defined(G_OS_UNIX)
|
||||
gint len = 512;
|
||||
gint herr;
|
||||
GByteArray *answer;
|
||||
diff -ruwN glib-2.87.0/gio/gunixconnection.c source/gio/gunixconnection.c
|
||||
--- glib-2.87.0/gio/gunixconnection.c 2025-11-03 05:42:10.000000000 -0700
|
||||
+++ source/gio/gunixconnection.c 2026-01-15 18:35:07.059895298 -0700
|
||||
@@ -496,7 +496,7 @@
|
||||
GSocket *socket;
|
||||
gint n;
|
||||
gssize num_bytes_read;
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__redox__)
|
||||
gboolean turn_off_so_passcreds;
|
||||
#endif
|
||||
|
||||
@@ -512,7 +512,7 @@
|
||||
* already. We also need to turn it off when we're done. See
|
||||
* #617483 for more discussion.
|
||||
*/
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__redox__)
|
||||
{
|
||||
gint opt_val;
|
||||
|
||||
@@ -626,7 +626,7 @@
|
||||
|
||||
out:
|
||||
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__redox__)
|
||||
if (turn_off_so_passcreds)
|
||||
{
|
||||
if (!g_socket_set_option (socket,
|
||||
diff -ruwN glib-2.87.0/gio/gunixmounts.c source/gio/gunixmounts.c
|
||||
--- glib-2.87.0/gio/gunixmounts.c 2025-11-03 05:42:10.000000000 -0700
|
||||
+++ source/gio/gunixmounts.c 2026-01-15 18:35:07.060167680 -0700
|
||||
@@ -1114,7 +1114,7 @@
|
||||
}
|
||||
|
||||
/* QNX {{{2 */
|
||||
-#elif defined (HAVE_QNX)
|
||||
+#elif defined (HAVE_QNX) || defined(__redox__)
|
||||
|
||||
static char *
|
||||
get_mtab_monitor_file (void)
|
||||
@@ -1758,6 +1758,28 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+#elif defined(__redox__)
|
||||
+
|
||||
+static GUnixMountPoint **
|
||||
+_g_unix_mount_points_get_from_file (const char *table_path,
|
||||
+ uint64_t *time_read_out,
|
||||
+ size_t *n_points_out)
|
||||
+{
|
||||
+ /* Not supported on Redox. */
|
||||
+ if (time_read_out != NULL)
|
||||
+ *time_read_out = 0;
|
||||
+ if (n_points_out != NULL)
|
||||
+ *n_points_out = 0;
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+static GList *
|
||||
+_g_get_unix_mount_points (void)
|
||||
+{
|
||||
+ /* Not supported on Redox. */
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/* Common code {{{2 */
|
||||
#else
|
||||
#error No g_get_mount_table() implementation for system
|
||||
diff -ruwN glib-2.87.0/gio/meson.build source/gio/meson.build
|
||||
--- glib-2.87.0/gio/meson.build 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/gio/meson.build 2026-02-19 13:53:45.718994535 +0700
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
gnetworking_h_nameser_compat_include = ''
|
||||
|
||||
-if host_system not in ['windows', 'android']
|
||||
+if host_system not in ['windows', 'android', 'redox']
|
||||
# Don't check for C_IN on Android since it does not define it in public
|
||||
# headers, we define it ourselves wherever necessary
|
||||
if not cc.compiles('''#include <sys/types.h>
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
network_libs = [ ]
|
||||
network_args = [ ]
|
||||
-if host_system != 'windows'
|
||||
+if host_system not in ['windows', 'redox']
|
||||
# res_query()
|
||||
res_query_test = '''#include <resolv.h>
|
||||
int main (int argc, char ** argv) {
|
||||
diff -ruwN glib-2.87.0/gio/tests/gdbus-server-auth.c source/gio/tests/gdbus-server-auth.c
|
||||
--- glib-2.87.0/gio/tests/gdbus-server-auth.c 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/gio/tests/gdbus-server-auth.c 2026-02-19 13:53:45.719091042 +0700
|
||||
@@ -243,7 +243,7 @@
|
||||
}
|
||||
else /* We should prefer EXTERNAL whenever it is allowed. */
|
||||
{
|
||||
-#ifdef __linux__
|
||||
+#if defined(__linux__) || defined(__redox__)
|
||||
/* We know that both GDBus and libdbus support full credentials-passing
|
||||
* on Linux. */
|
||||
g_assert_cmpint (uid, ==, getuid ());
|
||||
diff -ruwN glib-2.87.0/glib/glib-unix.c source/glib/glib-unix.c
|
||||
--- glib-2.87.0/glib/glib-unix.c 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/glib/glib-unix.c 2026-02-19 13:53:45.719219012 +0700
|
||||
@@ -74,6 +74,10 @@
|
||||
#include <sys/user.h>
|
||||
#endif /* defined (__FreeBSD__ )*/
|
||||
|
||||
+#if defined(__redox__)
|
||||
+#include <sys/redox.h>
|
||||
+#endif
|
||||
+
|
||||
G_STATIC_ASSERT (sizeof (ssize_t) == GLIB_SIZEOF_SSIZE_T);
|
||||
G_STATIC_ASSERT (G_ALIGNOF (gssize) == G_ALIGNOF (ssize_t));
|
||||
G_STATIC_ASSERT (G_SIGNEDNESS_OF (ssize_t) == 1);
|
||||
@@ -1004,6 +1008,20 @@
|
||||
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_NOSYS,
|
||||
"g_unix_fd_query_path() not supported on HURD");
|
||||
return NULL;
|
||||
+#elif defined(__redox__)
|
||||
+ char file_path[PATH_MAX] = {0};
|
||||
+
|
||||
+ if (redox_fpath (fd, file_path, PATH_MAX) < 0)
|
||||
+ {
|
||||
+ int errsv = errno;
|
||||
+
|
||||
+ g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errsv),
|
||||
+ "Error querying file information for FD %d: %s",
|
||||
+ fd, g_strerror (errsv));
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return g_strdup (file_path);
|
||||
#else
|
||||
#error "g_unix_fd_query_path() not supported on this platform"
|
||||
#endif
|
||||
diff -ruwN glib-2.87.0/glib/gstrfuncs.c source/glib/gstrfuncs.c
|
||||
--- glib-2.87.0/glib/gstrfuncs.c 2025-11-03 19:42:10.000000000 +0700
|
||||
+++ source/glib/gstrfuncs.c 2026-02-19 13:53:45.719384853 +0700
|
||||
@@ -707,7 +707,7 @@
|
||||
|
||||
gchar *fail_pos;
|
||||
gdouble val;
|
||||
-#ifndef __BIONIC__
|
||||
+#if !defined(__BIONIC__) && !defined(__redox__)
|
||||
struct lconv *locale_data;
|
||||
#endif
|
||||
const char *decimal_point;
|
||||
@@ -720,7 +720,7 @@
|
||||
|
||||
fail_pos = NULL;
|
||||
|
||||
-#ifndef __BIONIC__
|
||||
+#if !defined(__BIONIC__) && !defined(__redox__)
|
||||
locale_data = localeconv ();
|
||||
decimal_point = locale_data->decimal_point;
|
||||
decimal_point_len = strlen (decimal_point);
|
||||
@@ -931,7 +931,7 @@
|
||||
|
||||
return buffer;
|
||||
#else
|
||||
-#ifndef __BIONIC__
|
||||
+#if !defined(__BIONIC__) && !defined(__redox__)
|
||||
struct lconv *locale_data;
|
||||
#endif
|
||||
const char *decimal_point;
|
||||
@@ -964,7 +964,7 @@
|
||||
|
||||
_g_snprintf (buffer, buf_len, format, d);
|
||||
|
||||
-#ifndef __BIONIC__
|
||||
+#if !defined(__BIONIC__) && !defined(__redox__)
|
||||
locale_data = localeconv ();
|
||||
decimal_point = locale_data->decimal_point;
|
||||
decimal_point_len = strlen (decimal_point);
|
||||
@@ -0,0 +1,79 @@
|
||||
[source]
|
||||
tar = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/archive/1.24.12/gstreamer-1.24.12.tar.gz"
|
||||
blake3 = "181daf73050f7472ec656e7461b7f67028d6002c1133870576033a32e43a364f"
|
||||
patches = ["redox.patch"]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"bzip2",
|
||||
"cairo",
|
||||
"curl",
|
||||
"expat",
|
||||
#TODO: "ffmpeg6",
|
||||
"fontconfig",
|
||||
"freetype2",
|
||||
"fribidi",
|
||||
"gdk-pixbuf",
|
||||
"gettext",
|
||||
"glib",
|
||||
"harfbuzz",
|
||||
"libass",
|
||||
"libffi",
|
||||
"libgmp",
|
||||
"libiconv",
|
||||
"libicu",
|
||||
"libjpeg",
|
||||
"libmodplug1",
|
||||
"libnettle",
|
||||
"libogg",
|
||||
"libpng",
|
||||
"libpsl",
|
||||
"libpthread-stubs",
|
||||
"libsndfile",
|
||||
"libsoup",
|
||||
"libvorbis",
|
||||
"libwebp",
|
||||
"libx11",
|
||||
"libxau",
|
||||
"libxcb",
|
||||
#TODO: "libxdamage",
|
||||
"libxext",
|
||||
"libxfixes",
|
||||
"libxi",
|
||||
"libxml2",
|
||||
"libxxf86vm",
|
||||
"mesa-x11",
|
||||
"nghttp2",
|
||||
#TODO: "openal",
|
||||
"openssl1",
|
||||
"pango",
|
||||
"pcre2",
|
||||
"pixman",
|
||||
"sqlite3",
|
||||
"x11proto",
|
||||
"xextproto",
|
||||
"xz",
|
||||
"zlib",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
export GLIB_GENMARSHAL="$(which glib-genmarshal)"
|
||||
export GLIB_MKENUMS="$(which glib-mkenums)"
|
||||
|
||||
CFLAGS="${CFLAGS} -DM_LN2=0.69314718055994530942"
|
||||
cookbook_meson \
|
||||
-Ddevtools=disabled \
|
||||
-Dexamples=disabled \
|
||||
-Dlibav=disabled \
|
||||
-Dlibnice=disabled \
|
||||
-Dorc=disabled \
|
||||
-Dtests=disabled \
|
||||
-Dtools=enabled \
|
||||
-Dgstreamer:check=disabled \
|
||||
-Dgstreamer:coretracers=disabled \
|
||||
-Dgst-plugins-bad:shm=disabled \
|
||||
-Dgst-plugins-base:xshm=disabled \
|
||||
-Dgst-plugins-good:ximagesrc-xshm=disabled
|
||||
"""
|
||||
@@ -0,0 +1,34 @@
|
||||
diff -ruw gstreamer-1.24.12/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c source/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c
|
||||
--- gstreamer-1.24.12/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c 2025-01-29 13:12:29.000000000 -0700
|
||||
+++ source/subprojects/gst-plugins-bad/ext/dtls/gstdtlsconnection.c 2026-02-10 19:13:12.530288659 -0700
|
||||
@@ -49,6 +49,10 @@
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__redox__)
|
||||
+#include <sys/time.h> // For struct timeval
|
||||
+#endif
|
||||
+
|
||||
GST_DEBUG_CATEGORY_STATIC (gst_dtls_connection_debug);
|
||||
#define GST_CAT_DEFAULT gst_dtls_connection_debug
|
||||
|
||||
diff -ruw gstreamer-1.24.12/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build
|
||||
--- gstreamer-1.24.12/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2025-01-29 13:12:29.000000000 -0700
|
||||
+++ source/subprojects/gst-plugins-base/gst-libs/gst/tag/meson.build 2026-02-10 19:09:53.259120404 -0700
|
||||
@@ -136,10 +136,10 @@
|
||||
install: false)
|
||||
endif
|
||||
|
||||
-executable('mklicensestables', 'mklicensestables.c',
|
||||
- c_args : gst_plugins_base_args,
|
||||
- include_directories: [configinc],
|
||||
- dependencies : [tag_dep, gst_base_dep],
|
||||
- install : false)
|
||||
+#executable('mklicensestables', 'mklicensestables.c',
|
||||
+# c_args : gst_plugins_base_args,
|
||||
+# include_directories: [configinc],
|
||||
+# dependencies : [tag_dep, gst_base_dep],
|
||||
+# install : false)
|
||||
|
||||
gst_tag_dir = meson.current_source_dir()
|
||||
Only in source/subprojects/gst-plugins-base/gst-libs/gst/tag: meson.build.orig
|
||||
@@ -0,0 +1,23 @@
|
||||
[source]
|
||||
tar = "https://github.com/harfbuzz/harfbuzz/releases/download/11.0.1/harfbuzz-11.0.1.tar.xz"
|
||||
blake3 = "51f0edaaf2e9b7a7176d3252f15d03d409ef7ad35f77b050c407de89f85b77c5"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"freetype2",
|
||||
"gettext",
|
||||
"glib",
|
||||
"libffi",
|
||||
"libiconv",
|
||||
"libicu",
|
||||
"libpng",
|
||||
"pcre2",
|
||||
"zlib"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_meson \
|
||||
-Ddocs=disabled \
|
||||
-Dtests=disabled
|
||||
"""
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -ru source-new/config.sub source/config.sub
|
||||
--- source-new/config.sub 2017-11-06 18:59:18.499577613 -0800
|
||||
+++ source/config.sub 2017-11-02 19:26:02.253397873 -0700
|
||||
@@ -1368,7 +1368,7 @@
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
+ -gnu* | -bsd* | -redox* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
| -sym* | -kopensolaris* | -plan9* \
|
||||
@@ -0,0 +1,13 @@
|
||||
[source]
|
||||
tar = "https://github.com/akheron/jansson/releases/download/v2.10/jansson-2.10.tar.gz"
|
||||
blake3 = "3c74f374a6c7ac5e323f72d87e49e5309ca922ca26cfe4992873b31f28776624"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,9 @@
|
||||
[source]
|
||||
tar = "https://libarchive.org/downloads/libarchive-3.6.2.tar.xz"
|
||||
blake3 = "f98695fe81235a74fa3fc2c3ba0f0d4f13ea15f9be3850b83e304cf5d78be710"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,13 @@
|
||||
diff -ruwN source/configure source-new/configure
|
||||
--- source/configure 2022-12-09 20:38:47.000000000 +0700
|
||||
+++ source-new/configure 2025-09-14 17:17:50.138530195 +0700
|
||||
@@ -19039,7 +19039,8 @@
|
||||
ac_fn_c_check_func "$LINENO" "fstatat" "ac_cv_func_fstatat"
|
||||
if test "x$ac_cv_func_fstatat" = xyes
|
||||
then :
|
||||
- printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h
|
||||
+# When fstatat works, remove this patch
|
||||
+# printf "%s\n" "#define HAVE_FSTATAT 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
ac_fn_c_check_func "$LINENO" "fstatfs" "ac_cv_func_fstatfs"
|
||||
@@ -0,0 +1,16 @@
|
||||
[source]
|
||||
same_as = "../../dev/gcc13"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libgmp",
|
||||
"libmpfr",
|
||||
"mpc",
|
||||
"zlib"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/libatomic/configure"
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,9 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/libcosmic.git"
|
||||
branch = "redox"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
cookbook_cargo_packages cosmic
|
||||
"""
|
||||
@@ -0,0 +1,18 @@
|
||||
[source]
|
||||
tar = "https://github.com/libffi/libffi/releases/download/v3.4.5/libffi-3.4.5.tar.gz"
|
||||
blake3 = "f9a2cfe1d2ac8d211c18c99f9cfafe5537925101bfb92c2d44d844680dd82264"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/libtool.m4 ./m4/
|
||||
cp -fp ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/ltmain.sh ./
|
||||
cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/ltversion.m4 ./m4/
|
||||
|
||||
autotools_recursive_regenerate -I$(realpath ./m4)
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,19 @@
|
||||
[source]
|
||||
tar = "https://github.com/xiph/flac/releases/download/1.5.0/flac-1.5.0.tar.xz"
|
||||
blake3 = "2adca3cd8da4b577ebb9c12e73c91cf6f6a7feb7485b3f003853b82710bada84"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libogg",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--with-ogg="${COOKBOOK_SYSROOT}"
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,6 @@
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib"
|
||||
cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libgcc_s.so* ${COOKBOOK_STAGE}/usr/lib/
|
||||
"""
|
||||
@@ -0,0 +1,26 @@
|
||||
# GNU Multiple Precision Arithmetic Library (GMP) is a free and open source
|
||||
# library for arbitrary-precision arithmetic, operating on signed integers,
|
||||
# rational numbers, and floating-point numbers.
|
||||
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/gmp/gmp-6.3.0.tar.xz"
|
||||
blake3 = "fffe4996713928ae19331c8ef39129e46d3bf5b7182820656fd4639435cd83a4"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
# libgmp fails to regenerate autotools when building for host toolchain
|
||||
# To workaround this, the source is copied to the build dir and autotools is
|
||||
# only regenerated when not building for the host
|
||||
rsync -a --delete "${COOKBOOK_SOURCE}/" ./
|
||||
COOKBOOK_SOURCE="${COOKBOOK_BUILD}"
|
||||
if [ "$TARGET" != "$COOKBOOK_HOST_TARGET" ]; then
|
||||
autotools_recursive_regenerate
|
||||
# need to invoke configure in specific way to make shared libs work
|
||||
./configure --host="${GNU_TARGET}" --prefix="/usr"
|
||||
COOKBOOK_CONFIGURE=true
|
||||
fi
|
||||
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,36 @@
|
||||
diff '--color=auto' -ur source/srclib/getprogname.c source-new/srclib/getprogname.c
|
||||
--- source/srclib/getprogname.c 2022-01-04 19:33:29.000000000 +1100
|
||||
+++ source-new/srclib/getprogname.c 2024-11-24 00:42:48.384997609 +1100
|
||||
@@ -28,6 +28,14 @@
|
||||
# include <string.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__redox__)
|
||||
+# include <string.h>
|
||||
+# include <unistd.h>
|
||||
+# include <stdio.h>
|
||||
+# include <fcntl.h>
|
||||
+# include <limits.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef __MVS__
|
||||
# ifndef _OPEN_SYS
|
||||
# define _OPEN_SYS
|
||||
@@ -287,6 +295,17 @@
|
||||
close (fd);
|
||||
}
|
||||
return "?";
|
||||
+# elif defined(__redox__)
|
||||
+ char filename[PATH_MAX];
|
||||
+ int fd = open ("sys:exe", O_RDONLY);
|
||||
+ if (fd > 0) {
|
||||
+ int len = read(fd, filename, PATH_MAX-1);
|
||||
+ if (len > 0) {
|
||||
+ filename[len] = '\0';
|
||||
+ return strdup(filename);
|
||||
+ }
|
||||
+ }
|
||||
+ return NULL;
|
||||
# else
|
||||
# error "getprogname module not ported to this OS"
|
||||
# endif
|
||||
@@ -0,0 +1,27 @@
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/libiconv/libiconv-1.17.tar.gz"
|
||||
blake3 = "820b3b9fd3e2181bfb95475f01e9a3451e6d751e4f8c98ebcdcca1d8aa720f7f"
|
||||
patches = [
|
||||
"01_redox.patch"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/libtool.m4 ./m4/
|
||||
cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/libtool.m4 ./libcharset/m4/
|
||||
cp -fp ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/ltmain.sh ./build-aux/
|
||||
cp -fp ${COOKBOOK_HOST_SYSROOT}/share/libtool/build-aux/ltmain.sh ./libcharset/build-aux/
|
||||
cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/ltversion.m4 ./m4/
|
||||
cp ${COOKBOOK_HOST_SYSROOT}/share/aclocal/ltversion.m4 ./libcharset/m4/
|
||||
|
||||
autotools_recursive_regenerate -I$(realpath ./m4) -I$(realpath ./srcm4)
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
ac_cv_have_decl_program_invocation_name=no
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,11 @@
|
||||
# libjpeg-turbo is compatible with libjpeg
|
||||
[source]
|
||||
tar = "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.0/libjpeg-turbo-3.1.0.tar.gz"
|
||||
blake3 = "3efc14da55c56fc0a6a50f109d9e1ee8a91f5ae7dd17a21d3aebe04a65f3ee96"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_cmake
|
||||
"""
|
||||
@@ -0,0 +1,13 @@
|
||||
[source]
|
||||
tar = "https://pilotfiber.dl.sourceforge.net/project/modplug-xmms/libmodplug/0.8.9.0/libmodplug-0.8.9.0.tar.gz"
|
||||
blake3 = "01d71f7fe4e1abeb848db02b74c70ab2fd51e824f5ea7e9e18631571a76c3592"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,16 @@
|
||||
[source]
|
||||
tar = "https://www.mpfr.org/mpfr-current/mpfr-4.2.2.tar.xz"
|
||||
blake3 = "11d59d061ef8db588650bc7dc5172594a6e5aad013994801c6f63011a62b191d"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libgmp",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,16 @@
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz"
|
||||
blake3 = "e4bfbda32f4fdf5ed96c152efe3a3867193b690faa5378d02a2a6fd052ee3393"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libgmp"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,9 @@
|
||||
[source]
|
||||
tar = "https://github.com/xiph/ogg/releases/download/v1.3.4/libogg-1.3.4.tar.xz"
|
||||
blake3 = "1cffbe7c498555ddfdb1390d7a38179c4bead6129ea37b1b1d54f3a76b816304"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,18 @@
|
||||
[source]
|
||||
tar = "https://downloads.xiph.org/releases/opus/opus-1.6.1.tar.gz"
|
||||
blake3 = "874bd7d28e24f10d88105c7d846a2e5bf085284af91a0ee36b05674a8f78e759"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
# Redox does not support any of the aarch64 run-time cpu capability detection
|
||||
# APIs supported by libopus
|
||||
case "${TARGET}" in
|
||||
aarch64-*-redox) COOKBOOK_CONFIGURE_FLAGS+=(--disable-rtcd);;
|
||||
esac
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,12 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/liborbital.git"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||
"${COOKBOOK_CARGO}" build --release
|
||||
# other than x86_64 this will trigger error because of lacking .so files, which is fine
|
||||
"${COOKBOOK_MAKE}" install HOST="${TARGET}" DESTDIR="${COOKBOOK_STAGE}" || true
|
||||
"""
|
||||
@@ -0,0 +1,17 @@
|
||||
[source]
|
||||
tar = "https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.46.tar.gz"
|
||||
blake3 = "36f4bbb48c70975116b00ab0cff577931b96f703b2774ac3b33131d001419435"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
chmod +w config.sub
|
||||
GNU_CONFIG_GET config.sub
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = ["zlib"]
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,13 @@
|
||||
[source]
|
||||
tar = "https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.lz"
|
||||
blake3 = "91318b7b876b12ff4649b7a0d6f6ed4ab1ab44f48a49508c8978ab7b4ccf3298"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,14 @@
|
||||
[source]
|
||||
tar = "https://github.com/jedisct1/libsodium/archive/1.0.16.tar.gz"
|
||||
blake3 = "2482633f872c173f9a42e6badb44c3efb042e783e664fdf8b1046babfa2405e7"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
wget -O build-aux/config.sub "https://gitlab.redox-os.org/redox-os/gnu-config/-/raw/master/config.sub?inline=false"
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,14 @@
|
||||
[source]
|
||||
tar = "https://www.libssh2.org/download/libssh2-1.10.0.tar.gz"
|
||||
blake3 = "2447216ce82c1d22301456bb02f60dfb6688f1461417b90f900c099a87f1292f"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = ["openssl1"]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,23 @@
|
||||
[source]
|
||||
same_as = "../../dev/gcc13"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--enable-threads=posix
|
||||
--enable-libstdcxx-threads
|
||||
)
|
||||
|
||||
# TODO: Investigate why mutex is not available in riscv64
|
||||
if [ "${TARGET}" = "riscv64gc-unknown-redox" ]; then
|
||||
COOKBOOK_CONFIGURE_FLAGS+=( --without-libstdcxx-zoneinfo )
|
||||
fi
|
||||
|
||||
CPPINCLUDE="${COOKBOOK_HOST_SYSROOT}/$TARGET/include/c++/13.2.0"
|
||||
export CPPFLAGS+=" -I${CPPINCLUDE} -I${CPPINCLUDE}/$TARGET/bits"
|
||||
COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/libstdc++-v3/configure"
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,9 @@
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
# Avoid replacing host libstdc++ when using "host:"
|
||||
if [ "$TARGET" != "$COOKBOOK_HOST_TARGET" ]; then
|
||||
mkdir -p "${COOKBOOK_STAGE}/usr/lib"
|
||||
cp -av ${COOKBOOK_HOST_SYSROOT}/${GNU_TARGET}/lib/libstdc++.so* ${COOKBOOK_STAGE}/usr/lib/
|
||||
fi
|
||||
"""
|
||||
@@ -0,0 +1,25 @@
|
||||
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
|
||||
Date: Sat, 6 Dec 2025 15:59:20 +0100
|
||||
Subject: [PATCH] Fix compilation on Redox OS
|
||||
|
||||
---
|
||||
include/urcu/syscall-compat.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/urcu/syscall-compat.h b/include/urcu/syscall-compat.h
|
||||
index 23b266e..2c3b03f 100644
|
||||
--- a/include/urcu/syscall-compat.h
|
||||
+++ b/include/urcu/syscall-compat.h
|
||||
@@ -33,7 +33,8 @@
|
||||
#include <syscall.h>
|
||||
|
||||
#elif defined(__CYGWIN__) || defined(__APPLE__) || \
|
||||
- defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
+ defined(__FreeBSD__) || defined(__DragonFly__) || \
|
||||
+ defined(__redox__)
|
||||
/* Don't include anything on these platforms. */
|
||||
|
||||
#else
|
||||
--
|
||||
2.47.3
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
[source]
|
||||
tar = "https://lttng.org/files/urcu/userspace-rcu-0.14.0.tar.bz2"
|
||||
patches = ["0001-Fix-compilation-on-Redox-OS.patch"]
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,15 @@
|
||||
[source]
|
||||
tar = "https://dist.libuv.org/dist/v1.51.0/libuv-v1.51.0.tar.gz"
|
||||
blake3 = "e8b5e68bc2d0776ac4ea67df59d694fca58d5cc570c103443a2284e723d01fc2"
|
||||
patches = ["redox.patch"]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DBUILD_TESTING=Off
|
||||
)
|
||||
cookbook_cmake
|
||||
"""
|
||||
@@ -0,0 +1,355 @@
|
||||
diff -ruwN source/CMakeLists.txt source-new/CMakeLists.txt
|
||||
--- source/CMakeLists.txt 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/CMakeLists.txt 2025-10-10 11:19:40.329762962 +0700
|
||||
@@ -1,3 +1,4 @@
|
||||
+set (CMAKE_CXX_STANDARD 99)
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
if(POLICY CMP0091)
|
||||
@@ -323,6 +324,18 @@
|
||||
src/unix/hurd.c)
|
||||
endif()
|
||||
|
||||
+
|
||||
+if(CMAKE_SYSTEM_NAME STREQUAL "UnixPaths") # Redox
|
||||
+ list(APPEND uv_libraries dl)
|
||||
+ list(APPEND uv_sources
|
||||
+ src/unix/no-fsevents.c
|
||||
+ src/unix/proctitle.c
|
||||
+ src/unix/posix-hrtime.c
|
||||
+ src/unix/posix-poll.c
|
||||
+ src/unix/redox.c
|
||||
+ )
|
||||
+endif()
|
||||
+
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
list(APPEND uv_defines _GNU_SOURCE _POSIX_C_SOURCE=200112)
|
||||
list(APPEND uv_libraries dl rt)
|
||||
diff -ruwN source/include/uv/unix.h source-new/include/uv/unix.h
|
||||
--- source/include/uv/unix.h 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/include/uv/unix.h 2025-10-10 11:18:29.024386515 +0700
|
||||
@@ -66,6 +66,7 @@
|
||||
defined(__MSYS__) || \
|
||||
defined(__HAIKU__) || \
|
||||
defined(__QNX__) || \
|
||||
+ defined(__redox__) || \
|
||||
defined(__GNU__)
|
||||
# include "uv/posix.h"
|
||||
#endif
|
||||
diff -ruwN source/src/unix/core.c source-new/src/unix/core.c
|
||||
--- source/src/unix/core.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/core.c 2025-10-10 11:23:22.143824390 +0700
|
||||
@@ -110,6 +110,10 @@
|
||||
# include <sanitizer/linux_syscall_hooks.h>
|
||||
#endif
|
||||
|
||||
+#if defined(__redox__)
|
||||
+#define MSG_CMSG_CLOEXEC 0x40000000 //linux specific flag
|
||||
+#endif
|
||||
+
|
||||
static void uv__run_pending(uv_loop_t* loop);
|
||||
|
||||
/* Verify that uv_buf_t is ABI-compatible with struct iovec. */
|
||||
@@ -722,7 +726,8 @@
|
||||
defined(__FreeBSD__) || \
|
||||
defined(__NetBSD__) || \
|
||||
defined(__OpenBSD__) || \
|
||||
- defined(__linux__)
|
||||
+ defined(__linux__) || \
|
||||
+ defined(__redox__)
|
||||
ssize_t rc;
|
||||
rc = recvmsg(fd, msg, flags | MSG_CMSG_CLOEXEC);
|
||||
if (rc == -1)
|
||||
@@ -1644,6 +1649,11 @@
|
||||
* So the output parameter priority is actually the nice value.
|
||||
*/
|
||||
int uv_thread_getpriority(uv_thread_t tid, int* priority) {
|
||||
+#ifdef __redox__
|
||||
+ if (priority == NULL)
|
||||
+ return UV_EINVAL;
|
||||
+ *priority = 0;
|
||||
+#else
|
||||
int r;
|
||||
int policy;
|
||||
struct sched_param param;
|
||||
@@ -1670,6 +1680,7 @@
|
||||
#endif
|
||||
|
||||
*priority = param.sched_priority;
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1695,7 +1706,7 @@
|
||||
* If the function fails, the return value is non-zero.
|
||||
*/
|
||||
int uv_thread_setpriority(uv_thread_t tid, int priority) {
|
||||
-#if !defined(__GNU__)
|
||||
+#if !defined(__GNU__) && !defined(__redox__)
|
||||
int r;
|
||||
int min;
|
||||
int max;
|
||||
diff -ruwN source/src/unix/fs.c source-new/src/unix/fs.c
|
||||
--- source/src/unix/fs.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/fs.c 2025-10-10 11:18:29.024993834 +0700
|
||||
@@ -77,7 +77,8 @@
|
||||
defined(__MVS__) || \
|
||||
defined(__NetBSD__) || \
|
||||
defined(__HAIKU__) || \
|
||||
- defined(__QNX__)
|
||||
+ defined(__QNX__) || \
|
||||
+ defined(__redox__)
|
||||
# include <sys/statvfs.h>
|
||||
#else
|
||||
# include <sys/statfs.h>
|
||||
@@ -683,13 +684,13 @@
|
||||
defined(__MVS__) || \
|
||||
defined(__NetBSD__) || \
|
||||
defined(__HAIKU__) || \
|
||||
- defined(__QNX__)
|
||||
+ defined(__QNX__) || \
|
||||
+ defined(__redox__)
|
||||
struct statvfs buf;
|
||||
|
||||
if (0 != statvfs(req->path, &buf))
|
||||
#else
|
||||
struct statfs buf;
|
||||
-
|
||||
if (0 != statfs(req->path, &buf))
|
||||
#endif /* defined(__sun) */
|
||||
return -1;
|
||||
@@ -705,7 +706,8 @@
|
||||
defined(__OpenBSD__) || \
|
||||
defined(__NetBSD__) || \
|
||||
defined(__HAIKU__) || \
|
||||
- defined(__QNX__)
|
||||
+ defined(__QNX__) || \
|
||||
+ defined(__redox__)
|
||||
stat_fs->f_type = 0; /* f_type is not supported. */
|
||||
#else
|
||||
stat_fs->f_type = buf.f_type;
|
||||
diff -ruwN source/src/unix/proctitle.c source-new/src/unix/proctitle.c
|
||||
--- source/src/unix/proctitle.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/proctitle.c 2025-10-10 11:18:29.025229760 +0700
|
||||
@@ -30,7 +30,13 @@
|
||||
size_t cap; /* Maximum capacity. Computed once in uv_setup_args(). */
|
||||
};
|
||||
|
||||
+#if defined(__redox__)
|
||||
+void uv__set_process_title(const char* title) {
|
||||
+ // requires sys/prctl
|
||||
+}
|
||||
+#else
|
||||
extern void uv__set_process_title(const char* title);
|
||||
+#endif
|
||||
|
||||
static uv_mutex_t process_title_mutex;
|
||||
static uv_once_t process_title_mutex_once = UV_ONCE_INIT;
|
||||
diff -ruwN source/src/unix/redox.c source-new/src/unix/redox.c
|
||||
--- source/src/unix/redox.c 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/unix/redox.c 2025-10-10 11:18:29.028345924 +0700
|
||||
@@ -0,0 +1,104 @@
|
||||
+/* Copyright libuv contributors. All rights reserved.
|
||||
+ *
|
||||
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
+ * of this software and associated documentation files (the "Software"), to
|
||||
+ * deal in the Software without restriction, including without limitation the
|
||||
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the Software is
|
||||
+ * furnished to do so, subject to the following conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be included in
|
||||
+ * all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
+ * IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+#include "uv.h"
|
||||
+#include "internal.h"
|
||||
+
|
||||
+#include <errno.h>
|
||||
+#include <string.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+static void
|
||||
+get_mem_info(uint64_t* totalmem, uint64_t* freemem) {
|
||||
+ *totalmem = 0;
|
||||
+ *freemem = 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+void uv_loadavg(double avg[3]) {
|
||||
+ avg[0] = 0.0;
|
||||
+ avg[1] = 0.0;
|
||||
+ avg[2] = 0.0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+int uv_exepath(char* buffer, size_t* size) {
|
||||
+ if (buffer == NULL || size == NULL || *size == 0) {
|
||||
+ return UV_EINVAL;
|
||||
+ }
|
||||
+ FILE* fp = fopen("/scheme/sys/exe", "r");
|
||||
+ if (fp == NULL) {
|
||||
+ return -errno;
|
||||
+ }
|
||||
+ if (fgets(buffer, *size, fp) == NULL) {
|
||||
+ fclose(fp);
|
||||
+ return UV_EIO;
|
||||
+ }
|
||||
+ fclose(fp);
|
||||
+ buffer[strcspn(buffer, "\r\n")] = '\0';
|
||||
+ *size = strlen(buffer);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int uv_interface_addresses(uv_interface_address_t** addresses, int* count) {
|
||||
+ *count = 0;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+uint64_t uv_get_free_memory(void) {
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+uint64_t uv_get_total_memory(void) {
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+uint64_t uv_get_constrained_memory(void) {
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+uint64_t uv_get_available_memory(void) {
|
||||
+ return uv_get_free_memory();
|
||||
+}
|
||||
+
|
||||
+
|
||||
+int uv_resident_set_memory(size_t* rss) {
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+int uv_uptime(double* uptime) {
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) {
|
||||
+ *count = 0;
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+void uv_free_interface_addresses(uv_interface_address_t* addresses,
|
||||
+ int count) {
|
||||
+}
|
||||
diff -ruwN source/src/unix/stream.c source-new/src/unix/stream.c
|
||||
--- source/src/unix/stream.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/stream.c 2025-10-10 11:18:29.028522718 +0700
|
||||
@@ -29,7 +29,14 @@
|
||||
#include <errno.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
+#if defined(__redox__)
|
||||
+#define _GNU_SOURCE
|
||||
+#include <stdint.h>
|
||||
#include <sys/socket.h>
|
||||
+#include <netinet/in.h>
|
||||
+#else
|
||||
+#include <sys/socket.h>
|
||||
+#endif
|
||||
#include <sys/uio.h>
|
||||
#include <sys/un.h>
|
||||
#include <unistd.h>
|
||||
@@ -39,6 +46,7 @@
|
||||
# include <sys/event.h>
|
||||
# include <sys/time.h>
|
||||
# include <sys/select.h>
|
||||
+#endif
|
||||
|
||||
/* Forward declaration */
|
||||
typedef struct uv__stream_select_s uv__stream_select_t;
|
||||
@@ -58,7 +66,6 @@
|
||||
fd_set* swrite;
|
||||
size_t swrite_sz;
|
||||
};
|
||||
-#endif /* defined(__APPLE__) */
|
||||
|
||||
union uv__cmsg {
|
||||
struct cmsghdr hdr;
|
||||
diff -ruwN source/src/unix/tcp.c source-new/src/unix/tcp.c
|
||||
--- source/src/unix/tcp.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/tcp.c 2025-10-10 11:26:03.504101758 +0700
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <sys/socket.h>
|
||||
|
||||
/* ifaddrs is not implemented on AIX and IBM i PASE */
|
||||
-#if !defined(_AIX)
|
||||
+#if !defined(_AIX) && !defined(__redox__)
|
||||
#include <ifaddrs.h>
|
||||
#endif
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
static int uv__ipv6_link_local_scope_id(void) {
|
||||
struct sockaddr_in6* a6;
|
||||
int rv;
|
||||
-#if defined(_AIX)
|
||||
+#if defined(_AIX) || defined(__redox__)
|
||||
/* AIX & IBM i do not have ifaddrs
|
||||
* so fallback to use uv_interface_addresses */
|
||||
uv_interface_address_t* interfaces;
|
||||
@@ -268,7 +268,7 @@
|
||||
}
|
||||
|
||||
freeifaddrs(ifa);
|
||||
-#endif /* defined(_AIX) */
|
||||
+#endif /* defined(_AIX) || defined(__redox__) */
|
||||
|
||||
return rv;
|
||||
}
|
||||
diff -ruwN source/src/unix/thread.c source-new/src/unix/thread.c
|
||||
--- source/src/unix/thread.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/thread.c 2025-10-10 11:25:10.712328011 +0700
|
||||
@@ -897,7 +897,7 @@
|
||||
abort();
|
||||
}
|
||||
|
||||
-#if defined(_AIX) || defined(__MVS__) || defined(__PASE__)
|
||||
+#if defined(_AIX) || defined(__redox__) || defined(__MVS__) || defined(__PASE__)
|
||||
int uv__thread_setname(const char* name) {
|
||||
return UV_ENOSYS;
|
||||
}
|
||||
@@ -937,6 +937,7 @@
|
||||
|
||||
#if (defined(__ANDROID_API__) && __ANDROID_API__ < 26) || \
|
||||
defined(_AIX) || \
|
||||
+ defined(__redox__) || \
|
||||
defined(__MVS__) || \
|
||||
defined(__PASE__)
|
||||
int uv__thread_getname(uv_thread_t* tid, char* name, size_t size) {
|
||||
diff -ruwN source/src/unix/udp.c source-new/src/unix/udp.c
|
||||
--- source/src/unix/udp.c 2025-04-25 16:50:27.000000000 +0700
|
||||
+++ source-new/src/unix/udp.c 2025-10-10 11:18:29.028778883 +0700
|
||||
@@ -31,6 +31,12 @@
|
||||
#include <xti.h>
|
||||
#endif
|
||||
#include <sys/un.h>
|
||||
+#if defined(__redox__)
|
||||
+#include <netinet/in.h>
|
||||
+#include <netinet/ip.h>
|
||||
+#include <sys/socket.h>
|
||||
+#include <arpa/inet.h>
|
||||
+#endif
|
||||
|
||||
#if defined(IPV6_JOIN_GROUP) && !defined(IPV6_ADD_MEMBERSHIP)
|
||||
# define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP
|
||||
@@ -0,0 +1,14 @@
|
||||
[source]
|
||||
tar = "https://github.com/xiph/vorbis/releases/download/v1.3.7/libvorbis-1.3.7.tar.xz"
|
||||
blake3 = "c67f3f74ec26d93a5571c4404a64eb6e6587d7d77b46b552f7b410f5bc5b1f03"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
GNU_CONFIG_GET config.sub
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
dependencies = [
|
||||
"libogg"
|
||||
]
|
||||
@@ -0,0 +1,20 @@
|
||||
[source]
|
||||
tar = "https://download.gnome.org/sources/libxml2/2.11/libxml2-2.11.3.tar.xz"
|
||||
blake3 = "0653d3750576299c4cb88740942165671b576ff93019f3d669b3f37136225ab7"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"xz",
|
||||
"zlib"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--without-python
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,11 @@
|
||||
[source]
|
||||
git = "https://github.com/lunarmodules/lua-compat-5.3.git"
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"lua54"
|
||||
]
|
||||
script = """
|
||||
mkdir -pv "${COOKBOOK_STAGE}/include"
|
||||
cp -r "$COOKBOOK_SOURCE/c-api/." "${COOKBOOK_STAGE}/include"
|
||||
"""
|
||||
@@ -0,0 +1,17 @@
|
||||
[source]
|
||||
git = "https://github.com/luvit/luv.git"
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libuv",
|
||||
"luajit"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DWITH_LUA_ENGINE=Luajit
|
||||
-DLUA_BUILD_TYPE=System
|
||||
-DWITH_SHARED_LIBUV=On
|
||||
)
|
||||
cookbook_cmake
|
||||
"""
|
||||
@@ -0,0 +1,12 @@
|
||||
[source]
|
||||
tar = "https://archive.mesa3d.org/glu/glu-9.0.3.tar.xz"
|
||||
blake3 = "beed1665ed983540e7502289ec50c7e66d840820af3e9ef21c9c4a7e9686ab9f"
|
||||
|
||||
[build]
|
||||
dependencies = ["mesa"]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
cookbook_meson -Dgl_provider=osmesa
|
||||
"""
|
||||
@@ -0,0 +1,46 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/mesa.git"
|
||||
upstream = "https://gitlab.freedesktop.org/mesa/mesa"
|
||||
branch = "redox-24.0"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"expat",
|
||||
"libdrm",
|
||||
"liborbital",
|
||||
"llvm21",
|
||||
"zlib",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"llvm21.dev",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
#TODO: Should be CPPFLAGS but cookbook_meson isn't reading it
|
||||
export CFLAGS+=" -DHAVE_PTHREAD=1 -I${COOKBOOK_SYSROOT}/include/libdrm"
|
||||
export LLVM_CONFIG="${TARGET}-llvm-config"
|
||||
export LDFLAGS+=" -lorbital"
|
||||
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]; then
|
||||
COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=enabled)
|
||||
else
|
||||
COOKBOOK_MESON_FLAGS+=(-Dshared-llvm=disabled)
|
||||
fi
|
||||
|
||||
cookbook_meson \
|
||||
-Ddri-drivers-path=/usr/lib/dri \
|
||||
-Degl=enabled \
|
||||
-Dglx=disabled \
|
||||
-Dllvm=enabled \
|
||||
-Dosmesa=true \
|
||||
-Dplatforms=redox \
|
||||
-Dshader-cache=disabled \
|
||||
-Dvulkan-drivers=swrast
|
||||
|
||||
# Hack to add LLVM libs, the list can be seen from meson log and check for matches $("${LLVM_CONFIG}" --libs)
|
||||
LLVMLIBS="-lLLVMBitReader -lLLVMCore -lLLVMExecutionEngine -lLLVMInstCombine -lLLVMMCDisassembler"
|
||||
LLVMLIBS+=" -lLLVMMCJIT -lLLVMScalarOpts -lLLVMTransformUtils -lLLVMCoroutines -lLLVMLTO"
|
||||
sed -i "s/ -lOSMesa / -lOSMesa ${LLVMLIBS} -lstdc++ /" "${COOKBOOK_STAGE}/usr/lib/pkgconfig/osmesa.pc"
|
||||
"""
|
||||
@@ -0,0 +1,19 @@
|
||||
# C library for the arithmetic of complex numbers with arbitrarily high
|
||||
# precision and correct rounding of the result.
|
||||
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libgmp",
|
||||
"libmpfr",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,34 @@
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/ncurses/ncurses-6.6.tar.gz"
|
||||
blake3 = "fbec55697a01f99b9cc3f25be55e73ae7091f4c53e5d81a1ea15734c4e5b7238"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-db-install
|
||||
--disable-stripping
|
||||
--disable-widec
|
||||
--enable-pc-files
|
||||
--without-ada
|
||||
--without-manpages
|
||||
--without-tests
|
||||
--with-terminfo-dirs=/usr/share/terminfo
|
||||
--with-pkg-config-libdir=/usr/lib/pkgconfig
|
||||
cf_cv_func_mkstemp=yes
|
||||
)
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]
|
||||
then
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(--with-shared)
|
||||
fi
|
||||
cookbook_configure
|
||||
"""
|
||||
|
||||
[package]
|
||||
dependencies = [
|
||||
"terminfo",
|
||||
]
|
||||
@@ -0,0 +1,21 @@
|
||||
diff -ruwN source/configure source-new/configure
|
||||
--- source/configure 2022-11-06 04:13:26.000000000 +0700
|
||||
+++ source-new/configure 2026-02-17 13:42:38.449890407 +0700
|
||||
@@ -3480,8 +3480,6 @@
|
||||
echo $ECHO_N "checking if $CXX works... $ECHO_C" >&6
|
||||
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
- eval cf_includedir=${includedir}
|
||||
- CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
|
||||
|
||||
cat >"conftest.$ac_ext" <<_ACEOF
|
||||
#line 3487 "configure"
|
||||
@@ -6386,7 +6384,7 @@
|
||||
fi
|
||||
cf_cv_rm_so_locs=yes
|
||||
;;
|
||||
- (linux*|gnu*|k*bsd*-gnu)
|
||||
+ (linux*|gnu*|k*bsd*-gnu|redox*)
|
||||
if test "$DFT_LWR_MODEL" = "shared" && test -n "$LD_RPATH_OPT" ; then
|
||||
LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
|
||||
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
|
||||
@@ -0,0 +1,32 @@
|
||||
[source]
|
||||
same_as = "../ncurses"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-db-install
|
||||
--disable-ext-colors
|
||||
--disable-stripping
|
||||
--enable-widec
|
||||
--without-ada
|
||||
--without-manpages
|
||||
--without-tests
|
||||
--enable-pc-files
|
||||
--with-terminfo-dirs=/usr/share/terminfo
|
||||
--with-pkg-config-libdir=/usr/lib/pkgconfig
|
||||
cf_cv_func_mkstemp=yes
|
||||
cf_cv_wint_t=yes
|
||||
)
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]
|
||||
then
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(--with-shared)
|
||||
fi
|
||||
cookbook_configure
|
||||
"""
|
||||
|
||||
[package]
|
||||
dependencies = [
|
||||
"terminfo",
|
||||
]
|
||||
@@ -0,0 +1,17 @@
|
||||
[source]
|
||||
tar = "https://github.com/nghttp2/nghttp2/releases/download/v1.64.0/nghttp2-1.64.0.tar.xz"
|
||||
blake3 = "1bbc08de4816769d800c42f501a00c1ba3f5efa1b76e1f65d2e5bdf3aa30354d"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--enable-lib-only
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,30 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/openssl.git"
|
||||
branch = "redox-v1"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
ARCH="${TARGET%%-*}"
|
||||
OS=$(echo "${TARGET}" | cut -d - -f3)
|
||||
COOKBOOK_CONFIGURE="${COOKBOOK_SOURCE}/Configure"
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
threads
|
||||
no-dgram
|
||||
"${OS}-${ARCH}"
|
||||
--prefix="/"
|
||||
)
|
||||
|
||||
if [ "${COOKBOOK_DYNAMIC}" = "1" ]; then
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(shared)
|
||||
else
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(no-shared)
|
||||
fi
|
||||
|
||||
export CC="${CC_WRAPPER} ${GNU_TARGET}-gcc"
|
||||
"${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
|
||||
"${COOKBOOK_MAKE}" -j"${COOKBOOK_MAKE_JOBS}"
|
||||
"${COOKBOOK_MAKE}" install_sw install_ssldirs DESTDIR="${COOKBOOK_STAGE}"
|
||||
rm -rfv "${COOKBOOK_STAGE}/"{share,ssl}
|
||||
"""
|
||||
@@ -0,0 +1,19 @@
|
||||
[source]
|
||||
tar = "https://downloads.xiph.org/releases/opus/opusfile-0.12.tar.gz"
|
||||
blake3 = "1b6a5c371a0ea2ae8e37ab2e921388dfef9252dbf7f60045192dabbdd898f2bf"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "configure"
|
||||
dependencies = [
|
||||
"openssl3",
|
||||
"libogg",
|
||||
"libopus",
|
||||
]
|
||||
|
||||
[package]
|
||||
dependencies = [
|
||||
"ca-certificates"
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
[source]
|
||||
tar = "https://download.gnome.org/sources/pango/1.56/pango-1.56.3.tar.xz"
|
||||
blake3 = "78542feaaf007c1d648b94c4e9b6655ed7515d27ce434766aea99bef886c21ac"
|
||||
patches = ["redox.patch"]
|
||||
|
||||
[build]
|
||||
dependencies = [
|
||||
"cairo",
|
||||
"expat",
|
||||
"fontconfig",
|
||||
"freetype2",
|
||||
"fribidi",
|
||||
"gettext",
|
||||
"glib",
|
||||
"harfbuzz",
|
||||
"libffi",
|
||||
"libiconv",
|
||||
"libpng",
|
||||
"libpthread-stubs",
|
||||
"libx11",
|
||||
"libxau",
|
||||
"libxcb",
|
||||
"libxext",
|
||||
"libxft",
|
||||
"libxrender",
|
||||
"pcre",
|
||||
"pcre2",
|
||||
"pixman",
|
||||
"x11proto",
|
||||
"xcb-proto",
|
||||
"xextproto",
|
||||
"zlib",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_meson \
|
||||
-Dbuild-examples=false \
|
||||
-Dbuild-testsuite=false
|
||||
"""
|
||||
@@ -0,0 +1,14 @@
|
||||
diff -ruwN pango-1.56.3/meson.build source/meson.build
|
||||
--- pango-1.56.3/meson.build 2025-03-16 05:45:47.000000000 -0600
|
||||
+++ source/meson.build 2025-05-01 13:51:05.834742120 -0600
|
||||
@@ -551,8 +551,8 @@
|
||||
pango_inc = include_directories('pango')
|
||||
|
||||
subdir('pango')
|
||||
-subdir('utils')
|
||||
-subdir('tools')
|
||||
+#TODO: fails to build on Redox: subdir('utils')
|
||||
+#TODO: fails to build on Redox: subdir('tools')
|
||||
subdir('docs')
|
||||
if get_option('build-testsuite')
|
||||
subdir('tests')
|
||||
@@ -0,0 +1,16 @@
|
||||
[source]
|
||||
tar = "https://mirrors.gigenet.com/OSDN//sfnet/p/pc/pcre/pcre/8.42/pcre-8.42.tar.gz"
|
||||
blake3 = "12d515ba12a816994def6b1e7196b5783fd2cfe495733a9167fa4d71dbe10248"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,17 @@
|
||||
diff -ruwN source/pcretest.c source-new/pcretest.c
|
||||
--- source/pcretest.c 2017-06-13 10:49:46.000000000 -0600
|
||||
+++ source-new/pcretest.c 2019-01-05 11:04:15.198224299 -0700
|
||||
@@ -3168,7 +3168,7 @@
|
||||
((stack_size = get_value((pcre_uint8 *)argv[op+1], &endptr)),
|
||||
*endptr == 0))
|
||||
{
|
||||
-#if defined(_WIN32) || defined(WIN32) || defined(__minix) || defined(NATIVE_ZOS) || defined(__VMS)
|
||||
+#if defined(_WIN32) || defined(WIN32) || defined(__minix) || defined(NATIVE_ZOS) || defined(__VMS) || defined(__redox__)
|
||||
printf("PCRE: -S not supported on this OS\n");
|
||||
exit(1);
|
||||
#else
|
||||
@@ -5770,4 +5770,3 @@
|
||||
}
|
||||
|
||||
/* End of pcretest.c */
|
||||
-
|
||||
@@ -0,0 +1,13 @@
|
||||
[source]
|
||||
tar = "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.45/pcre2-10.45.tar.bz2"
|
||||
blake3 = "aea544846f9a03c1ec62c9f8d1c9a4187cc3cce557e53e6876eb6a58c7cdd9fe"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,11 @@
|
||||
[source]
|
||||
tar = "https://www.cairographics.org/releases/pixman-0.46.0.tar.xz"
|
||||
blake3 = "379369245a0bbd13784bf550c87622964a6aba87edf598ffa137dc10201746e0"
|
||||
patches = ["redox.patch"]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_meson -Dtests=disabled
|
||||
"""
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -ruwN source/test/fence-image-self-test.c source-new/test/fence-image-self-test.c
|
||||
--- source/test/fence-image-self-test.c 2018-04-11 06:07:58.000000000 -0600
|
||||
+++ source-new/test/fence-image-self-test.c 2019-01-06 15:29:38.878720123 -0700
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "utils.h"
|
||||
|
||||
|
||||
-#if FENCE_MALLOC_ACTIVE && defined (HAVE_SIGACTION)
|
||||
+#if FENCE_MALLOC_ACTIVE && defined (HAVE_SIGACTION) && !defined(__redox__)
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
@@ -0,0 +1,19 @@
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/readline/readline-8.3.tar.gz"
|
||||
blake3 = "7109f094062bda387a0c16b4875375b96e36437bebbbd8d8f91bb27ba01d687f"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"ncursesw",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_configure
|
||||
OS=$(echo "${TARGET}" | cut -d - -f3)
|
||||
if [ "${OS}" = "redox" ]; then
|
||||
ln -s "libhistory.so.8" "${COOKBOOK_STAGE}"/usr/lib/libhistory.so
|
||||
ln -s "libreadline.so.8" "${COOKBOOK_STAGE}"/usr/lib/libreadline.so
|
||||
patchelf --add-needed libncursesw.so "${COOKBOOK_STAGE}/usr/lib/libreadline.so.8"
|
||||
fi
|
||||
"""
|
||||
@@ -0,0 +1,4 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/redox-fatfs.git"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,27 @@
|
||||
[source]
|
||||
tar = "https://sourceforge.net/projects/sdlgfx/files/SDL_gfx-2.0.25.tar.gz"
|
||||
blake3 = "e6f571a38e51d369b010f4b10eb35b95e3d2edae2edd796241c47ea8376581e6"
|
||||
patches = ["redox.patch"]
|
||||
script = """
|
||||
./autogen.sh
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"sdl1",
|
||||
"liborbital",
|
||||
"libiconv",
|
||||
]
|
||||
script = """
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--prefix=/
|
||||
--build="$(gcc -dumpmachine)"
|
||||
--host="${TARGET}"
|
||||
--disable-shared
|
||||
)
|
||||
|
||||
cookbook_configure
|
||||
|
||||
rm -f "${COOKBOOK_STAGE}/lib/"*.la
|
||||
"""
|
||||
@@ -0,0 +1,20 @@
|
||||
--- source/config.sub 2013-10-27 23:04:13.000000000 +0100
|
||||
+++ build/config.sub 2019-08-13 10:13:07.072063540 +0200
|
||||
@@ -125,7 +125,7 @@ case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||
- kopensolaris*-gnu* | \
|
||||
+ kopensolaris*-gnu* | redox* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
@@ -1346,7 +1346,7 @@ case $os in
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||
- | -sym* | -kopensolaris* \
|
||||
+ | -sym* | -kopensolaris* | -redox* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
@@ -0,0 +1,26 @@
|
||||
[source]
|
||||
tar = "https://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz"
|
||||
blake3 = "731a6f8cad9fff22c82394bd1c0c34ce4aa60fa8923f3755a3e3239f1e269389"
|
||||
patches = ["redox.patch"]
|
||||
script = """
|
||||
./autogen.sh
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"sdl1",
|
||||
"liborbital",
|
||||
"libiconv",
|
||||
"libjpeg",
|
||||
"libpng",
|
||||
"zlib"
|
||||
]
|
||||
script = """
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-sdltest
|
||||
--enable-png
|
||||
--enable-jpg
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -rupNw source-original/config.sub source/config.sub
|
||||
--- source-original/config.sub 2012-01-19 07:30:05.000000000 +0100
|
||||
+++ source/config.sub 2018-05-01 17:31:52.766229515 +0200
|
||||
@@ -1276,7 +1276,7 @@ case $os in
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
- | -kopensolaris* \
|
||||
+ | -kopensolaris* | -redox* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
@@ -0,0 +1,30 @@
|
||||
[source]
|
||||
tar = "https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12.tar.gz"
|
||||
blake3 = "ef23bab2d42250dfdc51ce6939ee7b393973ff11a0dd3481f32180b489d2661c"
|
||||
patches = ["redox.patch"]
|
||||
script = """
|
||||
./autogen.sh
|
||||
"""
|
||||
|
||||
[build]
|
||||
dependencies = [
|
||||
"libogg",
|
||||
"liborbital",
|
||||
"libvorbis",
|
||||
"sdl1",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
export LIBS="-lvorbis -logg"
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--enable-music-ogg
|
||||
--enable-music-midi
|
||||
--disable-sdltest
|
||||
--disable-music-cmd
|
||||
--disable-music-mp3
|
||||
--disable-smpegtest
|
||||
--disable-music-mod
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,55 @@
|
||||
diff -ruwN source/build-scripts/config.sub source-new/build-scripts/config.sub
|
||||
--- source/build-scripts/config.sub 2012-01-15 15:01:05.000000000 -0700
|
||||
+++ source-new/build-scripts/config.sub 2022-11-20 12:23:50.849108724 -0700
|
||||
@@ -1276,7 +1276,7 @@
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
- | -kopensolaris* \
|
||||
+ | -kopensolaris* | -redox* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
diff -ruwN source/Makefile.in source-new/Makefile.in
|
||||
--- source/Makefile.in 2012-01-15 15:01:04.000000000 -0700
|
||||
+++ source-new/Makefile.in 2022-11-20 12:23:50.849108724 -0700
|
||||
@@ -66,10 +66,10 @@
|
||||
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
|
||||
|
||||
$(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET)
|
||||
- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET)
|
||||
+ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) --static
|
||||
|
||||
$(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET)
|
||||
- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET)
|
||||
+ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(SDL_LIBS) $(objects)/$(TARGET) --static
|
||||
|
||||
install: all install-hdrs install-lib #install-bin
|
||||
install-hdrs:
|
||||
diff -ruwN source/timidity/config.h source-new/timidity/config.h
|
||||
--- source/timidity/config.h 2012-01-15 15:01:05.000000000 -0700
|
||||
+++ source-new/timidity/config.h 2022-11-20 12:26:04.067581857 -0700
|
||||
@@ -162,6 +162,7 @@
|
||||
then specify the library directory in the configuration file. */
|
||||
#define CONFIG_FILE "timidity.cfg"
|
||||
#define CONFIG_FILE_ETC "/etc/timidity.cfg"
|
||||
+#define CONFIG_FILE_ETC_TIMIDITY_FREEPATS "/etc/timidity/freepats.cfg"
|
||||
|
||||
#if defined(__WIN32__) || defined(__OS2__)
|
||||
#define DEFAULT_PATH "C:\\TIMIDITY"
|
||||
diff -ruwN source/timidity/timidity.c source-new/timidity/timidity.c
|
||||
--- source/timidity/timidity.c 2012-01-15 15:01:05.000000000 -0700
|
||||
+++ source-new/timidity/timidity.c 2022-11-20 12:26:42.248290658 -0700
|
||||
@@ -286,10 +286,12 @@
|
||||
if (!env || read_config_file(env)<0) {
|
||||
if (read_config_file(CONFIG_FILE)<0) {
|
||||
if (read_config_file(CONFIG_FILE_ETC)<0) {
|
||||
+ if (read_config_file(CONFIG_FILE_ETC_TIMIDITY_FREEPATS)<0) {
|
||||
return(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
+ }
|
||||
|
||||
if (channels < 1 || channels == 3 || channels == 5 || channels > 6) return(-1);
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
[source]
|
||||
tar = "https://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz"
|
||||
blake3 = "a684e57553e43b55ab28b064d1d5d44b8749299f259da31a62d671fc1d5505ee"
|
||||
patches = ["redox.patch"]
|
||||
script = """
|
||||
./autogen.sh
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"sdl1",
|
||||
"liborbital",
|
||||
"freetype2",
|
||||
"libpng",
|
||||
"zlib",
|
||||
]
|
||||
script = """
|
||||
export CFLAGS="${CFLAGS} -I${COOKBOOK_SYSROOT}/include/freetype2"
|
||||
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--prefix=/
|
||||
--build="$(gcc -dumpmachine)"
|
||||
--host="${TARGET}"
|
||||
--disable-shared
|
||||
)
|
||||
|
||||
cookbook_configure
|
||||
|
||||
rm -f "${COOKBOOK_STAGE}/lib/"*.la
|
||||
"""
|
||||
@@ -0,0 +1,62 @@
|
||||
diff -ruw source/config.sub source-new/config.sub
|
||||
--- source/config.sub 2012-01-14 21:44:08.000000000 -0700
|
||||
+++ source-new/config.sub 2018-12-10 12:17:28.136784814 -0700
|
||||
@@ -1276,7 +1276,7 @@
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
- | -kopensolaris* \
|
||||
+ | -kopensolaris* | -redox* \
|
||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||
| -aos* | -aros* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
Only in source-new: config.sub.orig
|
||||
diff -ruw source/configure.in source-new/configure.in
|
||||
--- source/configure.in 2012-01-14 21:44:08.000000000 -0700
|
||||
+++ source-new/configure.in 2018-12-10 12:17:12.724883206 -0700
|
||||
@@ -91,38 +91,13 @@
|
||||
AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
|
||||
|
||||
dnl Check for the FreeType 2 library
|
||||
-dnl
|
||||
-dnl Get the cflags and libraries from the freetype-config script
|
||||
-dnl
|
||||
-AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is
|
||||
-installed (optional)],
|
||||
- freetype_prefix="$withval", freetype_prefix="")
|
||||
-AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix
|
||||
-where FREETYPE is installed (optional)],
|
||||
- freetype_exec_prefix="$withval", freetype_exec_prefix="")
|
||||
-
|
||||
-if test x$freetype_exec_prefix != x ; then
|
||||
- freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix"
|
||||
- if test x${FREETYPE_CONFIG+set} != xset ; then
|
||||
- FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config
|
||||
- fi
|
||||
-fi
|
||||
-if test x$freetype_prefix != x ; then
|
||||
- freetype_args="$freetype_args --prefix=$freetype_prefix"
|
||||
- if test x${FREETYPE_CONFIG+set} != xset ; then
|
||||
- FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config
|
||||
- fi
|
||||
-fi
|
||||
-AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
|
||||
-no_freetype=""
|
||||
-if test "$FREETYPE_CONFIG" = "no" ; then
|
||||
- AC_MSG_ERROR([
|
||||
-*** Unable to find FreeType2 library (http://www.freetype.org/)
|
||||
+#PKG_CHECK_MODULES([FT2], [freetype2 >= 7.0.1], [], [dnl
|
||||
+# AC_CHECK_FT2(,,[AC_MSG_ERROR([dnl
|
||||
+#*** Unable to find FreeType2 library (http://www.freetype.org/)])]
|
||||
+# )
|
||||
+#])
|
||||
-])
|
||||
-else
|
||||
- CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`"
|
||||
- LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`"
|
||||
-fi
|
||||
+CFLAGS="$CFLAGS $FT2_CFLAGS"
|
||||
+LIBS="$LIBS $FT2_LIBS -lfreetype -lpng -lz"
|
||||
|
||||
dnl Check for SDL
|
||||
SDL_VERSION=1.2.4
|
||||
@@ -0,0 +1,20 @@
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/sdl1.2.git"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"liborbital"
|
||||
]
|
||||
script = """
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-loadso
|
||||
--disable-pulseaudio
|
||||
--disable-video-x11
|
||||
--enable-clock_gettime
|
||||
--enable-pthread-sem
|
||||
--enable-redoxaudio
|
||||
--enable-video-orbital
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,25 @@
|
||||
[source]
|
||||
tar = "http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-1.0.4.tar.gz"
|
||||
blake3 = "2e9bd2dc0f004349b51418f33219ebf5cd69f25ed0ba660373652a662cbb857c"
|
||||
script = """
|
||||
GNU_CONFIG_GET config.sub
|
||||
"""
|
||||
|
||||
[build]
|
||||
dependencies = [
|
||||
"freetype2",
|
||||
"liborbital",
|
||||
"libpng",
|
||||
"mesa",
|
||||
"sdl2",
|
||||
"zlib",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
export SDL_LIBS="-lSDL2 -lorbital $("${PKG_CONFIG}" --libs osmesa) -lpng -lz -lm -lpthread -lstdc++"
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-sdltest
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,26 @@
|
||||
[source]
|
||||
tar = "https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"libjpeg",
|
||||
"liborbital",
|
||||
"libpng",
|
||||
"mesa",
|
||||
"sdl2",
|
||||
"zlib",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
export SDL_LIBS="-lSDL2 -lorbital $("${TARGET}-pkg-config" --libs osmesa) -lstdc++"
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--prefix=/usr
|
||||
--host="${TARGET}"
|
||||
--disable-sdltest
|
||||
--enable-shared
|
||||
--enable-png
|
||||
--enable-jpg
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,31 @@
|
||||
[source]
|
||||
tar = "https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.8.1.tar.gz"
|
||||
blake3 = "fa0798ce7ffdb5f89545311292374e5b7af479df8bc99a4aacfb40d2ab2f8384"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"sdl2",
|
||||
"liborbital",
|
||||
"mesa",
|
||||
"zlib",
|
||||
"libogg",
|
||||
"libvorbis",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
export SDL_LIBS="-lSDL2 -lorbital -lOSMesa -lvorbis -logg -lz -lm -lpthread -lstdc++"
|
||||
COOKBOOK_CONFIGURE_FLAGS=(
|
||||
--prefix=/
|
||||
--host="${TARGET}"
|
||||
--disable-sdltest
|
||||
--enable-music-ogg
|
||||
--disable-music-cmd
|
||||
--disable-music-mp3
|
||||
--disable-smpegtest
|
||||
--disable-music-midi
|
||||
--disable-music-mod
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,16 @@
|
||||
diff -ruw source/Makefile.in source-new/Makefile.in
|
||||
--- source/Makefile.in 2018-10-31 08:58:59.000000000 -0600
|
||||
+++ source-new/Makefile.in 2019-06-19 15:23:18.015149749 -0600
|
||||
@@ -65,10 +65,10 @@
|
||||
$(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(VERSION_OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS)
|
||||
|
||||
$(objects)/playwave$(EXE): $(objects)/playwave.lo $(objects)/$(TARGET)
|
||||
- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS)
|
||||
+ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playwave.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS) --static
|
||||
|
||||
$(objects)/playmus$(EXE): $(objects)/playmus.lo $(objects)/$(TARGET)
|
||||
- $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS)
|
||||
+ $(LIBTOOL) --mode=link $(CC) -o $@ $(objects)/playmus.lo $(SDL_CFLAGS) $(objects)/$(TARGET) $(SDL_LIBS) $(LDFLAGS) --static
|
||||
|
||||
install: all install-hdrs install-lib #install-bin
|
||||
install-hdrs:
|
||||
@@ -0,0 +1,29 @@
|
||||
[source]
|
||||
tar = "https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz"
|
||||
blake3 = "9814a07f33a3501b414f0fc7fa962e7d7ffc56748406f3798b7698b8d7e7fe12"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
./autogen.sh
|
||||
"""
|
||||
|
||||
[build]
|
||||
dependencies = [
|
||||
"expat",
|
||||
"freetype2",
|
||||
"libdrm",
|
||||
"liborbital",
|
||||
"libpng",
|
||||
"mesa",
|
||||
"sdl2",
|
||||
"zlib",
|
||||
]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
export SDL_LIBS="-lSDL2 -lorbital $("${PKG_CONFIG}" --libs osmesa) -lpng -lz -lm -lpthread -lstdc++"
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-sdltest
|
||||
--enable-opengl
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,28 @@
|
||||
#TODO: TEST
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/redox-os/sdl2.git"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
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"
|
||||
"""
|
||||
@@ -0,0 +1,12 @@
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz"
|
||||
blake3 = "57c095e0bb6e60e7b4a0597f51f7ac15b501ca0f95d37424d8d13978d28b8da3"
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_STATIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--prefix="${COOKBOOK_STAGE}/usr"
|
||||
)
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,14 @@
|
||||
[source]
|
||||
tar = "https://github.com/neovim/unibilium/archive/refs/tags/v2.1.2.tar.gz"
|
||||
blake3 = "856a7593a412942f4716bb55bfdd225f3ce92cb013b9d4a44693255f0570b1c7"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,6 @@
|
||||
[source]
|
||||
tar = "https://github.com/JuliaStrings/utf8proc/archive/refs/tags/v2.10.0.tar.gz"
|
||||
blake3 = "6f675db5d1ae55ad0825351ba9c58a5b5c24c862f559cc7bfed1cb63c1185594"
|
||||
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,25 @@
|
||||
[source]
|
||||
tar = "https://www.zlib.net/fossils/zlib-1.3.tar.gz"
|
||||
blake3 = "ec1abc6f672a7a6ee6f49ba544cc9529f73121b478310473be44fee22a140ebf"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
COOKBOOK_CONFIGURE_FLAGS=(--prefix="/usr")
|
||||
if [ "${COOKBOOK_DYNAMIC}" == "1" ]
|
||||
then
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(--shared)
|
||||
else
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(--static)
|
||||
fi
|
||||
# See https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar.
|
||||
env CHOST="${TARGET}" "${COOKBOOK_CONFIGURE}" "${COOKBOOK_CONFIGURE_FLAGS[@]}"
|
||||
"${COOKBOOK_MAKE}" -j "$(nproc)"
|
||||
"${COOKBOOK_MAKE}" install DESTDIR="${COOKBOOK_STAGE}"
|
||||
solib="${COOKBOOK_STAGE}/usr/lib/libz.so.1.3"
|
||||
if [ -e "${solib}" ]
|
||||
then
|
||||
patchelf --set-soname 'libz.so.1.3' "${solib}"
|
||||
fi
|
||||
"""
|
||||
Reference in New Issue
Block a user