ports: Add mesa port

This commit is contained in:
2025-06-28 20:51:29 +03:00
parent c3004a038f
commit ab00686ac9
5 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
diff -ruN mesa-25.0.7/src/util/macros.h mesa-25.0.7-banan_os/src/util/macros.h
--- mesa-25.0.7/src/util/macros.h 2025-05-28 18:20:23.000000000 +0300
+++ mesa-25.0.7-banan_os/src/util/macros.h 2025-06-17 13:59:03.341231717 +0300
@@ -25,7 +25,7 @@
#define UTIL_MACROS_H
#include <assert.h>
-#if defined(__HAIKU__) && !defined(__cplusplus)
+#if (defined(__HAIKU__) || defined(__banan_os__)) && !defined(__cplusplus)
#define static_assert _Static_assert
#endif
#include <stddef.h>

View File

@@ -0,0 +1,25 @@
diff -ruN mesa-25.0.7/src/util/detect_os.h mesa-25.0.7-banan_os/src/util/detect_os.h
--- mesa-25.0.7/src/util/detect_os.h 2025-05-28 18:20:23.000000000 +0300
+++ mesa-25.0.7-banan_os/src/util/detect_os.h 2025-06-17 14:04:20.625567958 +0300
@@ -76,6 +76,11 @@
#define DETECT_OS_WINDOWS 1
#endif
+#if defined(__banan_os__)
+#define DETECT_OS_BANAN_OS 1
+#define DETECT_OS_POSIX 1
+#endif
+
#if defined(__HAIKU__)
#define DETECT_OS_HAIKU 1
#define DETECT_OS_POSIX 1
@@ -113,6 +118,9 @@
#ifndef DETECT_OS_FREEBSD
#define DETECT_OS_FREEBSD 0
#endif
+#ifndef DETECT_OS_BANAN_OS
+#define DETECT_OS_BANAN_OS 0
+#endif
#ifndef DETECT_OS_HAIKU
#define DETECT_OS_HAIKU 0
#endif

View File

@@ -0,0 +1,34 @@
diff -ruN mesa-25.0.7/src/util/os_misc.c mesa-25.0.7-banan_os/src/util/os_misc.c
--- mesa-25.0.7/src/util/os_misc.c 2025-05-28 18:20:23.000000000 +0300
+++ mesa-25.0.7-banan_os/src/util/os_misc.c 2025-06-17 14:14:54.254785327 +0300
@@ -69,6 +69,9 @@
# include <mach/vm_param.h>
# include <mach/vm_statistics.h>
# endif
+#elif DETECT_OS_BANAN_OS
+# include <fcntl.h>
+# include <sys/banan-os.h>
#elif DETECT_OS_HAIKU
# include <kernel/OS.h>
#elif DETECT_OS_WINDOWS
@@ -311,6 +314,20 @@
#endif
return (sysctl(mib, 2, size, &len, NULL, 0) == 0);
+#elif DETECT_OS_BANAN_OS
+ int meminfo_fd = open("/proc/meminfo", O_RDONLY);
+ if (meminfo_fd == -1)
+ return false;
+
+ struct full_meminfo_t meminfo;
+ ssize_t nread = read(meminfo_fd, &meminfo, sizeof(meminfo));
+ close(meminfo_fd);
+
+ if (nread != sizeof(meminfo))
+ return false;
+
+ *size = (meminfo.free_pages + meminfo.used_pages) * meminfo.page_size;
+ return true;
#elif DETECT_OS_HAIKU
system_info info;
status_t ret;

View File

@@ -0,0 +1,14 @@
diff -ruN mesa-25.0.7/include/c99_alloca.h mesa-25.0.7-banan_os/include/c99_alloca.h
--- mesa-25.0.7/include/c99_alloca.h 2025-05-28 18:20:23.000000000 +0300
+++ mesa-25.0.7-banan_os/include/c99_alloca.h 2025-06-17 14:29:11.535095878 +0300
@@ -39,6 +39,10 @@
# include <alloca.h>
+#elif defined(__banan_os__)
+
+# define alloca __builtin_alloca
+
#else /* !defined(_MSC_VER) */
# include <stdlib.h>