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:
@@ -1,8 +1,8 @@
|
||||
#!/bin/bash ../install.sh
|
||||
|
||||
NAME='mesa'
|
||||
VERSION='25.0.7'
|
||||
DOWNLOAD_URL="https://archive.mesa3d.org/mesa-$VERSION.tar.xz#592272df3cf01e85e7db300c449df5061092574d099da275d19e97ef0510f8a6"
|
||||
VERSION='26.1.4'
|
||||
DOWNLOAD_URL="https://archive.mesa3d.org/mesa-$VERSION.tar.xz#072705caa9adf4740f1489194b13e278ad959166863b5271fe423a86353c9ab6"
|
||||
DEPENDENCIES=('zlib' 'zstd' 'expat' 'libX11' 'libXext')
|
||||
CONFIGURE_OPTIONS=(
|
||||
'-Dprefix=/usr'
|
||||
|
||||
1597
ports/mesa/patches/0001-add-back-osmesa.patch
Normal file
1597
ports/mesa/patches/0001-add-back-osmesa.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,12 +0,0 @@
|
||||
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>
|
||||
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;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
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
|
||||
@@ -1,34 +0,0 @@
|
||||
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;
|
||||
@@ -1,14 +0,0 @@
|
||||
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>
|
||||
@@ -1,13 +0,0 @@
|
||||
diff -ruN mesa-25.0.7/include/drm-uapi/drm.h mesa-25.0.7-banan_os/include/drm-uapi/drm.h
|
||||
--- mesa-25.0.7/include/drm-uapi/drm.h 2025-05-28 18:20:23.000000000 +0300
|
||||
+++ mesa-25.0.7-banan_os/include/drm-uapi/drm.h 2025-11-07 00:31:02.881817684 +0200
|
||||
@@ -44,7 +44,9 @@
|
||||
#else /* One of the BSDs */
|
||||
|
||||
#include <stdint.h>
|
||||
+#if 0
|
||||
#include <sys/ioccom.h>
|
||||
+#endif
|
||||
#include <sys/types.h>
|
||||
typedef int8_t __s8;
|
||||
typedef uint8_t __u8;
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -ruN mesa-25.0.7/src/util/u_thread.c mesa-25.0.7-banan_os/src/util/u_thread.c
|
||||
--- mesa-25.0.7/src/util/u_thread.c 2025-05-28 18:20:23.000000000 +0300
|
||||
+++ mesa-25.0.7-banan_os/src/util/u_thread.c 2026-03-04 18:59:55.591754019 +0200
|
||||
@@ -154,7 +154,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