Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame^] | 1 | SUMMARY = "XBMC Media Center" |
| 2 | |
| 3 | LICENSE = "GPLv2" |
| 4 | LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff" |
| 5 | |
| 6 | DEPENDS = "libusb1 libcec libplist expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib libtinyxml libmad" |
| 7 | #require recipes/egl/egl.inc |
| 8 | |
| 9 | |
| 10 | SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa" |
| 11 | |
| 12 | # multiple issues |
| 13 | PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared" |
| 14 | |
| 15 | PV = "11.0+gitr${SRCPV}" |
| 16 | PR = "r14" |
| 17 | SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Eden \ |
| 18 | file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \ |
| 19 | file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \ |
| 20 | file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \ |
| 21 | file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch \ |
| 22 | file://configure.in-Avoid-running-code.patch \ |
| 23 | " |
| 24 | |
| 25 | inherit autotools gettext python-dir |
| 26 | |
| 27 | S = "${WORKDIR}/git" |
| 28 | |
| 29 | # breaks compilation |
| 30 | CCACHE = "" |
| 31 | |
| 32 | CACHED_CONFIGUREVARS += " \ |
| 33 | ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \ |
| 34 | " |
| 35 | |
| 36 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}" |
| 37 | PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew" |
| 38 | PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl," |
| 39 | |
| 40 | EXTRA_OECONF = " \ |
| 41 | --disable-rpath \ |
| 42 | --enable-libusb \ |
| 43 | --enable-airplay \ |
| 44 | --disable-optical-drive \ |
| 45 | --enable-external-libraries \ |
| 46 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enable-gles', d)} \ |
| 47 | " |
| 48 | |
| 49 | FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math" |
| 50 | BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}" |
| 51 | |
| 52 | EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8" |
| 53 | |
| 54 | # for python modules |
| 55 | export HOST_SYS |
| 56 | export BUILD_SYS |
| 57 | export STAGING_LIBDIR |
| 58 | export STAGING_INCDIR |
| 59 | export PYTHON_DIR |
| 60 | |
| 61 | do_configure() { |
| 62 | sh bootstrap |
| 63 | oe_runconf |
| 64 | } |
| 65 | |
| 66 | PARALLEL_MAKE = "" |
| 67 | |
| 68 | do_compile_prepend() { |
| 69 | for i in $(find . -name "Makefile") ; do |
| 70 | sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i |
| 71 | done |
| 72 | |
| 73 | for i in $(find . -name "*.mak*" -o -name "Makefile") ; do |
| 74 | sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i |
| 75 | done |
| 76 | } |
| 77 | |
| 78 | INSANE_SKIP_${PN} = "rpaths" |
| 79 | |
| 80 | # on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly |
| 81 | do_install_append_arm() { |
| 82 | sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop |
| 83 | } |
| 84 | |
| 85 | FILES_${PN} += "${datadir}/xsessions ${datadir}/icons" |
| 86 | FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug" |
| 87 | |
| 88 | # xbmc uses some kind of dlopen() method for libcec so we need to add it manually |
| 89 | # OpenGL builds need glxinfo, that's in mesa-demos |
| 90 | RRECOMMENDS_${PN}_append = " libcec \ |
| 91 | python \ |
| 92 | python-lang \ |
| 93 | python-re \ |
| 94 | python-netclient \ |
| 95 | libcurl \ |
| 96 | xdpyinfo \ |
| 97 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \ |
| 98 | " |
| 99 | RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850" |