efd004b1a3ada35500f4d69afaa57090b7e700e7
[vuplus_openvuplus_3.0] / meta-bsp / recipes-multimedia / kodi / kodi.inc
1 SUMMARY = "Kodi Media Center"
2
3 LICENSE = "GPLv2"
4 LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
5
6 DEPENDS = "\
7         libgles \
8         libxslt \
9         libusb1 \
10         libcec \
11         libplist \
12         expat \
13         yajl \
14         gperf-native \
15         fribidi \
16         mpeg2dec \
17         samba \
18         fontconfig \
19         curl \
20         python \
21         libass \
22         libmodplug \
23         libmicrohttpd \
24         wavpack \
25         libmms\
26         cmake-native \
27         libsdl-image \
28         libsdl-mixer \
29         mysql5 \
30         sqlite3 \
31         libmms \
32         faad2 \
33         libcdio \
34         libpcre \
35         boost \
36         lzo \
37         enca \
38         avahi \
39         libsamplerate0 \
40         bzip2 \
41         virtual/libsdl \
42         jasper \
43         zip-native \
44         zlib \
45         libtinyxml \
46         taglib \
47         libbluray \
48         libshairport \
49         librtmp \
50         zlib \
51         libnfs \
52         libxslt \
53         libsquish \
54         libdcadec \
55         libcrossguid \
56 "
57
58 PROVIDES += "kodi"
59 RPROVIDES_${PN} += "kodi"
60
61 RDEPENDS_${PN} = "python"
62 RDEPENDS_${PN} += "\
63         python-distutils \
64         python-subprocess \
65         python-robotparser \
66         python-mechanize \
67         python-threading \
68         python-shell \
69         python-zlib \
70         python-sqlite3 \
71         python-json \
72         python-xml \
73         python-html \
74         python-netserver \
75         python-misc \
76         python-pygobject \
77         python-pygobject-lib \
78         python-textutils \
79         python-simplejson \
80         python-xmlrpc   \
81         python-pprint \
82         python-difflib \
83         python-email \
84         python-compression \
85         python-compile \
86         python-compiler \
87         python-numbers \
88         nfs-utils-client \
89         libshairport \
90         glibc-gconv-utf-32 \
91         xz \
92         tiff \
93         yajl \
94         libxslt \
95         libupnp \
96         libplist \
97         librtmp \
98         libbluray \
99         libnfs \
100         libtinyxml \
101         alsa-lib \
102         shairplay \
103 "
104
105 BRANCH = "jarvis_vuplus"
106 SRCREV = "528f9f8abfc045b8cf8edea013aaf19fd02dba09"
107
108 PV = "16.1.rc2"
109 PR = "${BUILD_PR}_${GLPR}_${SRCREV}"
110
111 SRC_URI = "\
112         git://code.vuplus.com/git/xbmc.git;protocol=http;branch=${BRANCH};tag=${SRCREV} \
113         http://archive.vuplus.com/download/build_support/kodi/xbmc-support_${MACHINE}_${GLPR}.tar.gz;name=xbmc-support \
114 "
115
116 inherit autotools-brokensep autotools lib_package pkgconfig gettext python-dir
117
118 S = "${WORKDIR}/git"
119
120 CACHED_CONFIGUREVARS += " \
121  ac_cv_path_PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python" \
122 "
123
124 EXTRA_OECONF = " \
125         --enable-gles \
126         --enable-libusb \
127         --enable-airplay \
128         --enable-rtmp   \
129         --enable-optimizations \
130         --disable-optical-drive \
131         --disable-ssh \
132         --disable-x11 \
133         --disable-dbus \
134         --disable-pulse \
135         --disable-gtest \
136         --disable-joystick \
137         --disable-alsa \
138         --disable-lirc \
139         --disable-libcec \
140         --disable-texturepacker \
141         --disable-debug \
142 "
143
144 FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O4 -ffast-math"
145 BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
146
147 # for python modules
148 export HOST_SYS
149 export BUILD_SYS
150 export STAGING_LIBDIR
151 export STAGING_INCDIR
152 export PYTHON_DIR
153
154 do_configure() {
155         cp -av ${WORKDIR}/xbmc-support/gles_init.* ${WORKDIR}/git/xbmc/windowing/egl/
156         sh bootstrap
157         sed -i 's/-V -qversion//' configure
158         oe_runconf
159 }
160
161 do_compile_prepend() {
162         for i in $(find . -name "Makefile") ; do
163                 sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
164         done
165
166         for i in $(find . -name "*.mak*" -o     -name "Makefile") ; do
167                 sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
168         done
169 }
170
171 INSANE_SKIP_${PN} = "rpaths"
172
173 # on ARM architectures xbmc will use GLES which will make the regular wrapper fail, so start it directly
174 #do_install_append_arm() {
175 #       sed -i -e 's:Exec=xbmc:Exec=${libdir}/xbmc/xbmc.bin:g' ${D}${datadir}/applications/xbmc.desktop
176 #}
177
178 do_install_append(){
179         install -d ${D}${bindir}
180         install -m 0755 ${WORKDIR}/xbmc-support/xbmc.helper ${D}${bindir}
181         install -m 0755 ${WORKDIR}/xbmc-support/libxbmc_base.so ${D}${libdir}
182 }
183
184 do_package_qa(){
185 }
186
187 FILES_${PN} = "${libdir}/kodi ${libdir}/xbmc"
188 FILES_${PN} += "${bindir}/kodi ${bindir}/xbmc ${bindir}/xbmc.helper"
189 FILES_${PN} += "${datadir}/icons ${datadir}/kodi ${datadir}/xbmc"
190 FILES_${PN} += "${libdir}/libxbmc_base.so"
191 FILES_${PN}-dev = "${includedir}"
192 FILES_${PN}-bin = "${bindir}/kodi-standalone ${bindir}/xbmc-standalone ${datadir}/xsessions"
193 FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug ${datadir}/applications"
194
195 # xbmc uses some kind of dlopen() method for libcec so we need to add it manually
196 RRECOMMENDS_${PN}_append = " libcec \
197                              python \
198                              python-lang \
199                              python-re \
200                              python-netclient \
201                              libcurl \
202                              "
203 RRECOMMENDS_${PN}_append_libc-glibc = " glibc-charmap-ibm850 glibc-gconv-ibm850"
204
205 INSANE_SKIP_${PN} = "already-stripped"
206
207 PACKAGE_ARCH := "${MACHINE_ARCH}"
208