summaryrefslogtreecommitdiffstats
path: root/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb')
-rw-r--r--meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb179
1 files changed, 179 insertions, 0 deletions
diff --git a/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
new file mode 100644
index 000000000..c9de5920d
--- /dev/null
+++ b/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -0,0 +1,179 @@
1SUMMARY = "Kodi Media Center"
2
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
5
6DEFAULT_PREFERENCE = "-1"
7
8FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
9
10DEPENDS = " \
11 cmake-native \
12 curl-native \
13 gperf-native \
14 jsonschemabuilder-native \
15 nasm-native \
16 swig-native \
17 yasm-native \
18 zip-native \
19 avahi \
20 boost \
21 bzip2 \
22 curl \
23 dcadec \
24 enca \
25 expat \
26 faad2 \
27 ffmpeg \
28 fontconfig \
29 fribidi \
30 giflib \
31 jasper \
32 libass \
33 libcdio \
34 libcec \
35 libmad \
36 libmicrohttpd \
37 libmms \
38 libmms \
39 libmodplug \
40 libpcre \
41 libplist \
42 libsamplerate0 \
43 libsdl-image \
44 libsdl-mixer \
45 libsquish \
46 libssh \
47 libtinyxml \
48 libusb1 \
49 libxslt \
50 lzo \
51 mpeg2dec \
52 python \
53 samba \
54 sqlite3 \
55 taglib \
56 virtual/egl \
57 virtual/libsdl \
58 wavpack \
59 yajl \
60 zlib \
61 ${@enable_glew(bb, d)} \
62 "
63
64PROVIDES = "xbmc"
65
66SRCREV = "32c7788e7cce711be5b7f3893c82dddd79658268"
67PV = "17.0+gitr${SRCPV}"
68SRC_URI = "git://github.com/xbmc/xbmc.git;branch=master \
69 file://0001-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
70 file://0002-handle-SIGTERM.patch \
71 file://0003-add-support-to-read-frequency-output-if-using-intel-.patch \
72 file://0004-Disable-DVD-support.patch \
73"
74
75inherit autotools-brokensep gettext pythonnative
76
77S = "${WORKDIR}/git"
78
79# breaks compilation
80ASNEEDED = ""
81
82ACCEL ?= ""
83ACCEL_x86 = "vaapi vdpau"
84ACCEL_x86-64 = "vaapi vdpau"
85
86PACKAGECONFIG ??= "${ACCEL}"
87PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)}"
88PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' opengl', ' openglesv2', d)}"
89
90PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
91PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
92PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
93PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
94PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
95PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
96PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
97
98EXTRA_OECONF = " \
99 --disable-debug \
100 --disable-libcap \
101 --disable-ccache \
102 --disable-mid \
103 --enable-libusb \
104 --enable-alsa \
105 --enable-airplay \
106 --disable-optical-drive \
107 --with-ffmpeg=shared \
108 --enable-texturepacker=no \
109"
110
111FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
112FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
113BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
114
115# for python modules
116export HOST_SYS
117export BUILD_SYS
118export STAGING_LIBDIR
119export STAGING_INCDIR
120export PYTHON_DIR
121
122def enable_glew(bb, d):
123 if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
124 return "glew"
125 return ""
126
127do_configure() {
128 ( for i in $(find ${S} -name "configure.*" ) ; do
129 cd $(dirname $i) && gnu-configize --force || true
130 done )
131 make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix}
132
133 BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
134 BOOTSTRAP_STANDALONE=1 make -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
135 oe_runconf
136}
137
138do_compile_prepend() {
139 for i in $(find . -name "Makefile") ; do
140 sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
141 done
142
143 for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
144 sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
145 done
146}
147
148INSANE_SKIP_${PN} = "rpaths"
149
150FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
151FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
152
153# kodi uses some kind of dlopen() method for libcec so we need to add it manually
154# OpenGL builds need glxinfo, that's in mesa-demos
155RRECOMMENDS_${PN}_append = " libcec \
156 python \
157 python-lang \
158 python-re \
159 python-netclient \
160 python-html \
161 python-difflib \
162 python-json \
163 python-zlib \
164 python-shell \
165 python-sqlite3 \
166 python-compression \
167 libcurl \
168 ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
169"
170RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 \
171 glibc-gconv-ibm850 \
172 glibc-gconv-unicode \
173 glibc-gconv-utf-32 \
174 glibc-charmap-utf-8 \
175 glibc-localedata-en-us \
176 "
177
178RPROVIDES_${PN} += "xbmc"
179