ports: Add libdrm port
This commit is contained in:
34
ports/libdrm/build.sh
Executable file
34
ports/libdrm/build.sh
Executable file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/bin/bash ../install.sh
|
||||||
|
|
||||||
|
NAME='libdrm'
|
||||||
|
VERSION='2.4.134'
|
||||||
|
DOWNLOAD_URL="https://dri.freedesktop.org/libdrm/libdrm-$VERSION.tar.xz#ac5e74d157830eb8bee44c6a6bf3ad49774ef0dd2a72bdad74a8f20308b52a95"
|
||||||
|
_DEPENDENCIES=('mesa')
|
||||||
|
CONFIGURE_OPTIONS=(
|
||||||
|
'-Dprefix=/usr'
|
||||||
|
'-Dbuildtype=release'
|
||||||
|
'-Dintel=disabled'
|
||||||
|
'-Dradeon=disabled'
|
||||||
|
'-Damdgpu=disabled'
|
||||||
|
'-Dnouveau=disabled'
|
||||||
|
'-Dvmwgfx=disabled'
|
||||||
|
'-Domap=disabled'
|
||||||
|
'-Dexynos=disabled'
|
||||||
|
'-Dfreedreno=disabled'
|
||||||
|
'-Dtegra=disabled'
|
||||||
|
'-Dvc4=disabled'
|
||||||
|
'-Detnaviv=disabled'
|
||||||
|
'-Dtests=false'
|
||||||
|
)
|
||||||
|
|
||||||
|
configure() {
|
||||||
|
meson setup --reconfigure --cross-file "$MESON_CROSS_FILE" "${CONFIGURE_OPTIONS[@]}" build || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
meson compile -C build || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
meson install --destdir="$DESTDIR" -C build || exit 1
|
||||||
|
}
|
||||||
60
ports/libdrm/patches/0001-add-banan-os-support.patch
Normal file
60
ports/libdrm/patches/0001-add-banan-os-support.patch
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
diff -ruN libdrm-2.4.134/include/drm/drm.h libdrm-2.4.134-banan_os/include/drm/drm.h
|
||||||
|
--- libdrm-2.4.134/include/drm/drm.h 2026-05-29 11:49:42.000000000 +0300
|
||||||
|
+++ libdrm-2.4.134-banan_os/include/drm/drm.h 2026-07-05 09:48:55.334130492 +0300
|
||||||
|
@@ -44,7 +44,44 @@
|
||||||
|
#else /* One of the BSDs */
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
+#ifdef __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
|
||||||
|
#include <sys/types.h>
|
||||||
|
typedef int8_t __s8;
|
||||||
|
typedef uint8_t __u8;
|
||||||
|
diff -ruN libdrm-2.4.134/xf86drm.h libdrm-2.4.134-banan_os/xf86drm.h
|
||||||
|
--- libdrm-2.4.134/xf86drm.h 2026-05-29 11:49:42.000000000 +0300
|
||||||
|
+++ libdrm-2.4.134-banan_os/xf86drm.h 2026-07-05 09:48:55.351883389 +0300
|
||||||
|
@@ -47,7 +47,7 @@
|
||||||
|
#define DRM_MAX_MINOR 64 /* deprecated */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(__linux__)
|
||||||
|
+#if defined(__linux__) || defined(__banan_os__)
|
||||||
|
|
||||||
|
#define DRM_IOCTL_NR(n) _IOC_NR(n)
|
||||||
|
#define DRM_IOC_VOID _IOC_NONE
|
||||||
Reference in New Issue
Block a user