From 3a8e676198896c28bd763bf8254c1fee463107c4 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:43 -0800 Subject: [PATCH 1/7] scripts/build: allow building between packages --- scripts/build | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/build b/scripts/build index 476f821260..7891c6bf9b 100755 --- a/scripts/build +++ b/scripts/build @@ -213,8 +213,6 @@ if [ ! -f $STAMP ]; then fi if [ -z "$PKG_CMAKE_SCRIPT" ]; then PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/CMakeLists.txt" - else - PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/$PKG_CMAKE_SCRIPT" fi # include build template and build From 69d07e2400ae3ddef627d2fb781afd70545816d3 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:44 -0800 Subject: [PATCH 2/7] JsonSchemaBuilder: add package --- .../mediacenter/JsonSchemaBuilder/package.mk | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 packages/mediacenter/JsonSchemaBuilder/package.mk diff --git a/packages/mediacenter/JsonSchemaBuilder/package.mk b/packages/mediacenter/JsonSchemaBuilder/package.mk new file mode 100644 index 0000000000..9fdfa25618 --- /dev/null +++ b/packages/mediacenter/JsonSchemaBuilder/package.mk @@ -0,0 +1,46 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) +# +# OpenELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# OpenELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC. If not, see . +################################################################################ + +PKG_NAME="JsonSchemaBuilder" +PKG_VERSION="0" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.kodi.tv" +PKG_URL="" +PKG_NEED_UNPACK="$ROOT/packages/mediacenter/kodi/package.mk" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="kodi-platform:" +PKG_LONGDESC="kodi-platform:" + +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" + +PKG_CMAKE_SCRIPT="$(get_build_dir kodi)/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt" + +PKG_CMAKE_OPTS_HOST="-Wno-dev" + +pre_build_host() { + $SCRIPTS/clean $PKG_NAME +} + +makeinstall_host() { + mkdir -p $ROOT/$TOOLCHAIN/bin + cp JsonSchemaBuilder $ROOT/$TOOLCHAIN/bin +} From c3203ad7b2157b2ad6e7d24cfed3a6151e9bed80 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:44 -0800 Subject: [PATCH 3/7] TexturePacker: add package --- packages/mediacenter/TexturePacker/package.mk | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 packages/mediacenter/TexturePacker/package.mk diff --git a/packages/mediacenter/TexturePacker/package.mk b/packages/mediacenter/TexturePacker/package.mk new file mode 100644 index 0000000000..7a237e7fa3 --- /dev/null +++ b/packages/mediacenter/TexturePacker/package.mk @@ -0,0 +1,54 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) +# +# OpenELEC is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# OpenELEC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC. If not, see . +################################################################################ + +PKG_NAME="TexturePacker" +PKG_VERSION="0" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.kodi.tv" +PKG_URL="" +PKG_DEPENDS_HOST="lzo:host libpng:host libjpeg-turbo:host giflib:host" +PKG_NEED_UNPACK="$ROOT/packages/mediacenter/kodi/package.mk" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="kodi-platform:" +PKG_LONGDESC="kodi-platform:" + +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" + +PKG_CMAKE_SCRIPT="$(get_build_dir kodi)/tools/depends/native/TexturePacker/CMakeLists.txt" + +PKG_CMAKE_OPTS_HOST="-DCORE_SOURCE_DIR=$(get_build_dir kodi) \ + -Wno-dev" + +pre_build_host() { + $SCRIPTS/clean $PKG_NAME +} + +pre_configure_host() { + export CXXFLAGS="$CXXFLAGS -std=c++11 -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -I$(get_build_dir kodi)/xbmc/linux" +} + +makeinstall_host() { + mkdir -p $ROOT/$TOOLCHAIN/bin + cp TexturePacker $ROOT/$TOOLCHAIN/bin + : +} + From 98a96ef1f721e8a444a7769321a6185f156b6f46 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:44 -0800 Subject: [PATCH 4/7] kodi: use cmake --- packages/mediacenter/kodi/package.mk | 321 ++++++------------ ...100.19-dont-link-pulseaudio-mainloop.patch | 41 +++ .../kodi-100.20-remove-intl-and-gmp.patch | 12 + .../kodi-100.21-remove-texture-packer.patch | 23 ++ ...00.22-allow-static-smbclient-linking.patch | 49 +++ .../kodi-100.22-dont-touch-skins.patch | 39 +++ ...kodi-100.23-add-findimx-cmake-module.patch | 118 +++++++ .../kodi-100.24-disable-bluetooth.patch | 27 ++ 8 files changed, 419 insertions(+), 211 deletions(-) create mode 100644 packages/mediacenter/kodi/patches/kodi-100.19-dont-link-pulseaudio-mainloop.patch create mode 100644 packages/mediacenter/kodi/patches/kodi-100.20-remove-intl-and-gmp.patch create mode 100644 packages/mediacenter/kodi/patches/kodi-100.21-remove-texture-packer.patch create mode 100644 packages/mediacenter/kodi/patches/kodi-100.22-allow-static-smbclient-linking.patch create mode 100644 packages/mediacenter/kodi/patches/kodi-100.22-dont-touch-skins.patch create mode 100644 packages/mediacenter/kodi/patches/kodi-100.23-add-findimx-cmake-module.patch create mode 100644 packages/mediacenter/kodi/patches/kodi-100.24-disable-bluetooth.patch diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index dc3abb1deb..c9fc39a279 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -23,8 +23,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain kodi:host xmlstarlet:host Python zlib systemd pciutils lzo pcre swig:host libass curl fontconfig fribidi tinyxml libjpeg-turbo freetype libcdio taglib libxml2 libxslt yajl sqlite ffmpeg crossguid giflib libdvdnav libhdhomerun" -PKG_DEPENDS_HOST="lzo:host libpng:host libjpeg-turbo:host giflib:host" +PKG_DEPENDS_TARGET="toolchain JsonSchemaBuilder:host TexturePacker:host xmlstarlet:host Python zlib systemd pciutils lzo pcre swig:host libass curl fontconfig fribidi tinyxml libjpeg-turbo freetype libcdio taglib libxml2 libxslt yajl sqlite ffmpeg crossguid giflib libdvdnav libhdhomerun" PKG_SECTION="mediacenter" PKG_SHORTDESC="kodi: Kodi Mediacenter" PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center or XBMC) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control." @@ -32,318 +31,221 @@ PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center or X PKG_IS_ADDON="no" PKG_AUTORECONF="no" -# configure GPU drivers and dependencies: +PKG_CMAKE_SCRIPT="$ROOT/$PKG_BUILD/project/cmake/CMakeLists.txt" + get_graphicdrivers -# for dbus support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET dbus" if [ "$DISPLAYSERVER" = "x11" ]; then -# for libX11 support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libX11 libXext libdrm libXrandr" - KODI_XORG="--enable-x11" + KODI_XORG="-DENABLE_X11=ON" else - KODI_XORG="--disable-x11" + KODI_XORG="-DENABLE_X11=OFF" fi if [ ! "$OPENGL" = "no" ]; then -# for OpenGL (GLX) support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGL glu" - KODI_OPENGL="--enable-gl" + KODI_OPENGL="-DENABLE_OPENGL=ON" else - KODI_OPENGL="--disable-gl" + KODI_OPENGL="-DENABLE_OPENGL=OFF" fi if [ "$OPENGLES_SUPPORT" = yes ]; then -# for OpenGL-ES support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $OPENGLES" - KODI_OPENGLES="--enable-gles" + KODI_OPENGLES="-DENABLE_OPENGLES=ON" else - KODI_OPENGLES="--disable-gles" + KODI_OPENGLES="-DENABLE_OPENGLES=OFF" fi if [ "$ALSA_SUPPORT" = yes ]; then -# for ALSA support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET alsa-lib" - KODI_ALSA="--enable-alsa" + KODI_ALSA="-DENABLE_ALSA=ON" else - KODI_ALSA="--disable-alsa" + KODI_ALSA="-DENABLE_ALSA=OFF" fi if [ "$PULSEAUDIO_SUPPORT" = yes ]; then -# for PulseAudio support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pulseaudio" - KODI_PULSEAUDIO="--enable-pulse" + KODI_PULSEAUDIO="-DENABLE_PULSEAUDIO=ON" else - KODI_PULSEAUDIO="--disable-pulse" + KODI_PULSEAUDIO="-DENABLE_PULSEAUDIO=OFF" fi if [ "$ESPEAK_SUPPORT" = yes ]; then -# for espeak support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET espeak" fi if [ "$CEC_SUPPORT" = yes ]; then -# for CEC support PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libcec" - KODI_CEC="--enable-libcec" + KODI_CEC="-DENABLE_CEC=ON" else - KODI_CEC="--disable-libcec" -fi - -if [ "$JOYSTICK_SUPPORT" = yes ]; then -# for Joystick support - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET SDL2" - KODI_JOYSTICK="--enable-joystick" -else - KODI_JOYSTICK="--disable-joystick" + KODI_CEC="-DENABLE_CEC=OFF" fi if [ "$KODI_OPTICAL_SUPPORT" = yes ]; then - KODI_OPTICAL="--enable-optical-drive" + KODI_OPTICAL="-DENABLE_OPTICAL=ON" else - KODI_OPTICAL="--disable-optical-drive" + KODI_OPTICAL="-DENABLE_OPTICAL=OFF" fi if [ "$KODI_NONFREE_SUPPORT" = yes ]; then -# for non-free support - KODI_NONFREE="--enable-non-free" + KODI_NONFREE="-DENABLE_NONFREE=ON" else - KODI_NONFREE="--disable-non-free" + KODI_NONFREE="-DENABLE_NONFREE=OFF" fi if [ "$KODI_DVDCSS_SUPPORT" = yes ]; then - KODI_DVDCSS="--enable-dvdcss" + KODI_DVDCSS="-DENABLE_DVDCSS=ON" else - KODI_DVDCSS="--disable-dvdcss" + KODI_DVDCSS="-DENABLE_DVDCSS=OFF" fi if [ "$KODI_BLURAY_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libbluray" - KODI_BLURAY="--enable-libbluray" + KODI_BLURAY="-DENABLE_BLURAY=ON" else - KODI_BLURAY="--disable-libbluray" + KODI_BLURAY="-DENABLE_BLURAY=OFF" fi if [ "$AVAHI_DAEMON" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi nss-mdns" - KODI_AVAHI="--enable-avahi" + KODI_AVAHI="-DENABLE_AVAHI=ON" else - KODI_AVAHI="--disable-avahi" + KODI_AVAHI="-DENABLE_AVAHI=OFF" fi if [ "$KODI_MYSQL_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mysql" - KODI_MYSQL="--enable-mysql" + KODI_MYSQL="-DENABLE_MYSQLCLIENT=ON" else - KODI_MYSQL="--disable-mysql" + KODI_MYSQL="-DENABLE_MYSQLCLIENT=OFF" fi if [ "$KODI_AIRPLAY_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libplist" - KODI_AIRPLAY="--enable-airplay" + KODI_AIRPLAY="-DENABLE_PLIST=ON" else - KODI_AIRPLAY="--disable-airplay" + KODI_AIRPLAY="-DENABLE_PLIST=OFF" fi if [ "$KODI_AIRTUNES_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libshairplay" - KODI_AIRTUNES="--enable-airtunes" + KODI_AIRTUNES="-DENABLE_AIRTUNES=ON" else - KODI_AIRTUNES="--disable-airtunes" + KODI_AIRTUNES="-DENABLE_AIRTUNES=OFF" fi if [ "$KODI_NFS_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libnfs" - KODI_NFS="--enable-nfs" + KODI_NFS="-DENABLE_NFS=ON" else - KODI_NFS="--disable-nfs" + KODI_NFS="-DENABLE_NFS=OFF" fi if [ "$KODI_SAMBA_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET samba" - KODI_SAMBA="--enable-samba" + KODI_SAMBA="-DENABLE_SMBCLIENT=ON" else - KODI_SAMBA="--disable-samba" + KODI_SAMBA="-DENABLE_SMBCLIENT=OFF" fi if [ "$KODI_WEBSERVER_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libmicrohttpd" - KODI_WEBSERVER="--enable-webserver" -else - KODI_WEBSERVER="--disable-webserver" fi if [ "$KODI_UPNP_SUPPORT" = yes ]; then - KODI_UPNP="--enable-upnp" + KODI_UPNP="-DENABLE_UPNP=ON" else - KODI_UPNP="--disable-upnp" + KODI_UPNP="-DENABLE_UPNP=OFF" fi if [ "$KODI_SSHLIB_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libssh" - KODI_SSH="--enable-ssh" + KODI_SSH="-DENABLE_SSH=ON" else - KODI_SSH="--disable-ssh" -fi - -if [ ! "$KODIPLAYER_DRIVER" = default ]; then - PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $KODIPLAYER_DRIVER" - - if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then - KODI_OPENMAX="--enable-openmax" - KODI_PLAYER="--enable-player=omxplayer" - KODI_CODEC="--with-platform=raspberry-pi" - BCM2835_INCLUDES="-I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \ - -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux" - KODI_CFLAGS="$KODI_CFLAGS $BCM2835_INCLUDES" - KODI_CXXFLAGS="$KODI_CXXFLAGS $BCM2835_INCLUDES" - elif [ "$KODIPLAYER_DRIVER" = libfslvpuwrap ]; then - KODI_CODEC="--enable-codec=imxvpu" - elif [ "$KODIPLAYER_DRIVER" = libamcodec ]; then - KODI_CODEC="--enable-codec=amcodec" - else - KODI_OPENMAX="--disable-openmax" - fi + KODI_SSH="-DENABLE_SSH=OFF" fi if [ "$VDPAU_SUPPORT" = "yes" -a "$DISPLAYSERVER" = "x11" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvdpau" - KODI_VDPAU="--enable-vdpau" + KODI_VDPAU="-DENABLE_VDPAU=ON" else - KODI_VDPAU="--disable-vdpau" + KODI_VDPAU="-DENABLE_VDPAU=OFF" fi if [ "$VAAPI_SUPPORT" = yes ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libva-intel-driver" - KODI_VAAPI="--enable-vaapi" + KODI_VAAPI="-DENABLE_VAAPI=ON" else - KODI_VAAPI="--disable-vaapi" + KODI_VAAPI="-DENABLE_VAAPI=OFF" fi -export CXX_FOR_BUILD="$HOST_CXX" -export CC_FOR_BUILD="$HOST_CC" -export CXXFLAGS_FOR_BUILD="$HOST_CXXFLAGS" -export CFLAGS_FOR_BUILD="$HOST_CFLAGS" -export LDFLAGS_FOR_BUILD="$HOST_LDFLAGS" +if [ "$TARGET_ARCH" = "x86_64" ]; then + KODI_ARCH="-DWITH_CPU=$TARGET_ARCH" +else + KODI_ARCH="-DWITH_ARCH=$TARGET_ARCH" +fi -export PYTHON_VERSION=2.7 -export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION" -export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION" -export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages" +if [ ! "$KODIPLAYER_DRIVER" = default ]; then + PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $KODIPLAYER_DRIVER" + if [ "$KODIPLAYER_DRIVER" = bcm2835-driver ]; then + KODI_PLAYER="-DENABLE_MMAL=ON -DCORE_SYSTEM_NAME=rbpi" + elif [ "$KODIPLAYER_DRIVER" = libfslvpuwrap ]; then + KODI_PLAYER="-DENABLE_IMX=ON" + CFLAGS="$CFLAGS -DHAS_IMXVPU -DLINUX -DEGL_API_FB" + CXXFLAGS="$CXXFLAGS -DHAS_IMXVPU -DLINUX -DEGL_API_FB" + elif [ "$KODIPLAYER_DRIVER" = libamcodec ]; then + KODI_PLAYER="-DENABLE_AML=ON" + fi +fi -PKG_CONFIGURE_OPTS_TARGET="gl_cv_func_gettimeofday_clobber=no \ - ac_python_version=$PYTHON_VERSION \ - --disable-libbluetooth \ - --disable-debug \ - --disable-optimizations \ - $KODI_OPENGL \ - $KODI_OPENGLES \ - $KODI_OPENMAX \ - $KODI_VDPAU \ - $KODI_VAAPI \ - --disable-vtbdecoder \ - --disable-tegra \ - --disable-profiling \ - $KODI_JOYSTICK \ - $KODI_CEC \ - --enable-udev \ - --disable-libusb \ - $KODI_XORG \ - --disable-ccache \ - $KODI_ALSA \ - $KODI_PULSEAUDIO \ - $KODI_SAMBA \ - $KODI_NFS \ - --disable-libcap \ - $KODI_DVDCSS \ - --disable-mid \ - $KODI_AVAHI \ - $KODI_UPNP \ - $KODI_MYSQL \ - $KODI_SSH \ - $KODI_AIRPLAY \ - $KODI_AIRTUNES \ - --enable-gif \ - $KODI_NONFREE \ - --disable-asap-codec \ - $KODI_WEBSERVER \ - $KODI_OPTICAL \ - $KODI_BLURAY \ - --enable-texturepacker \ - --with-ffmpeg=shared \ - $KODI_CODEC \ - $KODI_PLAYER" - -pre_configure_host() { -# kodi fails to build in subdirs - rm -rf $ROOT/$PKG_BUILD/.$HOST_NAME -} - -configure_host() { - : # not needed -} - -make_host() { - mkdir -p $ROOT/$PKG_BUILD/tools/depends/native/JsonSchemaBuilder/bin && cd $_ - cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ - -DCMAKE_INSTALL_PREFIX=/usr \ - .. - make - mkdir -p $ROOT/$PKG_BUILD/tools/depends/native/TexturePacker/bin && cd $_ - cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCORE_SOURCE_DIR=$ROOT/$PKG_BUILD \ - -DCMAKE_CXX_FLAGS="-std=c++11 -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -I$ROOT/$PKG_BUILD/xbmc/linux" \ - .. - make -} - -makeinstall_host() { - cp -P $ROOT/$PKG_BUILD/tools/depends/native/TexturePacker/bin/TexturePacker $ROOT/$TOOLCHAIN/bin -} - -pre_build_target() { -# adding fake Makefile for stripped skin - mkdir -p $ROOT/$PKG_BUILD/addons/skin.estuary/media - touch $ROOT/$PKG_BUILD/addons/skin.estuary/media/Makefile.in -} +PKG_CMAKE_OPTS_TARGET="-DNATIVEPREFIX=$ROOT/$TOOLCHAIN \ + -DWITH_TEXTUREPACKER=$ROOT/$TOOLCHAIN/bin/TexturePacker \ + -DDEPENDS_PATH=$ROOT/$PKG_BUILD/depends \ + -DPYTHON_INCLUDE_DIRS=$SYSROOT_PREFIX/usr/include/python2.7 \ + -DGIT_VERSION=$PKG_VERSION \ + -DENABLE_INTERNAL_FFMPEG=OFF \ + -DFFMPEG_INCLUDE_DIRS=$SYSROOT_PREFIX/usr \ + -DENABLE_INTERNAL_CROSSGUID=OFF \ + -DENABLE_SDL=OFF \ + -DENABLE_OPENSSL=ON \ + -DENABLE_UDEV=ON \ + -DENABLE_DBUS=ON \ + -DENABLE_XSLT=ON \ + -DENABLE_CCACHE=ON \ + -DENABLE_LIRC=ON \ + -DENABLE_EVENTCLIENTS=ON \ + -DENABLE_LDGOLD=OFF \ + $KODI_ARCH \ + $KODI_OPENGL \ + $KODI_OPENGLES \ + $KODI_OPENMAX \ + $KODI_VDPAU \ + $KODI_VAAPI \ + $KODI_JOYSTICK \ + $KODI_CEC \ + $KODI_XORG \ + $KODI_SAMBA \ + $KODI_NFS \ + $KODI_DVDCSS \ + $KODI_AVAHI \ + $KODI_UPNP \ + $KODI_MYSQL \ + $KODI_SSH \ + $KODI_AIRPLAY \ + $KODI_AIRTUNES \ + $KODI_NONFREE \ + $KODI_OPTICAL \ + $KODI_BLURAY \ + $KODI_PLAYER" pre_configure_target() { -# kodi fails to build in subdirs - rm -rf $ROOT/$PKG_BUILD/.$TARGET_NAME - # kodi should never be built with lto strip_lto + strip_gold - export CFLAGS="$CFLAGS $KODI_CFLAGS" - export CXXFLAGS="$CXXFLAGS $KODI_CXXFLAGS" - export LIBS="$LIBS -lz" - - export JSON_BUILDER=$ROOT/$TOOLCHAIN/bin/JsonSchemaBuilder - -# libdvd - cp -P $PKG_DIR/libdvd/libdvd-makefile.in $ROOT/$PKG_BUILD/lib/libdvd/Makefile.in - export DVD_PREFIX="$SYSROOT_PREFIX" - -# autoreconf - BOOTSTRAP_STANDALONE=1 make -f $ROOT/$PKG_BUILD/bootstrap.mk -} - -make_target() { -# setup skin dir from default skin - SKIN_DIR="skin.`tolower $SKIN_DEFAULT`" - -# setup default skin inside the sources - sed -i -e "s|skin.estuary|$SKIN_DIR|g" $ROOT/$PKG_BUILD/xbmc/system.h - sed -i -e "s|skin.estuary|$SKIN_DIR|g" $ROOT/$PKG_BUILD/system/settings/settings.xml - - make externals - make kodi.bin - - if [ "$DISPLAYSERVER" = "x11" ]; then - make kodi-xrandr - fi + export LIBS="$LIBS -lz -lterminfo" } post_makeinstall_target() { @@ -351,14 +253,17 @@ post_makeinstall_target() { rm -rf $INSTALL/usr/bin/kodi-standalone rm -rf $INSTALL/usr/bin/xbmc rm -rf $INSTALL/usr/bin/xbmc-standalone - rm -rf $INSTALL/usr/lib/kodi/*.cmake + rm -rf $INSTALL/usr/share/kodi/cmake rm -rf $INSTALL/usr/share/applications rm -rf $INSTALL/usr/share/icons + rm -rf $INSTALL/usr/share/pixmaps rm -rf $INSTALL/usr/share/kodi/addons/skin.estouchy rm -rf $INSTALL/usr/share/kodi/addons/service.xbmc.versioncheck rm -rf $INSTALL/usr/share/kodi/addons/visualization.vortex rm -rf $INSTALL/usr/share/xsessions + mv $INSTALL/usr/lib/python2.7/dist-packages $INSTALL/usr/lib/python2.7/site-packages + mkdir -p $INSTALL/usr/lib/kodi cp $PKG_DIR/scripts/kodi-config $INSTALL/usr/lib/kodi cp $PKG_DIR/scripts/kodi.sh $INSTALL/usr/lib/kodi @@ -370,11 +275,6 @@ post_makeinstall_target() { cp $PKG_DIR/scripts/cputemp $INSTALL/usr/bin ln -sf cputemp $INSTALL/usr/bin/gputemp cp $PKG_DIR/scripts/setwakeup.sh $INSTALL/usr/bin - cp tools/EventClients/Clients/Kodi\ Send/kodi-send.py $INSTALL/usr/bin/kodi-send - - if [ ! "$DISPLAYSERVER" = "x11" ]; then - rm -rf $INSTALL/usr/lib/kodi/kodi-xrandr - fi mkdir -p $INSTALL/usr/share/kodi/addons cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/kodi/addons @@ -385,9 +285,6 @@ post_makeinstall_target() { $SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/kodi/addons/repository.libreelec.tv/addon.xml cp -R $PKG_DIR/config/repository.kodi.game $INSTALL/usr/share/kodi/addons - mkdir -p $INSTALL/usr/lib/python$PYTHON_VERSION/site-packages/kodi - cp -R tools/EventClients/lib/python/* $INSTALL/usr/lib/python$PYTHON_VERSION/site-packages/kodi - mkdir -p $INSTALL/usr/share/kodi/config cp $PKG_DIR/config/guisettings.xml $INSTALL/usr/share/kodi/config cp $PKG_DIR/config/sources.xml $INSTALL/usr/share/kodi/config @@ -434,7 +331,9 @@ post_makeinstall_target() { xmlstarlet ed -L --subnode "/addons" -t elem -n "addon" -v "service.libreelec.settings" $ADDON_MANIFEST # more binaddons cross compile badness meh - sed -i -e "s:INCLUDE_DIR /usr/include/kodi:INCLUDE_DIR $SYSROOT_PREFIX/usr/include/kodi:g" $SYSROOT_PREFIX/usr/lib/kodi/KodiConfig.cmake + sed -e "s:INCLUDE_DIR /usr/include/kodi:INCLUDE_DIR $SYSROOT_PREFIX/usr/include/kodi:g" \ + -e "s:CMAKE_MODULE_PATH /usr/lib/kodi /usr/share/kodi/cmake:CMAKE_MODULE_PATH $SYSROOT_PREFIX/usr/share/kodi/cmake:g" \ + -i $SYSROOT_PREFIX/usr/share/kodi/cmake/KodiConfig.cmake if [ "$KODI_EXTRA_FONTS" = yes ]; then mkdir -p $INSTALL/usr/share/kodi/media/Fonts @@ -445,10 +344,10 @@ post_makeinstall_target() { } post_install() { -# link default.target to kodi.target + # link default.target to kodi.target ln -sf kodi.target $INSTALL/usr/lib/systemd/system/default.target -# enable default services + # enable default services enable_service kodi-autostart.service enable_service kodi-cleanlogs.service enable_service kodi-halt.service diff --git a/packages/mediacenter/kodi/patches/kodi-100.19-dont-link-pulseaudio-mainloop.patch b/packages/mediacenter/kodi/patches/kodi-100.19-dont-link-pulseaudio-mainloop.patch new file mode 100644 index 0000000000..17e86470db --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.19-dont-link-pulseaudio-mainloop.patch @@ -0,0 +1,41 @@ +diff -Naur a/project/cmake/modules/FindPulseAudio.cmake b/project/cmake/modules/FindPulseAudio.cmake +--- a/project/cmake/modules/FindPulseAudio.cmake 2016-09-17 08:35:33.000000000 -0700 ++++ b/project/cmake/modules/FindPulseAudio.cmake 2016-09-22 22:36:22.818788337 -0700 +@@ -29,9 +29,6 @@ + find_library(PULSEAUDIO_LIBRARY NAMES pulse libpulse + PATHS ${PC_PULSEAUDIO_LIBDIR} ${PC_PULSEAUDIO_LIBRARY_DIRS}) + +-find_library(PULSEAUDIO_MAINLOOP_LIBRARY NAMES pulse-mainloop pulse-mainloop-glib libpulse-mainloop-glib +- PATHS ${PC_PULSEAUDIO_LIBDIR} ${PC_PULSEAUDIO_LIBRARY_DIRS}) +- + if(PC_PULSEAUDIO_VERSION) + set(PULSEAUDIO_VERSION_STRING ${PC_PULSEAUDIO_VERSION}) + elseif(PULSEAUDIO_INCLUDE_DIR AND EXISTS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h") +@@ -42,19 +39,14 @@ + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(PulseAudio +- REQUIRED_VARS PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY PULSEAUDIO_INCLUDE_DIR ++ REQUIRED_VARS PULSEAUDIO_LIBRARY PULSEAUDIO_INCLUDE_DIR + VERSION_VAR PULSEAUDIO_VERSION_STRING) + + if(PULSEAUDIO_FOUND) + set(PULSEAUDIO_INCLUDE_DIRS ${PULSEAUDIO_INCLUDE_DIR}) +- set(PULSEAUDIO_LIBRARIES ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY}) ++ set(PULSEAUDIO_LIBRARIES ${PULSEAUDIO_LIBRARY}) + set(PULSEAUDIO_DEFINITIONS -DHAVE_LIBPULSE=1) + +- if(NOT TARGET PulseAudio::PulseAudioMainloop) +- add_library(PulseAudio::PulseAudioMainloop UNKNOWN IMPORTED) +- set_target_properties(PulseAudio::PulseAudioMainloop PROPERTIES +- IMPORTED_LOCATION "${PULSEAUDIO_MAINLOOP_LIBRARY}") +- endif() + if(NOT TARGET PulseAudio::PulseAudio) + add_library(PulseAudio::PulseAudio UNKNOWN IMPORTED) + set_target_properties(PulseAudio::PulseAudio PROPERTIES +@@ -65,4 +57,4 @@ + endif() + endif() + +-mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY) ++mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY) diff --git a/packages/mediacenter/kodi/patches/kodi-100.20-remove-intl-and-gmp.patch b/packages/mediacenter/kodi/patches/kodi-100.20-remove-intl-and-gmp.patch new file mode 100644 index 0000000000..57f39e4a7f --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.20-remove-intl-and-gmp.patch @@ -0,0 +1,12 @@ +diff -Naur a/project/cmake/modules/FindPython.cmake b/project/cmake/modules/FindPython.cmake +--- a/project/cmake/modules/FindPython.cmake 2016-11-30 13:39:56.000000000 -0800 ++++ b/project/cmake/modules/FindPython.cmake 2016-11-30 20:55:52.581465246 -0800 +@@ -16,8 +16,6 @@ + if(CMAKE_CROSSCOMPILING) + find_library(FFI_LIBRARY ffi REQUIRED) + find_library(EXPAT_LIBRARY expat REQUIRED) +- find_library(INTL_LIBRARY intl REQUIRED) +- find_library(GMP_LIBRARY gmp REQUIRED) + + if(NOT CORE_SYSTEM_NAME STREQUAL android) + set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil) diff --git a/packages/mediacenter/kodi/patches/kodi-100.21-remove-texture-packer.patch b/packages/mediacenter/kodi/patches/kodi-100.21-remove-texture-packer.patch new file mode 100644 index 0000000000..8095c1e073 --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.21-remove-texture-packer.patch @@ -0,0 +1,23 @@ +diff -Naur a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt +--- a/project/cmake/CMakeLists.txt 2016-11-30 20:56:15.081681608 -0800 ++++ b/project/cmake/CMakeLists.txt 2016-11-30 20:57:19.179297961 -0800 +@@ -283,10 +283,6 @@ + copy_skin_to_buildtree(${dir} ${relative}) + endforeach() + +-add_custom_target(pack-skins ALL +- DEPENDS TexturePacker::TexturePacker export-files ${XBT_FILES}) +-set_target_properties(pack-skins PROPERTIES FOLDER "Build Utilities") +- + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/system/players/VideoPlayer) + + set(LIBCEC_SONAME "${CEC_SONAME}") +@@ -330,7 +326,7 @@ + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") + add_library(${APP_NAME_LC} SHARED ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES}) + endif() +-add_dependencies(${APP_NAME_LC} ${APP_NAME_LC}-libraries export-files pack-skins) ++add_dependencies(${APP_NAME_LC} ${APP_NAME_LC}-libraries export-files) + whole_archive(_MAIN_LIBRARIES ${core_DEPENDS}) + target_link_libraries(${APP_NAME_LC} ${_MAIN_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS}) + unset(_MAIN_LIBRARIES) diff --git a/packages/mediacenter/kodi/patches/kodi-100.22-allow-static-smbclient-linking.patch b/packages/mediacenter/kodi/patches/kodi-100.22-allow-static-smbclient-linking.patch new file mode 100644 index 0000000000..655eafc2ff --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.22-allow-static-smbclient-linking.patch @@ -0,0 +1,49 @@ +diff -Naur a/project/cmake/modules/FindSmbClient.cmake b/project/cmake/modules/FindSmbClient.cmake +--- a/project/cmake/modules/FindSmbClient.cmake 2016-09-17 08:35:33.000000000 -0700 ++++ b/project/cmake/modules/FindSmbClient.cmake 2016-09-25 13:38:38.969125892 -0700 +@@ -14,7 +14,7 @@ + # + # SmbClient::SmbClient - The SmbClient library + +-if(PKGCONFIG_FOUND) ++if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_SMBCLIENT smbclient QUIET) + endif() + +@@ -23,15 +23,35 @@ + find_library(SMBCLIENT_LIBRARY NAMES smbclient + PATHS ${PC_SMBCLIENT_LIBDIR}) + ++# check if smbclient libs are statically linked ++set(SMBCLIENT_LIB_TYPE SHARED) ++if(PC_SMBCLIENT_STATIC_LDFLAGS) ++ set(SMBCLIENT_LDFLAGS ${PC_SMBCLIENT_STATIC_LDFLAGS} CACHE STRING "smbclient linker flags" FORCE) ++ set(SMBCLIENT_LIB_TYPE STATIC) ++# string(REGEX REPLACE ";" " " SMBCLIENT_STATIC_LIBRARIES ${PC_SMBCLIENTS_STATIC_LIBRARIES}) ++# foreach(_smblib IN LISTS ${SMBCLIENT_STATIC_LIBRARIES}) ++# string(TOUPPER ${_smblib}_LIBRARY SMBCLIENT_STATIC_LIBRARIES) ++# find_library(${SMBCLIENT_STATIC_LIBRARIES} ${_smblib}) ++# endforeach() ++ ++ find_library(TALLOC_LIBRARY talloc) ++ find_library(TDB_LIBRARY tdb) ++ find_library(TEVENT_LIBRARY tevent) ++ find_library(WBCLIENT_LIBRARY wbclient) ++ find_library(RESOLV_LIBRARY resolv) ++ ++endif() ++ + set(SMBCLIENT_VERSION ${PC_SMBCLIENT_VERSION}) + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(SmbClient + REQUIRED_VARS SMBCLIENT_LIBRARY SMBCLIENT_INCLUDE_DIR ++ TALLOC_LIBRARY TDB_LIBRARY TEVENT_LIBRARY WBCLIENT_LIBRARY RESOLV_LIBRARY + VERSION_VAR SMBCLIENT_VERSION) + + if(SMBCLIENT_FOUND) +- set(SMBCLIENT_LIBRARIES ${SMBCLIENT_LIBRARY}) ++ set(SMBCLIENT_LIBRARIES ${SMBCLIENT_LIBRARY} ${TALLOC_LIBRARY} ${TDB_LIBRARY} ${TEVENT_LIBRARY} ${WBCLIENT_LIBRARY} ${RESOLV_LIBRARY}) + set(SMBCLIENT_INCLUDE_DIRS ${SMBCLIENT_INCLUDE_DIR}) + set(SMBCLIENT_DEFINITIONS -DHAVE_LIBSMBCLIENT=1) + diff --git a/packages/mediacenter/kodi/patches/kodi-100.22-dont-touch-skins.patch b/packages/mediacenter/kodi/patches/kodi-100.22-dont-touch-skins.patch new file mode 100644 index 0000000000..1fed83fb4e --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.22-dont-touch-skins.patch @@ -0,0 +1,39 @@ +diff -Naur a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt +--- a/project/cmake/CMakeLists.txt 2016-11-30 21:02:11.947113135 -0800 ++++ b/project/cmake/CMakeLists.txt 2016-11-30 21:02:41.399396354 -0800 +@@ -273,16 +273,6 @@ + copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/common/*.txt + ${PROJECT_SOURCE_DIR}/installdata/${CORE_SYSTEM_NAME}/*.txt) + +-list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estuary\;${CORE_SOURCE_DIR}") +-list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estouchy\;${CORE_SOURCE_DIR}") +- +-# These are skins that are copied into place from the source tree +-foreach(skin ${SKINS}) +- list(GET skin 0 dir) +- list(GET skin 1 relative) +- copy_skin_to_buildtree(${dir} ${relative}) +-endforeach() +- + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/system/players/VideoPlayer) + + set(LIBCEC_SONAME "${CEC_SONAME}") +diff -Naur a/project/cmake/scripts/linux/Install.cmake b/project/cmake/scripts/linux/Install.cmake +--- a/project/cmake/scripts/linux/Install.cmake 2016-11-30 21:02:11.951113174 -0800 ++++ b/project/cmake/scripts/linux/Install.cmake 2016-11-30 21:02:50.984488519 -0800 +@@ -307,15 +307,6 @@ + DESTINATION ${includedir}/${APP_NAME_LC} + COMPONENT kodi-peripheral-dev) + +-# Install XBT skin files +-foreach(texture ${XBT_FILES}) +- string(REPLACE "${CMAKE_BINARY_DIR}/" "" dir ${texture}) +- get_filename_component(dir ${dir} DIRECTORY) +- install(FILES ${texture} +- DESTINATION ${datarootdir}/${APP_NAME_LC}/${dir} +- COMPONENT kodi) +-endforeach() +- + # Install extra stuff if it exists + if(EXISTS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/extra-installs) + install(CODE "file(STRINGS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/extra-installs dirs) diff --git a/packages/mediacenter/kodi/patches/kodi-100.23-add-findimx-cmake-module.patch b/packages/mediacenter/kodi/patches/kodi-100.23-add-findimx-cmake-module.patch new file mode 100644 index 0000000000..e4f0c975f5 --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.23-add-findimx-cmake-module.patch @@ -0,0 +1,118 @@ +commit 0e78af21ce3fff4c9f4424e1ce99880a79ef4113 +Author: Lukas Rusak +Date: Sun Sep 25 15:26:18 2016 -0700 + + [cmake][IMX] fix imx cmake build + +diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt +index 76870a4..8602a52 100644 +--- a/project/cmake/CMakeLists.txt ++++ b/project/cmake/CMakeLists.txt +@@ -56,6 +56,7 @@ if(UNIX) + if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd) + option(ENABLE_X11 "Enable X11 support?" ON) + option(ENABLE_AML "Enable AML?" OFF) ++ option(ENABLE_IMX "Enable IMX?" OFF) + endif() + endif() + # System options +@@ -216,6 +217,7 @@ endif() + + if(CORE_SYSTEM_NAME STREQUAL android OR CORE_SYSTEM_NAME STREQUAL linux) + core_optional_dep(AML) ++ core_optional_dep(IMX) + elseif(CORE_SYSTEM_NAME STREQUAL rbpi) + core_require_dep(MMAL) + endif() +diff --git a/project/cmake/modules/FindIMX.cmake b/project/cmake/modules/FindIMX.cmake +new file mode 100644 +index 0000000..4e1e838 +--- /dev/null ++++ b/project/cmake/modules/FindIMX.cmake +@@ -0,0 +1,35 @@ ++#.rst: ++# FindIMX ++# ------- ++# Finds the IMX codec ++# ++# This will will define the following variables:: ++# ++# IMX_FOUND - system has IMX ++# IMX_INCLUDE_DIRS - the IMX include directory ++# IMX_DEFINITIONS - the IMX definitions ++# IMX_LIBRARIES - the IMX libraries ++ ++if(PKG_CONFIG_FOUND) ++ pkg_check_modules(IMX fslvpuwrap QUIET) ++endif() ++ ++if(NOT IMX_FOUND) ++ find_path(IMX_INCLUDE_DIR vpu_wrapper.h ++ PATH_SUFFIXES imx-mm/vpu) ++ ++ find_library(FSLVPUWRAP_LIBRARY fslvpuwrap) ++ find_library(VPU_LIBRARY vpu) ++ find_library(G2D_LIBRARY g2d) ++ ++ set(IMX_LIBRARIES ${FSLVPUWRAP_LIBRARY} ${VPU_LIBRARY} ${G2D_LIBRARY} ++ CACHE STRING "imx libraries" FORCE) ++endif() ++ ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(IMX ++ REQUIRED_VARS IMX_INCLUDE_DIR IMX_LIBRARIES) ++ ++list(APPEND IMXVPU_DEFINITIONS -DHAS_IMXVPU=1 -DLINUX -DEGL_API_FB) ++ ++mark_as_advanced(IMX_INCLUDE_DIR IMX_LIBRARIES IMX_DEFINITIONS) +diff --git a/xbmc/linux/CMakeLists.txt b/xbmc/linux/CMakeLists.txt +index 754cc1e..931c10d 100644 +--- a/xbmc/linux/CMakeLists.txt ++++ b/xbmc/linux/CMakeLists.txt +@@ -40,4 +40,8 @@ if(OMXLIB_FOUND) + OMXCore.h) + endif() + ++if(IMX_FOUND) ++ add_subdirectory(imx) ++endif() ++ + core_add_library(linuxsupport) +diff --git a/xbmc/video/videosync/CMakeLists.txt b/xbmc/video/videosync/CMakeLists.txt +index 421af44..82f7169 100644 +--- a/xbmc/video/videosync/CMakeLists.txt ++++ b/xbmc/video/videosync/CMakeLists.txt +@@ -35,6 +35,11 @@ if(CORE_SYSTEM_NAME STREQUAL android) + list(APPEND HEADERS VideoSyncAndroid.h) + endif() + ++if(IMX_FOUND) ++ list(APPEND SOURCES VideoSyncIMX.cpp) ++ list(APPEND HEADERS VideoSyncIMX.h) ++endif() ++ + if(SOURCES AND HEADERS) + core_add_library(video_sync) + endif() +diff --git a/xbmc/windowing/egl/CMakeLists.txt b/xbmc/windowing/egl/CMakeLists.txt +index 3ab603e..51e13ab 100644 +--- a/xbmc/windowing/egl/CMakeLists.txt ++++ b/xbmc/windowing/egl/CMakeLists.txt +@@ -1,4 +1,4 @@ +-if(OPENGLES_FOUND OR AML_FOUND OR MMAL_FOUND) ++if(OPENGLES_FOUND OR AML_FOUND OR IMX_FOUND OR MMAL_FOUND) + set(SOURCES EGLWrapper.cpp) + + set(HEADERS EGLNativeType.h +@@ -30,6 +30,11 @@ if(MMAL_FOUND) + list(APPEND HEADERS EGLNativeTypeRaspberryPI.h) + endif() + ++if(IMX_FOUND) ++ list(APPEND SOURCES EGLNativeTypeIMX.cpp) ++ list(APPEND HEADERS EGLNativeTypeIMX.h) ++endif() ++ + if(SOURCES) + core_add_library(windowing_egl) + endif() diff --git a/packages/mediacenter/kodi/patches/kodi-100.24-disable-bluetooth.patch b/packages/mediacenter/kodi/patches/kodi-100.24-disable-bluetooth.patch new file mode 100644 index 0000000000..aab9213bac --- /dev/null +++ b/packages/mediacenter/kodi/patches/kodi-100.24-disable-bluetooth.patch @@ -0,0 +1,27 @@ +diff -Naur a/project/cmake/scripts/linux/ExtraTargets.cmake b/project/cmake/scripts/linux/ExtraTargets.cmake +--- a/project/cmake/scripts/linux/ExtraTargets.cmake 2016-09-17 08:35:33.000000000 -0700 ++++ b/project/cmake/scripts/linux/ExtraTargets.cmake 2016-09-28 00:29:12.861577741 -0700 +@@ -5,8 +5,3 @@ + add_executable(${APP_NAME_LC}-xrandr ${CORE_SOURCE_DIR}/xbmc-xrandr.c) + target_link_libraries(kodi-xrandr ${SYSTEM_LDFLAGS} ${X_LIBRARIES} m ${XRANDR_LIBRARIES}) + endif() +- +-# WiiRemote +-if(ENABLE_EVENTCLIENTS) +- add_subdirectory(${CORE_SOURCE_DIR}/tools/EventClients/Clients/WiiRemote build/WiiRemote) +-endif() +diff -Naur a/project/cmake/scripts/linux/Install.cmake b/project/cmake/scripts/linux/Install.cmake +--- a/project/cmake/scripts/linux/Install.cmake 2016-11-19 11:55:17.791608457 -0800 ++++ b/project/cmake/scripts/linux/Install.cmake 2016-11-19 11:55:44.860880383 -0800 +@@ -256,11 +256,6 @@ + DESTINATION ${bindir} + COMPONENT kodi-eventclients-ps3) + +- # Install kodi-eventclients-wiiremote +- install(PROGRAMS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/WiiRemote/${APP_NAME_LC}-wiiremote +- DESTINATION ${bindir} +- COMPONENT kodi-eventclients-wiiremote) +- + # Install kodi-eventclients-xbmc-send + install(PROGRAMS "${CORE_SOURCE_DIR}/tools/EventClients/Clients/Kodi Send/kodi-send.py" + RENAME ${APP_NAME_LC}-send From 263704a1c1fea4cebb2bee2f1344b8a589270033 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:44 -0800 Subject: [PATCH 5/7] kodi-theme-Estuary: depend on kodi --- packages/mediacenter/kodi-theme-Estuary/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mediacenter/kodi-theme-Estuary/package.mk b/packages/mediacenter/kodi-theme-Estuary/package.mk index b5c2255d36..fe20419b09 100644 --- a/packages/mediacenter/kodi-theme-Estuary/package.mk +++ b/packages/mediacenter/kodi-theme-Estuary/package.mk @@ -23,7 +23,7 @@ PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.kodi.tv" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain kodi:host" +PKG_DEPENDS_TARGET="toolchain kodi" PKG_SECTION="mediacenter" PKG_SHORTDESC="kodi-theme-Estuary: Kodi Mediacenter default theme" PKG_LONGDESC="Kodi Media Center (which was formerly named Xbox Media Center and XBMC) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control." From e58346d0ebaace4ad46c8e3c7e708e77ef7cb28b Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:44 -0800 Subject: [PATCH 6/7] livdvdnav: symlink libdvdnav.pc to dvdnav.pc --- packages/multimedia/libdvdnav/package.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/multimedia/libdvdnav/package.mk b/packages/multimedia/libdvdnav/package.mk index bf84153bb9..a4d3b9b652 100644 --- a/packages/multimedia/libdvdnav/package.mk +++ b/packages/multimedia/libdvdnav/package.mk @@ -36,3 +36,7 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --with-pic" pre_configure_target() { export CFLAGS="$CFLAGS -D_XBMC -DHAVE_DVDCSS_DVDCSS_H" } + +post_makeinstall_target() { + ln -sf dvdnav.pc $SYSROOT_PREFIX/usr/lib/pkgconfig/libdvdnav.pc +} From 1930b5bf3f5f3e90e160cf9426479b279e7a8099 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Fri, 2 Dec 2016 11:10:45 -0800 Subject: [PATCH 7/7] livdvdread: symlink libdvdread.pc to dvdread.pc --- packages/multimedia/libdvdread/package.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/multimedia/libdvdread/package.mk b/packages/multimedia/libdvdread/package.mk index 32b9ebddd7..f5b6d8fbeb 100644 --- a/packages/multimedia/libdvdread/package.mk +++ b/packages/multimedia/libdvdread/package.mk @@ -36,3 +36,7 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared --with-libdvdcss --w pre_configure_target() { export CFLAGS="$CFLAGS -D_XBMC -DHAVE_DVDCSS_DVDCSS_H" } + +post_makeinstall_target() { + ln -sf dvdread.pc $SYSROOT_PREFIX/usr/lib/pkgconfig/libdvdread.pc +}