libsdl2_2.32.6.bb 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. SECTION = "libs"
  8. LICENSE = "Zlib & BSD-2-Clause"
  9. LIC_FILES_CHKSUM = "\
  10. file://LICENSE.txt;md5=cbf0e3161523f9a9315b6b915c5c4457 \
  11. file://src/hidapi/LICENSE.txt;md5=7c3949a631240cb6c31c50f3eb696077 \
  12. file://src/hidapi/LICENSE-bsd.txt;md5=b5fa085ce0926bb50d0621620a82361f \
  13. file://src/video/yuv2rgb/LICENSE;md5=79f8f3418d91531e05f0fc94ca67e071 \
  14. "
  15. # arm-neon adds MIT license
  16. LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', '& MIT', '', d)}"
  17. LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'arm-neon', 'file://src/video/arm/pixman-arm-neon-asm.h;md5=9a9cc1e51abbf1da58f4d9528ec9d49b;beginline=1;endline=24', '', d)}"
  18. PROVIDES = "virtual/libsdl2"
  19. SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz"
  20. S = "${WORKDIR}/SDL2-${PV}"
  21. SRC_URI[sha256sum] = "6a7a40d6c2e00016791815e1a9f4042809210bdf10cc78d2c75b45c4f52f93ad"
  22. inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
  23. UPSTREAM_CHECK_REGEX = "SDL2-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar"
  24. BINCONFIG = "${bindir}/sdl2-config"
  25. CVE_PRODUCT = "simple_directmedia_layer sdl"
  26. EXTRA_OECMAKE = "-DSDL_OSS=OFF -DSDL_ESD=OFF -DSDL_ARTS=OFF \
  27. -DSDL_DISKAUDIO=OFF -DSDL_NAS=OFF -DSDL_ESD_SHARED=OFF \
  28. -DSDL_DUMMYVIDEO=OFF \
  29. -DSDL_RPI=OFF \
  30. -DSDL_PTHREADS=ON \
  31. -DSDL_RPATH=OFF \
  32. -DSDL_SNDIO=OFF \
  33. -DSDL_X11_XCURSOR=OFF \
  34. -DSDL_X11_XDBE=OFF \
  35. -DSDL_X11_XFIXES=OFF \
  36. -DSDL_X11_XINPUT=OFF \
  37. -DSDL_X11_XRANDR=OFF \
  38. -DSDL_X11_XSCRNSAVER=OFF \
  39. -DSDL_X11_XSHAPE=OFF \
  40. "
  41. # opengl packageconfig factored out to make it easy for distros
  42. # and BSP layers to pick either (desktop) opengl, gles2, or no GL
  43. PACKAGECONFIG_GL ?= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
  44. PACKAGECONFIG:class-native = "x11 ${PACKAGECONFIG_GL}"
  45. PACKAGECONFIG:class-nativesdk = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} ${PACKAGECONFIG_GL}"
  46. PACKAGECONFIG ??= " \
  47. ${PACKAGECONFIG_GL} \
  48. ${@bb.utils.filter('DISTRO_FEATURES', 'alsa directfb pulseaudio pipewire x11 vulkan', d)} \
  49. ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland gles2', '', d)} \
  50. ${@bb.utils.contains("TUNE_FEATURES", "neon","arm-neon","",d)} \
  51. "
  52. PACKAGECONFIG[alsa] = "-DSDL_ALSA=ON,-DSDL_ALSA=OFF,alsa-lib,"
  53. PACKAGECONFIG[arm-neon] = "-DSDL_ARMNEON=ON,-DSDL_ARMNEON=OFF"
  54. PACKAGECONFIG[directfb] = "-DSDL_DIRECTFB=ON,-DSDL_DIRECTFB=OFF,directfb,directfb"
  55. PACKAGECONFIG[gles2] = "-DSDL_OPENGLES=ON,-DSDL_OPENGLES=OFF,virtual/libgles2"
  56. PACKAGECONFIG[jack] = "-DSDL_JACK=ON,-DSDL_JACK=OFF,jack"
  57. PACKAGECONFIG[kmsdrm] = "-DSDL_KMSDRM=ON,-DSDL_KMSDRM=OFF,libdrm virtual/libgbm"
  58. PACKAGECONFIG[libsamplerate] = "-DSDL_LIBSAMPLERATE=ON,-DSDL_LIBSAMPLERATE=OFF,libsamplerate0"
  59. # The hidraw support doesn't catch Xbox, PS4 and Nintendo controllers,
  60. # so we'll just use libusb when it's available.
  61. PACKAGECONFIG[libusb] = "-DSDL_HIDAPI_LIBUSB=ON,-DSDL_HIDAPI_LIBUSB=OFF,libusb1"
  62. PACKAGECONFIG[libdecor] = "-DSDL_WAYLAND_LIBDECOR=ON,-DSDL_WAYLAND_LIBDECOR=OFF,libdecor,libdecor"
  63. PACKAGECONFIG[opengl] = "-DSDL_OPENGL=ON,-DSDL_OPENGL=OFF,virtual/egl"
  64. PACKAGECONFIG[pipewire] = "-DSDL_PIPEWIRE_SHARED=ON,-DSDL_PIPEWIRE_SHARED=OFF,pipewire"
  65. PACKAGECONFIG[pulseaudio] = "-DSDL_PULSEAUDIO=ON,-DSDL_PULSEAUDIO=OFF,pulseaudio"
  66. PACKAGECONFIG[vulkan] = "-DSDL_VULKAN=ON,-DSDL_VULKAN=OFF"
  67. PACKAGECONFIG[wayland] = "-DSDL_WAYLAND=ON,-DSDL_WAYLAND=OFF,wayland-native wayland wayland-protocols libxkbcommon"
  68. PACKAGECONFIG[x11] = "-DSDL_X11=ON,-DSDL_X11=OFF,virtual/libx11 libxext libxrandr libxrender"
  69. CFLAGS:append:class-native = " -DNO_SHARED_MEMORY"
  70. FILES:${PN} += "${datadir}/licenses/SDL2/LICENSE.txt"
  71. BBCLASSEXTEND = "native nativesdk"