Move all to deprecated folder.

This commit is contained in:
2016-11-16 21:57:57 +01:00
parent 01738a7684
commit 05de7d6c04
9777 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
From 63c255f1f5d68363f49193aceed343e602dc8bdf Mon Sep 17 00:00:00 2001
From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Date: Thu, 26 Dec 2013 21:17:10 +0100
Subject: [PATCH] Fixup include path
Patch originally taken from :
http://repository.timesys.com/buildsources/x/xbmc/xbmc-11.0/xbmc-11.0-fixups.patch
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
lib/enca/configure | 3 ---
lib/enca/configure.ac | 3 ---
lib/libdvd/libdvdread/misc/dvdread-config.sh | 6 +++---
lib/timidity/configure.in | 6 +++---
4 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/lib/libdvd/libdvdread/misc/dvdread-config.sh b/lib/libdvd/libdvdread/misc/dvdread-config.sh
index e170c7e..25ee893 100644
--- a/lib/libdvd/libdvdread/misc/dvdread-config.sh
+++ b/lib/libdvd/libdvdread/misc/dvdread-config.sh
@@ -48,9 +48,9 @@ if test "$echo_prefix" = "yes"; then
fi
if test "$echo_cflags" = "yes"; then
- echo -I$prefix/include $extracflags
+ echo $extracflags
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir $dvdreadlib
-fi
+ echo $dvdreadlib
+fi

View File

@@ -0,0 +1,16 @@
Fix host compile
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
diff -uNr xbmc-656cba5d5c7c5edb166196b48560825b9b1f03fd.org/tools/depends/native/TexturePacker/Makefile xbmc-656cba5d5c7c5edb166196b48560825b9b1f03fd/tools/depends/native/TexturePacker/Makefile
--- xbmc-656cba5d5c7c5edb166196b48560825b9b1f03fd.org/tools/depends/native/TexturePacker/Makefile 2015-01-25 09:00:48.000000000 +0100
+++ xbmc-656cba5d5c7c5edb166196b48560825b9b1f03fd/tools/depends/native/TexturePacker/Makefile 2015-01-25 13:03:23.606140953 +0100
@@ -36,7 +36,7 @@
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); cp -a $(SOURCE)/* .
cd $(PLATFORM); ./autogen.sh
- cd $(PLATFORM); ./configure --prefix=$(PREFIX) $(EXTRA_CONFIGURE) EXTRA_DEFINES="$(NATIVE_ARCH_DEFINES)"
+ cd $(PLATFORM); ./configure --prefix=$(PREFIX) EXTRA_DEFINES="$(NATIVE_ARCH_DEFINES)"
$(APP): $(PLATFORM)

View File

@@ -0,0 +1,67 @@
Patch sent upstream:
https://github.com/xbmc/xbmc/pull/7551
From a6d6a1a36ff2dff2586fbad2a068e7df14b55fdc Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 19 Jul 2015 14:12:03 +0200
Subject: [PATCH 1/1] ALSA: fix device change event support
Current uClibc version 0.9.33.2 does not support eventfd_read/write.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
configure.ac | 5 ++++-
xbmc/linux/FDEventMonitor.cpp | 12 ++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d321f7d..4c6c750 100644
--- a/configure.ac
+++ b/configure.ac
@@ -911,7 +911,7 @@ AC_FUNC_STRFTIME
AC_FUNC_STRTOD
AC_FUNC_UTIME_NULL
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise localtime_r])
+AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise localtime_r eventfd_read eventfd_write])
# Check for various sizes
AC_CHECK_SIZEOF([int])
@@ -2064,6 +2064,9 @@ fi
if test "$use_alsa" = "yes"; then
USE_ALSA=1
AC_DEFINE([USE_ALSA],[1],["Define to 1 if alsa is installed"])
+ if test "$ac_cv_func_eventfd_read" = "yes" -a "$ac_cv_func_eventfd_write" = "yes"; then
+ AC_DEFINE([HAVE_EVENTFD],[1],["Define to 1 if eventfd is installed"])
+ fi
final_message="$final_message\n ALSA:\t\tYes"
else
USE_ALSA=0
diff --git a/xbmc/linux/FDEventMonitor.cpp b/xbmc/linux/FDEventMonitor.cpp
index 4a41477..84efeb9 100644
--- a/xbmc/linux/FDEventMonitor.cpp
+++ b/xbmc/linux/FDEventMonitor.cpp
@@ -28,6 +28,18 @@
#include "FDEventMonitor.h"
+#ifndef HAVE_EVENTFD
+static int eventfd_read(int __fd, eventfd_t *__value)
+{
+ return read(__fd, __value, sizeof(eventfd_t)) == sizeof(eventfd_t) ? 0 : -1;
+}
+
+static int eventfd_write(int __fd, eventfd_t __value)
+{
+ return write(__fd, &__value, sizeof(eventfd_t)) == sizeof(eventfd_t) ? 0 : -1;
+}
+#endif
+
CFDEventMonitor::CFDEventMonitor() :
CThread("FDEventMonitor"),
m_nextID(0),
--
1.7.10.4

View File

@@ -0,0 +1,38 @@
From 6604cce38fed748e98d3bd2bf9d0f368d67eeb3c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 29 Jul 2015 23:13:33 +0200
Subject: [PATCH] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix
cross-compilation
When cross-compiling, the location at build time of the libraries is
not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable
is here to handle this difference, so use it in kodi-config.cmake.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
project/cmake/kodi-config.cmake.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/project/cmake/kodi-config.cmake.in b/project/cmake/kodi-config.cmake.in
index 76626ec..ffb8e1d 100644
--- a/project/cmake/kodi-config.cmake.in
+++ b/project/cmake/kodi-config.cmake.in
@@ -4,12 +4,12 @@ SET(APP_NAME_UC @APP_NAME_UC@)
SET(APP_VERSION_MAJOR @APP_VERSION_MAJOR@)
SET(APP_VERSION_MINOR @APP_VERSION_MINOR@)
SET(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
-SET(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
-SET(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
+SET(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
+SET(@APP_NAME_UC@_LIB_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
IF(NOT WIN32)
SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
ENDIF()
-LIST(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@)
+LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
ADD_DEFINITIONS(@ARCH_DEFINES@ -DBUILD_KODI_ADDON)
include(addon-helpers)
--
2.5.0

View File

@@ -0,0 +1,317 @@
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
bool
default y if (BR2_arm || (BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC) || BR2_i386 || BR2_x86_64) && BR2_PACKAGE_BOOST_ARCH_SUPPORTS
comment "kodi needs a toolchain w/ C++, threads, wchar, dynamic library"
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_USE_WCHAR || BR2_STATIC_LIBS
depends on BR2_USE_MMU
config BR2_PACKAGE_KODI_EGL_GLES
bool
default y
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGLES
depends on !BR2_PACKAGE_KODI_GL # prefer GL if available
config BR2_PACKAGE_KODI_GL
bool
default y
depends on BR2_PACKAGE_HAS_LIBGL
depends on !BR2_arm # kodi needs egl/gles on arm
comment "kodi needs an OpenGL or an openGL ES and EGL backend"
depends on BR2_i386 || BR2_x86_64
depends on !BR2_PACKAGE_KODI_GL && !BR2_PACKAGE_KODI_EGL_GLES
comment "kodi requires an OpenGL ES and EGL backend"
depends on BR2_arm
depends on !BR2_PACKAGE_KODI_EGL_GLES
menuconfig BR2_PACKAGE_KODI
bool "kodi"
select BR2_NEEDS_HOST_JAVA
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_FFMPEG
select BR2_PACKAGE_FFMPEG_GPL
select BR2_PACKAGE_FFMPEG_POSTPROC # postproc depends on GPL
select BR2_PACKAGE_FFMPEG_SWSCALE
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_JASPER
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBASS
select BR2_PACKAGE_LIBCDIO
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBFRIBIDI
select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBMPEG2
select BR2_PACKAGE_LIBOGG
select BR2_PACKAGE_LIBPLIST
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_LIBSAMPLERATE
select BR2_PACKAGE_LIBSQUISH
select BR2_PACKAGE_LIBVORBIS
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_LZO
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_PCRE
select BR2_PACKAGE_PCRE_UCP
select BR2_PACKAGE_PYTHON
select BR2_PACKAGE_PYTHON_BSDDB
select BR2_PACKAGE_PYTHON_BZIP2
select BR2_PACKAGE_PYTHON_CURSES
select BR2_PACKAGE_PYTHON_PYEXPAT
select BR2_PACKAGE_PYTHON_READLINE
select BR2_PACKAGE_PYTHON_SQLITE
select BR2_PACKAGE_PYTHON_SSL
select BR2_PACKAGE_PYTHON_UNICODEDATA
select BR2_PACKAGE_PYTHON_ZLIB
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TAGLIB
select BR2_PACKAGE_TIFF
select BR2_PACKAGE_TINYXML
select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_XLIB_LIBXMU if BR2_PACKAGE_KODI_GL # needed by rsxs screensaver
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_KODI_GL # needed by rsxs screensaver
select BR2_PACKAGE_YAJL
select BR2_PACKAGE_ZLIB
select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL
depends on BR2_USE_MMU # python
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS # python
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
help
Kodi is an award-winning free and open source (GPL) software
media player and entertainment hub for digital media.
http://kodi.tv
if BR2_PACKAGE_KODI
source "package/kodi-platform/Config.in"
config BR2_PACKAGE_KODI_ALSA_LIB
bool "alsa"
select BR2_PACKAGE_ALSA_LIB
help
Enable alsa support.
config BR2_PACKAGE_KODI_AVAHI
bool "avahi"
depends on !BR2_STATIC_LIBS # avahi
select BR2_PACKAGE_AVAHI
select BR2_PACKAGE_AVAHI_DAEMON
help
Enable Avahi support.
Select this if you want Kodi to support Bonjour protocol.
config BR2_PACKAGE_KODI_DBUS
bool "dbus"
select BR2_PACKAGE_DBUS
help
Enable D-Bus support
config BR2_PACKAGE_KODI_LIBBLURAY
bool "blu-ray"
select BR2_PACKAGE_LIBBLURAY
depends on !BR2_STATIC_LIBS
help
Enable Blu-ray input support.
Select this if you want to play back Blu-ray content.
comment "libbluray support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_KODI_GOOM
bool "goom screensaver"
depends on BR2_PACKAGE_KODI_GL
help
Enable goom screensaver
comment "goom needs an OpenGL backend"
depends on !BR2_PACKAGE_KODI_GL
config BR2_PACKAGE_KODI_RSXS
bool "rsxs screensaver"
depends on BR2_PACKAGE_KODI_GL
help
Enable goom screensaver
comment "rsxs needs an OpenGL backend"
depends on !BR2_PACKAGE_KODI_GL
config BR2_PACKAGE_KODI_LIBCEC
bool "hdmi cec"
depends on !BR2_STATIC_LIBS # libcec
depends on BR2_PACKAGE_HAS_UDEV
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # libcec
select BR2_PACKAGE_LIBCEC
help
Enable CEC (Consumer Electronics Control) support.
Select this if you want Kodi to support HDMI CEC.
comment "hdmi cec support needs udev /dev management and a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS || !BR2_PACKAGE_HAS_UDEV || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
config BR2_PACKAGE_KODI_LIRC
bool "lirc"
help
Enable lirc support
config BR2_PACKAGE_KODI_LIBMICROHTTPD
bool "web server"
select BR2_PACKAGE_LIBMICROHTTPD
help
Enable webserver feature
config BR2_PACKAGE_KODI_LIBNFS
bool "nfs"
# libnfs -> libtirpc
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS
select BR2_PACKAGE_LIBNFS
help
Enable NFS server support.
comment "nfs support needs a toolchain w/ threads support"
depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC)
config BR2_PACKAGE_KODI_RTMPDUMP
bool "rtmp"
select BR2_PACKAGE_RTMPDUMP
help
Enable RTMP input support.
Select this if you want to play back rtmp stream.
config BR2_PACKAGE_KODI_LIBSHAIRPLAY
bool "shairport"
depends on !BR2_STATIC_LIBS # libshairplay -> avahi
select BR2_PACKAGE_LIBSHAIRPLAY
help
Enable Shairport support.
Select this if you want to stream content from an Apple device.
comment "shairport support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
comment "samba support needs an (e)glibc toolchain w/ RPC"
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_NATIVE_RPC
config BR2_PACKAGE_KODI_LIBSMBCLIENT
bool "samba"
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
depends on BR2_TOOLCHAIN_HAS_SYNC_4
select BR2_PACKAGE_SAMBA4
help
Enable Samba support
config BR2_PACKAGE_KODI_LIBSSH
bool "ssh"
select BR2_PACKAGE_LIBSSH
help
Enable sftp virtual filesystem using libssh.
config BR2_PACKAGE_KODI_LIBTHEORA
bool "theora"
select BR2_PACKAGE_LIBTHEORA
help
Enable Theora input support.
Select this if you want to play back OGG/OGV files (Video).
config BR2_PACKAGE_KODI_LIBUSB
bool "usb"
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
Enable libusb support.
config BR2_PACKAGE_KODI_LIBVA
bool "va"
select BR2_PACKAGE_LIBVA
depends on !BR2_STATIC_LIBS
help
Enable libva support.
comment "libva support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_KODI_WAVPACK
bool "wavpack"
select BR2_PACKAGE_WAVPACK
help
Enable WAV input support.
Select this if you want to play back WV files.
config BR2_PACKAGE_KODI_OPTICALDRIVE
bool
menu "Audio decoder addons"
source "package/kodi-audiodecoder-modplug/Config.in"
source "package/kodi-audiodecoder-nosefart/Config.in"
source "package/kodi-audiodecoder-sidplay/Config.in"
source "package/kodi-audiodecoder-snesapu/Config.in"
source "package/kodi-audiodecoder-stsound/Config.in"
source "package/kodi-audiodecoder-timidity/Config.in"
source "package/kodi-audiodecoder-vgmstream/Config.in"
endmenu
menu "Audio encoder addons"
source "package/kodi-audioencoder-flac/Config.in"
source "package/kodi-audioencoder-lame/Config.in"
source "package/kodi-audioencoder-vorbis/Config.in"
source "package/kodi-audioencoder-wav/Config.in"
endmenu
menu "PVR addons"
source "package/kodi-addon-xvdr/Config.in"
source "package/kodi-pvr-argustv/Config.in"
source "package/kodi-pvr-dvblink/Config.in"
source "package/kodi-pvr-dvbviewer/Config.in"
source "package/kodi-pvr-filmon/Config.in"
source "package/kodi-pvr-hts/Config.in"
source "package/kodi-pvr-iptvsimple/Config.in"
source "package/kodi-pvr-mediaportal-tvserver/Config.in"
source "package/kodi-pvr-mythtv/Config.in"
source "package/kodi-pvr-nextpvr/Config.in"
source "package/kodi-pvr-njoy/Config.in"
source "package/kodi-pvr-pctv/Config.in"
source "package/kodi-pvr-stalker/Config.in"
source "package/kodi-pvr-vbox/Config.in"
source "package/kodi-pvr-vdr-vnsi/Config.in"
source "package/kodi-pvr-vuplus/Config.in"
source "package/kodi-pvr-wmc/Config.in"
endmenu
menu "Screensavers"
source "package/kodi-screensaver-asteroids/Config.in"
source "package/kodi-screensaver-biogenesis/Config.in"
source "package/kodi-screensaver-crystalmorph/Config.in"
source "package/kodi-screensaver-greynetic/Config.in"
source "package/kodi-screensaver-pingpong/Config.in"
source "package/kodi-screensaver-pyro/Config.in"
source "package/kodi-screensaver-stars/Config.in"
endmenu
menu "Visualisations"
source "package/kodi-visualisation-shadertoy/Config.in"
source "package/kodi-visualisation-spectrum/Config.in"
source "package/kodi-visualisation-waveforhue/Config.in"
source "package/kodi-visualisation-waveform/Config.in"
endmenu
endif # BR2_PACKAGE_KODI

View File

@@ -0,0 +1,39 @@
#!/bin/sh
#
# Starts Kodi
#
BIN=/usr/bin/br-kodi
KODI=/usr/lib/xbmc/kodi.bin
KODI_ARGS="--standalone -fs -n"
PIDFILE=/var/run/kodi.pid
start() {
printf "Starting Kodi: "
start-stop-daemon -S -q -b -m -p $PIDFILE --exec $BIN -- $KODI $KODI_ARGS
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
stop() {
printf "Stopping Kodi: "
start-stop-daemon -K -q -p $PIDFILE
[ $? = 0 ] && echo "OK" || echo "FAIL"
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac

View File

@@ -0,0 +1,36 @@
#!/bin/sh
# We're called with the real Kodi executable as
# first argument, followed by any Kodi extra args
KODI="${1}"
shift
# In case someone asked we terminate, just kill
# the Kodi process
trap_kill() {
LOOP=0
killall "${KODI##*/}"
}
trap trap_kill INT QUIT TERM
LOOP=1
while [ ${LOOP} -eq 1 ]; do
# Hack: BusyBox ash does not catch signals while a non-builtin
# is running, and only catches the signal when the non-builtin
# command ends. So, we just background the Kodi binary, and wait
# for it. But BusyBox' ash's wait builtin does not return the
# exit code even if there was only one job (which is correct
# for POSIX). So we explicitly wait for the Kodi job
"${KODI}" "${@}" &
wait %1
ret=$?
case "${ret}" in
0) ;;
64) poweroff; LOOP=0;;
66) reboot; LOOP=0;;
*) # Crash
sleep 1
;;
esac
done
exit ${ret}

View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 dd8aeb942e6de5d1488e243e1346cff3f6597e21b5131a3ba72ff5cc82037110 kodi-15.2-Isengard.tar.gz

View File

@@ -0,0 +1,279 @@
################################################################################
#
# kodi
#
################################################################################
KODI_VERSION = 15.2-Isengard
KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
KODI_LICENSE = GPLv2
KODI_LICENSE_FILES = LICENSE.GPL
# needed for binary addons
KODI_INSTALL_STAGING = YES
KODI_DEPENDENCIES = host-gawk host-gettext host-gperf host-zip host-giflib \
host-libjpeg host-lzo host-nasm host-libpng host-swig
KODI_DEPENDENCIES += boost bzip2 expat ffmpeg fontconfig freetype jasper jpeg \
libass libcdio libcurl libfribidi libgcrypt libmpeg2 \
libogg libplist libpng libsamplerate libsquish libvorbis libxml2 \
libxslt lzo ncurses openssl pcre python readline sqlite taglib tiff \
tinyxml yajl zlib
KODI_CONF_ENV = \
PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" \
PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \
PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \
PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \
PYTHON_NOVERSIONCHECK="no-check" \
use_texturepacker_native=yes \
USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" \
TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
KODI_CONF_OPTS += \
--with-ffmpeg=shared \
--disable-joystick \
--disable-openmax \
--disable-projectm \
--disable-pulse \
--disable-vdpau \
--disable-vtbdecoder \
--enable-optimizations
ifeq ($(BR2_PACKAGE_MYSQL),y)
KODI_CONF_OPTS += --enable-mysql
KODI_CONF_ENV += ac_cv_path_MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
KODI_DEPENDENCIES += mysql
else
KODI_CONF_OPTS += --disable-mysql
endif
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
KODI_DEPENDENCIES += rpi-userland
KODI_CONF_OPTS += --with-platform=raspberry-pi --enable-player=omxplayer
KODI_CONF_ENV += INCLUDES="-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \
-I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux" \
LIBS="-lvcos -lvchostif"
endif
ifeq ($(BR2_PACKAGE_LIBFSLVPUWRAP),y)
KODI_DEPENDENCIES += libfslvpuwrap
KODI_CONF_OPTS += --enable-codec=imxvpu
endif
ifeq ($(BR2_PACKAGE_LIBCAP),y)
KODI_CONF_OPTS += --enable-libcap
KODI_DEPENDENCIES += libcap
else
KODI_CONF_OPTS += --disable-libcap
endif
ifeq ($(BR2_PACKAGE_KODI_DBUS),y)
KODI_DEPENDENCIES += dbus
KODI_CONF_OPTS += --enable-dbus
else
KODI_CONF_OPTS += --disable-dbus
endif
ifeq ($(BR2_PACKAGE_KODI_ALSA_LIB),y)
KODI_DEPENDENCIES += alsa-lib
KODI_CONF_OPTS += --enable-alsa
else
KODI_CONF_OPTS += --disable-alsa
endif
# quote from kodi/configure.in: "GLES overwrites GL if both set to yes."
# we choose the opposite because opengl offers more features, like libva support
# GL means X11, and under X11, Kodi needs libdrm; libdrm is forcefully selected
# by a modular Xorg server, which Kodi already depends on.
ifeq ($(BR2_PACKAGE_KODI_GL),y)
KODI_DEPENDENCIES += libglew libglu libgl xlib_libX11 xlib_libXext \
xlib_libXmu xlib_libXrandr xlib_libXt libdrm
KODI_CONF_OPTS += --enable-gl --enable-x11 --disable-gles
ifeq ($(BR2_PACKAGE_KODI_RSXS),y)
# fix rsxs compile
# gcc5: http://trac.kodi.tv/ticket/16006#comment:6
# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4
KODI_CONF_ENV += \
ac_cv_type__Bool=yes \
jm_cv_func_gettimeofday_clobber=no \
mac_cv_pkg_png=$(STAGING_DIR)/usr/bin/libpng-config \
mac_cv_pkg_cppflags="`$(STAGING_DIR)/usr/bin/libpng-config --I_opts --cppflags`" \
mac_cv_pkg_cxxflags="`$(STAGING_DIR)/usr/bin/libpng-config --ccopts`" \
mac_cv_pkg_ldflags="`$(STAGING_DIR)/usr/bin/libpng-config --L_opts --R_opts`" \
mac_cv_pkg_libs="`$(STAGING_DIR)/usr/bin/libpng-config --libs`"
KODI_CONF_OPTS += --enable-rsxs
else
KODI_CONF_OPTS += --disable-rsxs
endif
else
KODI_CONF_OPTS += --disable-gl --disable-rsxs --disable-x11
ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
KODI_DEPENDENCIES += libegl libgles
KODI_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`"
KODI_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`"
KODI_CONF_OPTS += --enable-gles
else
KODI_CONF_OPTS += --disable-gles
endif
endif
ifeq ($(BR2_PACKAGE_KODI_GOOM),y)
KODI_CONF_OPTS += --enable-goom
else
KODI_CONF_OPTS += --disable-goom
endif
ifeq ($(BR2_PACKAGE_KODI_LIBUSB),y)
KODI_DEPENDENCIES += libusb-compat
KODI_CONF_OPTS += --enable-libusb
else
KODI_CONF_OPTS += --disable-libusb
endif
ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y)
KODI_DEPENDENCIES += libmicrohttpd
KODI_CONF_OPTS += --enable-webserver
else
KODI_CONF_OPTS += --disable-webserver
endif
ifeq ($(BR2_PACKAGE_KODI_LIBSMBCLIENT),y)
KODI_DEPENDENCIES += samba4
KODI_CONF_OPTS += --enable-samba
else
KODI_CONF_OPTS += --disable-samba
endif
ifeq ($(BR2_PACKAGE_KODI_LIBNFS),y)
KODI_DEPENDENCIES += libnfs
KODI_CONF_OPTS += --enable-nfs
else
KODI_CONF_OPTS += --disable-nfs
endif
ifeq ($(BR2_PACKAGE_KODI_RTMPDUMP),y)
KODI_DEPENDENCIES += rtmpdump
KODI_CONF_OPTS += --enable-rtmp
else
KODI_CONF_OPTS += --disable-rtmp
endif
ifeq ($(BR2_PACKAGE_KODI_LIBBLURAY),y)
KODI_DEPENDENCIES += libbluray
KODI_CONF_OPTS += --enable-libbluray
else
KODI_CONF_OPTS += --disable-libbluray
endif
ifeq ($(BR2_PACKAGE_KODI_LIBSHAIRPLAY),y)
KODI_DEPENDENCIES += libshairplay
KODI_CONF_OPTS += --enable-airplay
else
KODI_CONF_OPTS += --disable-airplay
endif
ifeq ($(BR2_PACKAGE_KODI_LIBSSH),y)
KODI_DEPENDENCIES += libssh
KODI_CONF_OPTS += --enable-ssh
else
KODI_CONF_OPTS += --disable-ssh
endif
ifeq ($(BR2_PACKAGE_KODI_AVAHI),y)
KODI_DEPENDENCIES += avahi
KODI_CONF_OPTS += --enable-avahi
else
KODI_CONF_OPTS += --disable-avahi
endif
ifeq ($(BR2_PACKAGE_KODI_LIBCEC),y)
KODI_DEPENDENCIES += libcec
KODI_CONF_OPTS += --enable-libcec
else
KODI_CONF_OPTS += --disable-libcec
endif
ifeq ($(BR2_PACKAGE_KODI_LIRC),y)
KODI_CONF_OPTS += --enable-lirc
else
KODI_CONF_OPTS += --disable-lirc
endif
ifeq ($(BR2_PACKAGE_KODI_WAVPACK),y)
KODI_DEPENDENCIES += wavpack
endif
ifeq ($(BR2_PACKAGE_KODI_LIBTHEORA),y)
KODI_DEPENDENCIES += libtheora
endif
# kodi needs libva & libva-glx
ifeq ($(BR2_PACKAGE_KODI_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy)
KODI_DEPENDENCIES += mesa3d libva
KODI_CONF_OPTS += --enable-vaapi
else
KODI_CONF_OPTS += --disable-vaapi
endif
ifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y)
KODI_CONF_OPTS += --enable-optical-drive --enable-dvdcss
else
KODI_CONF_OPTS += --disable-optical-drive --disable-dvdcss
endif
# Add HOST_DIR to PATH for codegenerator.mk to find swig
define KODI_BOOTSTRAP
$(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/depends/native/JsonSchemaBuilder
$(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/depends/native/TexturePacker
cd $(@D) && PATH=$(BR_PATH) ./bootstrap
endef
KODI_PRE_CONFIGURE_HOOKS += KODI_BOOTSTRAP
define KODI_CLEAN_UNUSED_ADDONS
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/screensaver.rsxs.plasma
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.milkdrop
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.projectm
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.itunes
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS
define KODI_CLEAN_CONFLUENCE_SKIN
find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.png -delete
find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.jpg -delete
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_CONFLUENCE_SKIN
define KODI_INSTALL_BR_WRAPPER
$(INSTALL) -D -m 0755 package/kodi/br-kodi \
$(TARGET_DIR)/usr/bin/br-kodi
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_INSTALL_BR_WRAPPER
# When run from a startup script, Kodi has no $HOME where to store its
# configuration, so ends up storing it in /.kodi (yes, at the root of
# the rootfs). This is a problem for read-only filesystems. But we can't
# easily change that, so create /.kodi as a symlink where we want the
# config to eventually be. Add synlinks for the legacy XBMC name as well
define KODI_INSTALL_CONFIG_DIR
$(INSTALL) -d -m 0755 $(TARGET_DIR)/var/kodi
ln -sf /var/kodi $(TARGET_DIR)/.kodi
ln -sf /var/kodi $(TARGET_DIR)/var/xbmc
ln -sf /var/kodi $(TARGET_DIR)/.xbmc
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_INSTALL_CONFIG_DIR
define KODI_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/kodi/S50kodi \
$(TARGET_DIR)/etc/init.d/S50kodi
endef
define KODI_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/kodi/kodi.service \
$(TARGET_DIR)/usr/lib/systemd/system/kodi.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/kodi.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/kodi.service
endef
$(eval $(autotools-package))

View File

@@ -0,0 +1,12 @@
[Unit]
Description = Kodi Entertainment Center
After = network.target
[Service]
Type = simple
ExecStart = /usr/lib/kodi/kodi.bin --standalone -fs -n
Restart = on-failure
[Install]
WantedBy = multi-user.target