rpidistro-vlc_3.0.17.bb 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. DESCRIPTION = "Video player and streamer - davinci edition"
  2. HOMEPAGE = "http://www.videolan.org"
  3. SECTION = "multimedia"
  4. LICENSE = "GPL-2.0-only"
  5. LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
  6. SRC_URI = "\
  7. git://git@github.com/RPi-Distro/vlc;protocol=https;branch=buster-rpt \
  8. file://0001-configure-fix-linking-on-RISC-V-ISA.patch \
  9. file://0002-Revert-configure-Require-libmodplug-0.8.9.patch \
  10. file://0003-CVE-2022-41325.patch \
  11. file://0004-mmal_20.patch \
  12. file://0005-mmal_exit_fix.patch \
  13. file://0006-mmal_chain.patch \
  14. file://0007-armv6.patch \
  15. file://0008-configure-Disable-incompatible-function-pointer-type.patch \
  16. file://0009-demux-dash-include-cstdint-needed-for-uint64_t.patch \
  17. file://2001-fix-luaL-checkint.patch \
  18. file://2002-use-vorbisidec.patch \
  19. file://3001-configure.ac-setup-for-OE-usage.patch \
  20. file://3002-fix-EGL-macro-undeclared-and-EGLImageKHR.patch \
  21. file://3003-codec-omxil_core-replace-opt-vc-path-with-usr-lib.patch \
  22. file://3004-use-GLESv2-headers-over-GL-headers.patch \
  23. file://3005-modules-remove-glspectrum-usage.patch \
  24. file://3006-codec-omxil_core.h-fix-multiple-definition-of.patch \
  25. ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', 'file://3007-remove-xorg-related-link-libs.patch', d)} \
  26. ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '', 'file://3008-vo-Makefile.am-exclude-libgl_plugin.patch', d)} \
  27. file://3009-vo-converter_vaapi-Fix-EGL-macro-undeclared.patch \
  28. file://3010-po-Fix-typos-in-oc.po-for-gettext-compatibility.patch \
  29. "
  30. SRCREV = "b276eb0d7bc3213363e97dbb681ef7c927be6c73"
  31. S = "${WORKDIR}/git"
  32. PROVIDES = "vlc"
  33. RPROVIDES:${PN} = "${PROVIDES}"
  34. DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native \
  35. dbus libxml2 gnutls tremor faad2 ffmpeg flac alsa-lib libidn \
  36. jpeg xz libmodplug mpeg2dec libmtp libopus orc libsamplerate0 \
  37. avahi libusb1 schroedinger taglib tiff"
  38. inherit autotools gettext pkgconfig mime-xdg
  39. export BUILDCC = "${BUILD_CC} -std=c11"
  40. EXTRA_OECONF = "\
  41. --enable-run-as-root \
  42. --enable-xvideo \
  43. --disable-lua \
  44. --disable-screen \
  45. --disable-caca \
  46. --enable-vlm \
  47. --enable-tremor \
  48. --disable-aa \
  49. --disable-faad \
  50. --enable-dbus \
  51. --without-contrib \
  52. --without-kde-solid \
  53. --enable-realrtsp \
  54. --disable-libtar \
  55. --enable-avcodec \
  56. --disable-css \
  57. "
  58. PACKAGECONFIG ?= "\
  59. ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
  60. ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'mmal', d)} \
  61. ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} \
  62. ${@bb.utils.contains_any('DISTRO_FEATURES', 'x11', 'notify', '', d)} \
  63. live555 dv1394 fontconfig fluidsynth freetype png udev \
  64. x264 alsa harfbuzz jack neon fribidi dvbpsi a52 v4l2 \
  65. "
  66. PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal --enable-mmal-avcodec,,userland"
  67. PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264"
  68. PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad"
  69. PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52"
  70. PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack"
  71. PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555"
  72. PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass"
  73. PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc"
  74. PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva"
  75. #PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
  76. PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex"
  77. PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
  78. PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx"
  79. #PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp"
  80. PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi"
  81. #PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba"
  82. PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp"
  83. PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss"
  84. PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2"
  85. PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg"
  86. PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg"
  87. PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394"
  88. PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394"
  89. PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg"
  90. PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo"
  91. PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3"
  92. PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig"
  93. PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype"
  94. #PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss"
  95. PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver"
  96. PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama"
  97. PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
  98. #PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
  99. #PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native"
  100. PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2"
  101. #PACKAGECONFIG[dca] = "--enable-dca,--disable-dca,libdca"
  102. PACKAGECONFIG[fribidi] = "--enable-fribidi,,fribidi"
  103. PACKAGECONFIG[gnutls] = "--enable-gnutls,,gnutls"
  104. PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,,fluidsynth"
  105. PACKAGECONFIG[harfbuzz] = "--enable-harfbuzz,--disable-harfbuzz,harfbuzz"
  106. PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev"
  107. PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,"
  108. PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus libogg"
  109. PACKAGECONFIG[ncurses] = "--enable-ncurses,--disable-ncurses,ncurses"
  110. PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
  111. PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
  112. PACKAGECONFIG[sdl-image] = "--enable-sdl-image,,libsdl-image"
  113. PACKAGECONFIG[v4l2] = "--enable-v4l2,,v4l-utils"
  114. TARGET_CFLAGS:append = " -I${STAGING_INCDIR}/drm"
  115. TARGET_LDFLAGS:append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '-lGLESv2', '', d)}"
  116. # Ensures the --enable-mmal-avcodec flag is available for usage
  117. do_configure:prepend() {
  118. olddir=`pwd`
  119. cd ${S}
  120. ./bootstrap
  121. cd $olddir
  122. }
  123. # This recipe packages vlc as a library as well, so qt4 dependencies
  124. # can be avoided when only the library is installed.
  125. PACKAGES =+ "libvlc"
  126. LEAD_SONAME_libvlc = "libvlc.so.5"
  127. FILES:libvlc = "${libdir}/lib*.so.*"
  128. FILES:${PN} += "\
  129. ${bindir}/vlc \
  130. ${libdir}/vlc \
  131. ${datadir}/applications \
  132. ${datadir}/vlc \
  133. ${datadir}/icons \
  134. ${datadir}/metainfo/vlc.appdata.xml \
  135. "
  136. FILES:${PN}-dbg += "\
  137. ${libdir}/vlc/*/.debug \
  138. ${libdir}/vlc/plugins/*/.debug \
  139. "
  140. FILES:${PN}-staticdev += "\
  141. ${libdir}/vlc/plugins/*/*.a \
  142. ${libdir}/vlc/libcompat.a \
  143. "
  144. # Only enable it for rpi class of machines
  145. COMPATIBLE_HOST = "null"
  146. COMPATIBLE_HOST:rpi = "(.*)"
  147. INSANE_SKIP:${PN} = "dev-so"