blob: f14d4e1cf907c8f906ed3d9ddc4cc24297e24c7c [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001SUMMARY = "XBMC Media Center"
2
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff"
5
6DEPENDS = "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
10SRCREV = "82388d55dae79cbb2e486e307e23202e76a43efa"
11
12# multiple issues
13PNBLACKLIST[xbmc] ?= "/usr/include/c++/ctime:70:11: error: '::gmtime' has not been declared"
14
15PV = "11.0+gitr${SRCPV}"
16PR = "r14"
17SRC_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
25inherit autotools gettext python-dir
26
27S = "${WORKDIR}/git"
28
29# breaks compilation
30CCACHE = ""
31
32CACHED_CONFIGUREVARS += " \
33 ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \
34"
35
36PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl', 'openglesv2', d)}"
37PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,glew"
38PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,"
39
40EXTRA_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
49FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
50BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
51
52EXTRA_OECONF_append_armv7a = "--cpu=cortex-a8"
53
54# for python modules
55export HOST_SYS
56export BUILD_SYS
57export STAGING_LIBDIR
58export STAGING_INCDIR
59export PYTHON_DIR
60
61do_configure() {
62 sh bootstrap
63 oe_runconf
64}
65
66PARALLEL_MAKE = ""
67
68do_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
78INSANE_SKIP_${PN} = "rpaths"
79
80# on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly
81do_install_append_arm() {
82 sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop
83}
84
85FILES_${PN} += "${datadir}/xsessions ${datadir}/icons"
86FILES_${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
90RRECOMMENDS_${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"
99RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850"