diff options
Diffstat (limited to 'import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb')
-rw-r--r-- | import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb new file mode 100644 index 0000000000..43c32fbc57 --- /dev/null +++ b/import-layers/meta-openembedded/meta-multimedia/recipes-mediacenter/kodi/kodi_17.bb @@ -0,0 +1,207 @@ +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 \ + 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 \ + samba \ + sqlite3 \ + taglib \ + virtual/egl \ + virtual/libsdl \ + wavpack \ + yajl \ + zlib \ + ${@enable_glew(bb, d)} \ + " + +PROVIDES = "xbmc" + +SRCREV = "661dd08d221f5b2bf509a696a6aca5ee7d45bb27" +BASEPV = "17.1" +PV = "${BASEPV}+gitr${SRCPV}" +SRC_URI = "git://github.com/xbmc/xbmc.git;branch=Krypton \ + https://repo.voidlinux.eu/distfiles/${BPN}-${BASEPV}-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" +PACKAGECONFIG_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', ' openglesv2', 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" + +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}" + +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}-${BASEPV}-generated-addons.tar.xz -C ${S}/ + + ( for i in $(find ${S} -name "configure.*" ) ; 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 ) + make -C tools/depends/target/crossguid PREFIX=${STAGING_DIR_HOST}${prefix} + + 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" |