ports: Update mesa 25.0.7->26.1.4
This required bringing back osmesa code from 25.0.7 which was the last version where it was supported. Seems to work fine though
This commit is contained in:
172
ports/mesa/patches/0002-add-support-for-banan-os.patch
Normal file
172
ports/mesa/patches/0002-add-support-for-banan-os.patch
Normal file
@@ -0,0 +1,172 @@
|
||||
diff -ruN mesa-26.1.4/include/c99_alloca.h mesa-26.1.4-banan_os/include/c99_alloca.h
|
||||
--- mesa-26.1.4/include/c99_alloca.h 2026-07-01 17:16:13.000000000 +0300
|
||||
+++ mesa-26.1.4-banan_os/include/c99_alloca.h 2026-07-05 12:36:39.805616590 +0300
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
# define alloca _alloca
|
||||
|
||||
-#elif defined(__sun) || defined(__CYGWIN__)
|
||||
+#elif defined(__sun) || defined(__CYGWIN__) || defined(__banan_os__)
|
||||
|
||||
# include <alloca.h>
|
||||
|
||||
diff -ruN mesa-26.1.4/include/drm-uapi/drm.h mesa-26.1.4-banan_os/include/drm-uapi/drm.h
|
||||
--- mesa-26.1.4/include/drm-uapi/drm.h 2026-07-01 17:16:13.000000000 +0300
|
||||
+++ mesa-26.1.4-banan_os/include/drm-uapi/drm.h 2026-07-05 12:36:39.797829778 +0300
|
||||
@@ -47,6 +47,41 @@
|
||||
#include <sys/types.h>
|
||||
#if defined(__GNU__)
|
||||
#include <sys/ioctl.h>
|
||||
+#elif defined(__banan_os__)
|
||||
+#define _IOC_NRBITS 8
|
||||
+#define _IOC_TYPEBITS 8
|
||||
+#define _IOC_SIZEBITS 14
|
||||
+#define _IOC_DIRBITS 2
|
||||
+
|
||||
+#define _IOC_NRMASK ((1 << _IOC_NRBITS ) - 1)
|
||||
+#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS) - 1)
|
||||
+#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS) - 1)
|
||||
+#define _IOC_DIRMASK ((1 << _IOC_DIRBITS ) - 1)
|
||||
+
|
||||
+#define _IOC_NRSHIFT 0
|
||||
+#define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS )
|
||||
+#define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS)
|
||||
+#define _IOC_DIRSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS)
|
||||
+
|
||||
+#define _IOC_NONE 0U
|
||||
+#define _IOC_WRITE 1U
|
||||
+#define _IOC_READ 2U
|
||||
+
|
||||
+#define _IOC(dir, type, nr, size) \
|
||||
+ (((dir) << _IOC_DIRSHIFT ) | \
|
||||
+ ((size) << _IOC_SIZESHIFT) | \
|
||||
+ ((type) << _IOC_TYPESHIFT) | \
|
||||
+ ((nr) << _IOC_NRSHIFT ))
|
||||
+
|
||||
+#define _IO(type, nr) _IOC(_IOC_NONE, (type), (nr), 0)
|
||||
+#define _IOR(type, nr, size) _IOC(_IOC_READ, (type), (nr), sizeof(size))
|
||||
+#define _IOW(type, nr, size) _IOC(_IOC_WRITE, (type), (nr), sizeof(size))
|
||||
+#define _IOWR(type, nr, size) _IOC(_IOC_READ|_IOC_WRITE, (type), (nr), sizeof(size))
|
||||
+
|
||||
+#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT ) & _IOC_DIRMASK )
|
||||
+#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
|
||||
+#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT ) & _IOC_NRMASK )
|
||||
+#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
|
||||
#else
|
||||
#include <sys/ioccom.h>
|
||||
#endif
|
||||
diff -ruN mesa-26.1.4/src/util/detect_os.h mesa-26.1.4-banan_os/src/util/detect_os.h
|
||||
--- mesa-26.1.4/src/util/detect_os.h 2026-07-01 17:16:13.000000000 +0300
|
||||
+++ mesa-26.1.4-banan_os/src/util/detect_os.h 2026-07-05 12:36:41.342028269 +0300
|
||||
@@ -91,6 +91,10 @@
|
||||
#define DETECT_OS_POSIX 1
|
||||
#endif
|
||||
|
||||
+#if defined(__banan_os__)
|
||||
+#define DETECT_OS_BANANOS 1
|
||||
+#define DETECT_OS_POSIX 1
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Make sure DETECT_OS_* are always defined, so that they can be used with #if
|
||||
@@ -146,5 +150,8 @@
|
||||
#ifndef DETECT_OS_MANAGARM
|
||||
#define DETECT_OS_MANAGARM 0
|
||||
#endif
|
||||
+#ifndef DETECT_OS_BANANOS
|
||||
+#define DETECT_OS_BANANOS 0
|
||||
+#endif
|
||||
|
||||
#endif /* DETECT_OS_H */
|
||||
diff -ruN mesa-26.1.4/src/util/os_misc.c mesa-26.1.4-banan_os/src/util/os_misc.c
|
||||
--- mesa-26.1.4/src/util/os_misc.c 2026-07-01 17:16:13.000000000 +0300
|
||||
+++ mesa-26.1.4-banan_os/src/util/os_misc.c 2026-07-05 12:36:41.310790644 +0300
|
||||
@@ -58,7 +58,7 @@
|
||||
# include <unistd.h>
|
||||
# include <log/log.h>
|
||||
# include <cutils/properties.h>
|
||||
-#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM
|
||||
+#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_MANAGARM || DETECT_OS_BANANOS
|
||||
# include <unistd.h>
|
||||
#elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD
|
||||
# include <sys/resource.h>
|
||||
@@ -470,6 +470,15 @@
|
||||
|
||||
*size = ((uint64_t)vm_stats.free_count + (uint64_t)vm_stats.inactive_count) * PAGE_SIZE;
|
||||
return true;
|
||||
+#elif DETECT_OS_BANANOS
|
||||
+ const long avphys_pages = sysconf(_SC_AVPHYS_PAGES);
|
||||
+ const long page_size = sysconf(_SC_PAGESIZE);
|
||||
+
|
||||
+ if (avphys_pages <= 0 || page_size <= 0)
|
||||
+ return false;
|
||||
+
|
||||
+ *size = (uint64_t)avphys_pages * (uint64_t)page_size;
|
||||
+ return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
diff -ruN mesa-26.1.4/src/util/u_process.c mesa-26.1.4-banan_os/src/util/u_process.c
|
||||
--- mesa-26.1.4/src/util/u_process.c 2026-07-01 17:16:13.000000000 +0300
|
||||
+++ mesa-26.1.4-banan_os/src/util/u_process.c 2026-07-05 12:36:41.320229357 +0300
|
||||
@@ -48,7 +48,7 @@
|
||||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
-#if DETECT_OS_LINUX
|
||||
+#if DETECT_OS_LINUX || DETECT_OS_BANANOS
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
@@ -163,6 +163,21 @@
|
||||
get_image_info(B_CURRENT_TEAM, &info);
|
||||
return strdup(info.name);
|
||||
}
|
||||
+#elif DETECT_OS_BANANOS
|
||||
+static char *
|
||||
+__getProgramName()
|
||||
+{
|
||||
+ char *progname = NULL;
|
||||
+ char buf[PATH_MAX];
|
||||
+ if (readlink("/proc/self/exe", buf, sizeof(buf)) > 0) {
|
||||
+ progname = strrchr(buf, '/');
|
||||
+ if (progname)
|
||||
+ progname++;
|
||||
+ else
|
||||
+ progname = buf;
|
||||
+ }
|
||||
+ return strdup(progname);
|
||||
+}
|
||||
#else
|
||||
#define GET_PROGRAM_NAME_NOT_AVAILABLE
|
||||
#endif
|
||||
@@ -269,7 +284,7 @@
|
||||
cmdline[size - 1] = 0;
|
||||
return true;
|
||||
}
|
||||
-#elif DETECT_OS_LINUX
|
||||
+#elif DETECT_OS_LINUX || DETECT_OS_BANANOS
|
||||
int f = open("/proc/self/cmdline", O_RDONLY);
|
||||
if (f != -1) {
|
||||
const int n = read(f, cmdline, size - 1);
|
||||
diff -ruN mesa-26.1.4/src/util/u_thread.c mesa-26.1.4-banan_os/src/util/u_thread.c
|
||||
--- mesa-26.1.4/src/util/u_thread.c 2026-07-01 17:16:13.000000000 +0300
|
||||
+++ mesa-26.1.4-banan_os/src/util/u_thread.c 2026-07-05 12:36:41.338559292 +0300
|
||||
@@ -71,7 +71,7 @@
|
||||
void u_thread_setname( const char *name )
|
||||
{
|
||||
#if defined(HAVE_PTHREAD)
|
||||
-#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || defined(__GLIBC__) || DETECT_OS_MANAGARM || DETECT_OS_FUCHSIA
|
||||
+#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || defined(__GLIBC__) || DETECT_OS_MANAGARM || DETECT_OS_FUCHSIA || DETECT_OS_BANANOS
|
||||
int ret = pthread_setname_np(pthread_self(), name);
|
||||
if (ret == ERANGE) {
|
||||
char buf[16];
|
||||
@@ -150,7 +150,7 @@
|
||||
int64_t
|
||||
util_thread_get_time_nano(thrd_t thread)
|
||||
{
|
||||
-#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__managarm__)
|
||||
+#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__managarm__) && !defined(__banan_os__)
|
||||
struct timespec ts;
|
||||
clockid_t cid;
|
||||
|
||||
Reference in New Issue
Block a user