summaryrefslogtreecommitdiffstats
path: root/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb')
-rw-r--r--meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb216
1 files changed, 216 insertions, 0 deletions
diff --git a/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
new file mode 100644
index 000000000..295618914
--- /dev/null
+++ b/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb
@@ -0,0 +1,216 @@
+SUMMARY = "Kodi Media Center"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=930e2a5f63425d8dd72dbd7391c43c46"
+
+FILESPATH =. "${FILE_DIRNAME}/kodi-17:"
+
+DEPENDS = " \
+ cmake-native \
+ curl-native \
+ gperf-native \
+ jsonschemabuilder-native \
+ nasm-native \
+ swig-native \
+ unzip-native \
+ yasm-native \
+ zip-native \
+ avahi \
+ boost \
+ bzip2 \
+ crossguid \
+ curl \
+ dcadec \
+ enca \
+ expat \
+ faad2 \
+ ffmpeg \
+ fontconfig \
+ fribidi \
+ giflib \
+ jasper \
+ libass \
+ libcdio \
+ libcec \
+ libmad \
+ libmicrohttpd \
+ libmms \
+ libmms \
+ libmodplug \
+ libpcre \
+ libplist \
+ libsamplerate0 \
+ libsdl-image \
+ libsdl-mixer \
+ libsquish \
+ libssh \
+ libtinyxml \
+ libusb1 \
+ libxslt \
+ lzo \
+ mpeg2dec \
+ python \
+ sqlite3 \
+ taglib \
+ virtual/egl \
+ virtual/libsdl \
+ wavpack \
+ yajl \
+ zlib \
+ ${@enable_glew(bb, d)} \
+"
+
+PROVIDES = "xbmc"
+
+SRCREV = "6abeebd5ba371547c8f04272296433f5e4e28e86"
+PV = "17.3+gitr${SRCPV}"
+ADDONSPV = "17.1"
+SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \
+ https://repo.voidlinux.eu/distfiles/${BPN}-${ADDONSPV}-generated-addons.tar.xz;name=addons;unpack=0 \
+ file://0003-configure-don-t-try-to-run-stuff-to-find-tinyxml.patch \
+ file://0004-handle-SIGTERM.patch \
+ file://0005-add-support-to-read-frequency-output-if-using-intel-.patch \
+ file://0006-Disable-DVD-support.patch \
+ file://0007-Always-compile-libcpluff-as-PIC.patch \
+ file://0008-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch \
+ file://0009-build-Add-support-for-musl-triplets.patch \
+ file://0010-RssReader-Fix-compiler-warning-comparing-pointer-to-.patch \
+ file://0011-Let-configure-pass-on-unknown-architectures-setting-.patch \
+ file://0012-Revert-droid-fix-builds-with-AML-disabled.patch \
+ file://0001-change-order-of-detecting-libegl-and-libgles2.patch \
+ file://0013-FTPParse.cpp-use-std-string.patch \
+"
+
+SRC_URI_append_libc-musl = " \
+ file://0001-Fix-file_Emu-on-musl.patch \
+ file://0002-Remove-FILEWRAP.patch \
+"
+SRC_URI[addons.md5sum] = "719614fa764011a18665d08af5c8c92f"
+SRC_URI[addons.sha256sum] = "350da57408c27473eaf40e7f544bc94841bf101dc4346085260c5c4af0adac97"
+
+inherit autotools-brokensep gettext pythonnative distro_features_check
+
+REQUIRED_DISTRO_FEATURES += "opengl"
+
+S = "${WORKDIR}/git"
+
+# breaks compilation
+ASNEEDED = ""
+
+ACCEL ?= ""
+ACCEL_x86 = "vaapi vdpau"
+ACCEL_x86-64 = "vaapi vdpau"
+
+PACKAGECONFIG ??= "${ACCEL} opengl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', 'openglesv2', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'samba', '', d)} \
+"
+
+PACKAGECONFIG[opengl] = "--enable-gl,--enable-gles,"
+PACKAGECONFIG[openglesv2] = "--enable-gles,--enable-gl,virtual/egl"
+PACKAGECONFIG[vaapi] = "--enable-vaapi,--disable-vaapi,libva"
+PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau"
+PACKAGECONFIG[mysql] = "--enable-mysql,--disable-mysql,mysql5"
+PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,libxinerama libxmu libxrandr libxtst"
+PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
+PACKAGECONFIG[lcms] = "--enable-lcms2,--disable-lcms2,lcms"
+PACKAGECONFIG[samba] = "--enable-samba,--disable-samba,samba"
+
+EXTRA_OECONF = " \
+ --disable-debug \
+ --disable-libcap \
+ --disable-ccache \
+ --disable-mid \
+ --enable-libusb \
+ --enable-alsa \
+ --enable-airplay \
+ --disable-optical-drive \
+ --with-ffmpeg=shared \
+ --enable-texturepacker=no \
+ ac_cv_path_JAVA_EXE=/bin/true \
+"
+
+FULL_OPTIMIZATION_armv7a = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
+FULL_OPTIMIZATION_armv7ve = "-fexpensive-optimizations -fomit-frame-pointer -O3 -ffast-math"
+BUILD_OPTIMIZATION = "${FULL_OPTIMIZATION}"
+
+LDFLAGS_append_mips = " -latomic"
+LDFLAGS_append_mipsel = " -latomic"
+LDFLAGS_append_powerpc = " -latomic"
+LDFLAGS_append_arm = " -latomic"
+
+EXTRA_OECONF_append = " LIBTOOL=${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool"
+
+# for python modules
+export HOST_SYS
+export BUILD_SYS
+export STAGING_LIBDIR
+export STAGING_INCDIR
+export PYTHON_DIR
+
+def enable_glew(bb, d):
+ if bb.utils.contains('PACKAGECONFIG', 'x11', True, False, d) and bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
+ return "glew"
+ return ""
+
+do_configure() {
+ tar xf ${WORKDIR}/${BPN}-${ADDONSPV}-generated-addons.tar.xz -C ${S}/
+
+ ( for i in $(find ${S} -name configure.ac -or -name configure.in|grep -v ".pc") ; do
+ cd $(dirname $i) && gnu-configize --force || true
+ done )
+ ( for f in ${S}/xbmc/interfaces/python/generated/*.cpp; do
+ touch `echo $f|sed -e 's/.cpp$/.xml/g'`
+ done )
+
+ BOOTSTRAP_STANDALONE=1 make -f bootstrap.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
+ BOOTSTRAP_STANDALONE=1 make JAVA=/bin/true -f codegenerator.mk JSON_BUILDER="${STAGING_BINDIR_NATIVE}/JsonSchemaBuilder"
+ oe_runconf
+}
+
+do_compile_prepend() {
+ for i in $(find . -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i
+ done
+
+ for i in $(find . -name "*.mak*" -o -name "Makefile") ; do
+ sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${libdir}:g' $i
+ done
+}
+
+INSANE_SKIP_${PN} = "rpaths"
+
+FILES_${PN} += "${datadir}/xsessions ${datadir}/icons ${libdir}/xbmc ${datadir}/xbmc"
+FILES_${PN}-dbg += "${libdir}/kodi/.debug ${libdir}/kodi/*/.debug ${libdir}/kodi/*/*/.debug ${libdir}/kodi/*/*/*/.debug"
+
+# kodi uses some kind of dlopen() method for libcec so we need to add it manually
+# OpenGL builds need glxinfo, that's in mesa-demos
+RRECOMMENDS_${PN}_append = " \
+ libcec \
+ python \
+ python-ctypes \
+ python-lang \
+ python-re \
+ python-netclient \
+ python-html \
+ python-difflib \
+ python-json \
+ python-zlib \
+ python-shell \
+ python-sqlite3 \
+ python-compression \
+ libcurl \
+ ${@bb.utils.contains('PACKAGECONFIG', 'x11', 'xrandr xdpyinfo', '', d)} \
+"
+RRECOMMENDS_${PN}_append_libc-glibc = " \
+ glibc-charmap-ibm850 \
+ glibc-gconv-ibm850 \
+ glibc-gconv-unicode \
+ glibc-gconv-utf-32 \
+ glibc-charmap-utf-8 \
+ glibc-localedata-en-us \
+"
+
+RPROVIDES_${PN} += "xbmc"
+
+TOOLCHAIN = "gcc"
OpenPOWER on IntegriCloud