diff options
author | Markus Volk <f_l_k@t-online.de> | 2025-03-13 15:13:09 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-03-13 22:09:35 -0700 |
commit | 8bcfbe9f47dbdcb8c87cebdd2f66c47d31c57abe (patch) | |
tree | b0c9995a0039a3b472d2f2a1a04219e27cadf091 | |
parent | 972afd4c720d9f9ff1a3a44e9b401443256f0342 (diff) | |
download | meta-openembedded-8bcfbe9f47dbdcb8c87cebdd2f66c47d31c57abe.tar.gz |
libsdl3: add recipe
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.8.bb | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.8.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.8.bb new file mode 100644 index 0000000000..63a78907b0 --- /dev/null +++ b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.2.8.bb | |||
@@ -0,0 +1,79 @@ | |||
1 | SUMMARY = "Simple DirectMedia Layer" | ||
2 | DESCRIPTION = "Simple DirectMedia Layer is a cross-platform multimedia \ | ||
3 | library designed to provide low level access to audio, keyboard, mouse, \ | ||
4 | joystick, 3D hardware via OpenGL, and 2D video framebuffer." | ||
5 | HOMEPAGE = "http://www.libsdl.org" | ||
6 | BUGTRACKER = "http://bugzilla.libsdl.org/" | ||
7 | |||
8 | SECTION = "libs" | ||
9 | |||
10 | LICENSE = "Zlib & BSD-2-Clause" | ||
11 | LIC_FILES_CHKSUM = "\ | ||
12 | file://LICENSE.txt;md5=cbf0e3161523f9a9315b6b915c5c4457 \ | ||
13 | file://src/hidapi/LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077 \ | ||
14 | file://src/hidapi/LICENSE-bsd.txt;md5=b5fa085ce0926bb50d0621620a82361f \ | ||
15 | file://src/video/yuv2rgb/LICENSE;md5=79f8f3418d91531e05f0fc94ca67e071 \ | ||
16 | " | ||
17 | |||
18 | PROVIDES = "virtual/libsdl3" | ||
19 | |||
20 | SRC_URI = "http://www.libsdl.org/release/SDL3-${PV}.tar.gz" | ||
21 | |||
22 | S = "${WORKDIR}/SDL3-${PV}" | ||
23 | |||
24 | SRC_URI[sha256sum] = "13388fabb361de768ecdf2b65e52bb27d1054cae6ccb6942ba926e378e00db03" | ||
25 | |||
26 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even | ||
27 | |||
28 | CVE_PRODUCT = "simple_directmedia_layer sdl" | ||
29 | |||
30 | EXTRA_OECMAKE = " \ | ||
31 | -DSDL_OSS_DEFAULT=OFF \ | ||
32 | -DSDL_DISKAUDIO=OFF \ | ||
33 | -DSDL_DUMMYVIDEO=OFF \ | ||
34 | -DSDL_RPI=OFF \ | ||
35 | -DSDL_PTHREADS=ON \ | ||
36 | -DSDL_RPATH=OFF \ | ||
37 | -DSDL_SNDIO=OFF \ | ||
38 | -DSDL_X11_XCURSOR=OFF \ | ||
39 | -DSDL_X11_XDBE=OFF \ | ||
40 | -DSDL_X11_XFIXES=OFF \ | ||
41 | -DSDL_X11_XINPUT=OFF \ | ||
42 | -DSDL_X11_XRANDR=OFF \ | ||
43 | -DSDL_X11_XSCRNSAVER=OFF \ | ||
44 | -DSDL_X11_XSHAPE=OFF \ | ||
45 | " | ||
46 | |||
47 | # opengl packageconfig factored out to make it easy for distros | ||
48 | # and BSP layers to pick either (desktop) opengl, gles2, or no GL | ||
49 | PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" | ||
50 | |||
51 | PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}" | ||
52 | PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}" | ||
53 | PACKAGECONFIG ??= " \ | ||
54 | ${PACKAGECONFIG_GL} \ | ||
55 | ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio pipewire x11 vulkan', d)} \ | ||
56 | ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \ | ||
57 | ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \ | ||
58 | " | ||
59 | PACKAGECONFIG[alsa] = "-DSDL_ALSA=ON,-DSDL_ALSA=OFF,alsa-lib," | ||
60 | PACKAGECONFIG[arm-neon] = "-DSDL_ARMNEON=ON,-DSDL_ARMNEON=OFF" | ||
61 | PACKAGECONFIG[gles2] = "-DSDL_OPENGLES=ON,-DSDL_OPENGLES=OFF,virtual/libgles2" | ||
62 | PACKAGECONFIG[jack] = "-DSDL_JACK=ON,-DSDL_JACK=OFF,jack" | ||
63 | PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/libgbm" | ||
64 | # The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers, | ||
65 | # so we'll just use libusb when it's available. | ||
66 | PACKAGECONFIG[libusb] = "-DSDL_HIDAPI_LIBUSB=ON,-DSDL_HIDAPI_LIBUSB=OFF,libusb1" | ||
67 | PACKAGECONFIG[libdecor] = "-DSDL_WAYLAND_LIBDECOR=ON,-DSDL_WAYLAND_LIBDECOR=OFF,libdecor,libdecor" | ||
68 | PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl" | ||
69 | PACKAGECONFIG[pipewire] = "-DSDL_PIPEWIRE_SHARED=ON,-DSDL_PIPEWIRE_SHARED=OFF,pipewire" | ||
70 | PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio" | ||
71 | PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON -DSDL_RENDER_VULKAN=ON,-DSDL_VULKAN=OFF -DSDL_RENDER_VULKAN=OFF" | ||
72 | PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon" | ||
73 | PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender" | ||
74 | |||
75 | CFLAGS:append:class-native = " -DNO_SHARED_MEMORY" | ||
76 | |||
77 | FILES:${PN} += "${datadir}/licenses/SDL3/LICENSE.txt" | ||
78 | |||
79 | BBCLASSEXTEND = "native nativesdk" | ||