package/xbmc: rename to 'kodi', the new upstream project name

Background information: http://xbmc.org/introducing-kodi-14. In a
first step to bump version to 14.0-Helix, we move the xbmc package to
a new directory called kodi.

Appropriate Config.in.legacy variables are added.

[Thomas: rename patches to the new convention.]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Bernd Kuhls 2014-12-23 18:46:27 +01:00 committed by Thomas Petazzoni
parent bc5b451b5e
commit 3578459748
13 changed files with 450 additions and 330 deletions

View File

@ -102,6 +102,125 @@ endif
comment "Legacy options removed in 2015.02"
config BR2_PACKAGE_XBMC
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_ALSA_LIB
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_ALSA_LIB
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_AVAHI
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_AVAHI
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_DBUS
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_DBUS
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBBLURAY
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBBLURAY
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_GOOM
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_GOOM
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_RSXS
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_RSXS
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBCEC
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBCEC
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBMICROHTTPD
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBMICROHTTPD
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBNFS
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBNFS
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_RTMPDUMP
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_RTMPDUMP
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBSHAIRPLAY
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBSMBCLIENT
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBSMBCLIENT
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBTHEORA
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBTHEORA
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBUSB
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBUSB
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_LIBVA
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_LIBVA
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PACKAGE_XBMC_WAVPACK
bool "xbmc options have been renamed"
select BR2_LEGACY
select BR2_PACKAGE_KODI_WAVPACK
help
The XBMC media center project was renamed to Kodi entertainment center
config BR2_PREFER_STATIC_LIB
bool "static library option renamed"
select BR2_LEGACY
@ -114,6 +233,7 @@ config BR2_PREFER_STATIC_LIB
Take care of updating the type of libraries you want under the
"Build options" menu.
###############################################################################
comment "Legacy options removed in 2014.11"
config BR2_x86_generic

View File

@ -14,6 +14,7 @@ menu "Audio and video applications"
source "package/gstreamer/Config.in"
source "package/gstreamer1/Config.in"
source "package/jack2/Config.in"
source "package/kodi/Config.in"
source "package/lame/Config.in"
source "package/libvpx/Config.in"
source "package/madplay/Config.in"
@ -34,7 +35,6 @@ menu "Audio and video applications"
source "package/vlc/Config.in"
source "package/vorbis-tools/Config.in"
source "package/wavpack/Config.in"
source "package/xbmc/Config.in"
source "package/yavta/Config.in"
source "package/ympd/Config.in"
endmenu

View File

@ -1,35 +1,35 @@
config BR2_PACKAGE_XBMC_ARCH_SUPPORTS
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
bool
default y if BR2_arm || BR2_i386 || BR2_x86_64
comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar"
depends on BR2_PACKAGE_XBMC_ARCH_SUPPORTS
comment "kodi needs a toolchain w/ C++, IPv6, largefile, threads, wchar"
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
depends on BR2_USE_MMU
config BR2_PACKAGE_XBMC_EGL_GLES
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_XBMC_GL # prefer GL if available
depends on !BR2_PACKAGE_KODI_GL # prefer GL if available
config BR2_PACKAGE_XBMC_GL
config BR2_PACKAGE_KODI_GL
bool
default y
depends on BR2_PACKAGE_HAS_LIBGL
depends on !BR2_arm # xbmc needs egl/gles on arm
depends on !BR2_arm # kodi needs egl/gles on arm
comment "xbmc needs an OpenGL or an openGL ES and EGL backend"
comment "kodi needs an OpenGL or an openGL ES and EGL backend"
depends on BR2_i386 || BR2_x86_64
depends on !BR2_PACKAGE_XBMC_GL && !BR2_PACKAGE_XBMC_EGL_GLES
depends on !BR2_PACKAGE_KODI_GL && !BR2_PACKAGE_KODI_EGL_GLES
comment "xbmc requires an OpenGL ES and EGL backend"
comment "kodi requires an OpenGL ES and EGL backend"
depends on BR2_arm
depends on !BR2_PACKAGE_XBMC_EGL_GLES
depends on !BR2_PACKAGE_KODI_EGL_GLES
menuconfig BR2_PACKAGE_XBMC
bool "xbmc"
menuconfig BR2_PACKAGE_KODI
bool "kodi"
select BR2_NEEDS_HOST_JAVA
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_THREAD
@ -44,8 +44,8 @@ menuconfig BR2_PACKAGE_XBMC
select BR2_PACKAGE_LIBCDIO
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBFRIBIDI
select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XBMC_GL
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_LIBID3TAG
select BR2_PACKAGE_LIBMAD
@ -75,56 +75,56 @@ menuconfig BR2_PACKAGE_XBMC
select BR2_PACKAGE_PYTHON_UNICODEDATA
select BR2_PACKAGE_PYTHON_ZLIB
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_SDL if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_SDL if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TAGLIB
select BR2_PACKAGE_TIFF
select BR2_PACKAGE_TINYXML
select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_KODI_GL # needed by rsxs screensaver
select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_KODI_GL # needed by rsxs screensaver
select BR2_PACKAGE_YAJL
select BR2_PACKAGE_ZLIB
depends on BR2_INET_IPV6
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL
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_PACKAGE_XBMC_ARCH_SUPPORTS
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
help
XBMC is an award-winning free and open source (GPL) software
Kodi is an award-winning free and open source (GPL) software
media player and entertainment hub for digital media.
http://xbmc.org
http://kodi.tv
if BR2_PACKAGE_XBMC
if BR2_PACKAGE_KODI
config BR2_PACKAGE_XBMC_ALSA_LIB
config BR2_PACKAGE_KODI_ALSA_LIB
bool "alsa"
select BR2_PACKAGE_ALSA_LIB
help
Enable alsa support.
config BR2_PACKAGE_XBMC_AVAHI
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 XBMC to support Bonjour protocol.
Select this if you want Kodi to support Bonjour protocol.
config BR2_PACKAGE_XBMC_DBUS
config BR2_PACKAGE_KODI_DBUS
bool "dbus"
select BR2_PACKAGE_DBUS
help
Enable D-Bus support
config BR2_PACKAGE_XBMC_LIBBLURAY
config BR2_PACKAGE_KODI_LIBBLURAY
bool "blu-ray"
select BR2_PACKAGE_LIBBLURAY
depends on !BR2_STATIC_LIBS
@ -135,43 +135,43 @@ config BR2_PACKAGE_XBMC_LIBBLURAY
comment "libbluray support needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_XBMC_GOOM
config BR2_PACKAGE_KODI_GOOM
bool "goom screensaver"
depends on BR2_PACKAGE_XBMC_GL
depends on BR2_PACKAGE_KODI_GL
help
Enable goom screensaver
comment "goom needs an OpenGL backend"
depends on !BR2_PACKAGE_XBMC_GL
depends on !BR2_PACKAGE_KODI_GL
config BR2_PACKAGE_XBMC_RSXS
config BR2_PACKAGE_KODI_RSXS
bool "rsxs screensaver"
depends on BR2_PACKAGE_XBMC_GL
depends on BR2_PACKAGE_KODI_GL
help
Enable goom screensaver
comment "rsxs needs an OpenGL backend"
depends on !BR2_PACKAGE_XBMC_GL
depends on !BR2_PACKAGE_KODI_GL
config BR2_PACKAGE_XBMC_LIBCEC
config BR2_PACKAGE_KODI_LIBCEC
bool "hdmi cec"
depends on !BR2_STATIC_LIBS # libcec
depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LIBCEC
help
Enable CEC (Consumer Electronics Control) support.
Select this if you want XBMC to support HDMI CEC.
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
config BR2_PACKAGE_XBMC_LIBMICROHTTPD
config BR2_PACKAGE_KODI_LIBMICROHTTPD
bool "web server"
select BR2_PACKAGE_LIBMICROHTTPD
help
Enable webserver feature
config BR2_PACKAGE_XBMC_LIBNFS
config BR2_PACKAGE_KODI_LIBNFS
bool "nfs"
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_PACKAGE_LIBNFS
@ -181,42 +181,42 @@ config BR2_PACKAGE_XBMC_LIBNFS
comment "nfs support needs a toolchain w/ RPC support"
depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
config BR2_PACKAGE_XBMC_RTMPDUMP
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_XBMC_LIBSHAIRPLAY
config BR2_PACKAGE_KODI_LIBSHAIRPLAY
bool "shairport"
select BR2_PACKAGE_LIBSHAIRPLAY
help
Enable Shairport support.
Select this if you want to stream content from an Apple device.
config BR2_PACKAGE_XBMC_LIBSMBCLIENT
config BR2_PACKAGE_KODI_LIBSMBCLIENT
bool "samba"
select BR2_PACKAGE_SAMBA
select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
help
Enable Samba support
config BR2_PACKAGE_XBMC_LIBTHEORA
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_XBMC_LIBUSB
config BR2_PACKAGE_KODI_LIBUSB
bool "usb"
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
Enable libusb support.
config BR2_PACKAGE_XBMC_LIBVA
config BR2_PACKAGE_KODI_LIBVA
bool "va"
select BR2_PACKAGE_LIBVA
depends on !BR2_STATIC_LIBS
@ -226,16 +226,16 @@ config BR2_PACKAGE_XBMC_LIBVA
comment "libva support needs toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
config BR2_PACKAGE_XBMC_WAVPACK
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.
comment "XBMC addons"
comment "Kodi addons"
source "package/xbmc-addon-xvdr/Config.in"
source "package/xbmc-pvr-addons/Config.in"
endif # BR2_PACKAGE_XBMC
endif # BR2_PACKAGE_KODI

View File

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

View File

@ -1,15 +1,15 @@
#!/bin/sh
# We're called with the real XBMC executable as
# first argument, followed by any XBMC extra args
XBMC="${1}"
# 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 XBMC process
# the Kodi process
trap_kill() {
LOOP=0
killall "${XBMC##*/}"
killall "${KODI##*/}"
}
trap trap_kill INT QUIT TERM
@ -17,11 +17,11 @@ 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 XBMC binary, and wait
# 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 XBMC job
"${XBMC}" "${@}" &
# for POSIX). So we explicitly wait for the Kodi job
"${KODI}" "${@}" &
wait %1
ret=$?
case "${ret}" in

260
package/kodi/kodi.mk Normal file
View File

@ -0,0 +1,260 @@
################################################################################
#
# kodi
#
################################################################################
KODI_VERSION = 13.2-Gotham
KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
KODI_LICENSE = GPLv2
KODI_LICENSE_FILES = LICENSE.GPL
# Kodi needs host-sdl_image (and therefore host-sdl) for a host tools it builds
# called TexturePacker. It is responsible to take all the images used in the
# GUI and pack them in a blob.
# http://wiki.xbmc.org/index.php?title=TexturePacker
KODI_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
KODI_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \
libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
# kodi@i386 depends on nasm
KODI_DEPENDENCIES += $(if $(BR2_i386),host-nasm)
# ffmpeg depends on yasm on MMX archs
# kodi configure passes $(BR2_ARCH) to ffmpeg configure which adds
# yasm as dependency for x86_64, even if BR2_x86_generic=y
ifneq ($(BR2_X86_CPU_HAS_MMX)$(BR2_x86_64),)
KODI_DEPENDENCIES += host-yasm
endif
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-arch=$(BR2_ARCH) \
--disable-crystalhd \
--disable-dvdcss \
--disable-hal \
--disable-joystick \
--disable-mysql \
--disable-openmax \
--disable-optical-drive \
--disable-projectm \
--disable-pulse \
--disable-ssh \
--disable-vdpau \
--disable-vtbdecoder \
--enable-optimizations
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_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
ifeq ($(BR2_PACKAGE_LAME),y)
KODI_DEPENDENCIES += lame
KODI_CONF_OPTS += --enable-libmp3lame
else
KODI_CONF_OPTS += --disable-libmp3lame
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
ifeq ($(BR2_PACKAGE_KODI_GL),y)
KODI_DEPENDENCIES += libglew libglu libgl sdl_image xlib_libX11 xlib_libXext \
xlib_libXmu xlib_libXrandr xlib_libXt
KODI_CONF_OPTS += --enable-gl --enable-sdl --enable-x11 --enable-xrandr --disable-gles
ifeq ($(BR2_PACKAGE_KODI_RSXS),y)
# fix rsxs compile
# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4
KODI_CONF_ENV += \
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-sdl --disable-x11 --disable-xrandr
ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
KODI_DEPENDENCIES += libegl libgles
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 += samba
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_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_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
# Add HOST_DIR to PATH for codegenerator.mk to find swig
define KODI_BOOTSTRAP
cd $(@D) && PATH=$(BR_PATH) ./bootstrap
endef
KODI_PRE_CONFIGURE_HOOKS += KODI_BOOTSTRAP
define KODI_CLEAN_UNUSED_ADDONS
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/screensaver.rsxs.plasma
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.milkdrop
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.projectm
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.itunes
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS
define KODI_CLEAN_CONFLUENCE_SKIN
find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.png -delete
find $(TARGET_DIR)/usr/share/xbmc/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 /.xbmc (yes, at the root of
# the rootfs). This is a problem for read-only filesystems. But we can't
# easily change that, so create /.xbmc as a symlink where we want the
# config to eventually be.
define KODI_INSTALL_CONFIG_DIR
$(INSTALL) -d -m 0755 $(TARGET_DIR)/var/kodi
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)/etc/systemd/system/kodi.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../kodi.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/kodi.service
endef
$(eval $(autotools-package))

View File

@ -1,5 +1,5 @@
[Unit]
Description = XBMC media center
Description = Kodi Entertainment Center
After = network.target
[Service]

View File

@ -21,6 +21,6 @@ XBMC_ADDON_XVDR_AUTORECONF = YES
# This really is a runtime dependency, but we need XBMC to be installed
# first, since we'll install files in XBMC's directories _after_ XBMC has
# installed his own files
XBMC_ADDON_XVDR_DEPENDENCIES = xbmc
XBMC_ADDON_XVDR_DEPENDENCIES = kodi
$(eval $(autotools-package))

View File

@ -18,7 +18,7 @@ XBMC_PVR_ADDONS_DEPENDENCIES = boost zlib
# This really is a runtime dependency, but we need XBMC to be installed
# first, since we'll install files in XBMC's directories _after_ XBMC has
# installed its own files
XBMC_PVR_ADDONS_DEPENDENCIES += xbmc
XBMC_PVR_ADDONS_DEPENDENCIES += kodi
XBMC_PVR_ADDONS_CONF_OPTS = \
--enable-release \

View File

@ -1,260 +0,0 @@
################################################################################
#
# xbmc
#
################################################################################
XBMC_VERSION = 13.2-Gotham
XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))
XBMC_LICENSE = GPLv2
XBMC_LICENSE_FILES = LICENSE.GPL
# XBMC needs host-sdl_image (and therefore host-sdl) for a host tools it builds
# called TexturePacker. It is responsible to take all the images used in the
# GUI and pack them in a blob.
# http://wiki.xbmc.org/index.php?title=TexturePacker
XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \
libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
# xbmc@i386 depends on nasm
XBMC_DEPENDENCIES += $(if $(BR2_i386),host-nasm)
# ffmpeg depends on yasm on MMX archs
# xbmc configure passes $(BR2_ARCH) to ffmpeg configure which adds
# yasm as dependency for x86_64, even if BR2_x86_generic=y
ifneq ($(BR2_X86_CPU_HAS_MMX)$(BR2_x86_64),)
XBMC_DEPENDENCIES += host-yasm
endif
XBMC_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"
XBMC_CONF_OPTS += \
--with-arch=$(BR2_ARCH) \
--disable-crystalhd \
--disable-dvdcss \
--disable-hal \
--disable-joystick \
--disable-mysql \
--disable-openmax \
--disable-optical-drive \
--disable-projectm \
--disable-pulse \
--disable-ssh \
--disable-vdpau \
--disable-vtbdecoder \
--enable-optimizations
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
XBMC_DEPENDENCIES += rpi-userland
XBMC_CONF_OPTS += --with-platform=raspberry-pi --enable-player=omxplayer
XBMC_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_LIBCAP),y)
XBMC_CONF_OPTS += --enable-libcap
XBMC_DEPENDENCIES += libcap
else
XBMC_CONF_OPTS += --disable-libcap
endif
ifeq ($(BR2_PACKAGE_XBMC_DBUS),y)
XBMC_DEPENDENCIES += dbus
XBMC_CONF_OPTS += --enable-dbus
else
XBMC_CONF_OPTS += --disable-dbus
endif
ifeq ($(BR2_PACKAGE_XBMC_ALSA_LIB),y)
XBMC_DEPENDENCIES += alsa-lib
XBMC_CONF_OPTS += --enable-alsa
else
XBMC_CONF_OPTS += --disable-alsa
endif
ifeq ($(BR2_PACKAGE_LAME),y)
XBMC_DEPENDENCIES += lame
XBMC_CONF_OPTS += --enable-libmp3lame
else
XBMC_CONF_OPTS += --disable-libmp3lame
endif
# quote from xbmc/configure.in: "GLES overwrites GL if both set to yes."
# we choose the opposite because opengl offers more features, like libva support
ifeq ($(BR2_PACKAGE_XBMC_GL),y)
XBMC_DEPENDENCIES += libglew libglu libgl sdl_image xlib_libX11 xlib_libXext \
xlib_libXmu xlib_libXrandr xlib_libXt
XBMC_CONF_OPTS += --enable-gl --enable-sdl --enable-x11 --enable-xrandr --disable-gles
ifeq ($(BR2_PACKAGE_XBMC_RSXS),y)
# fix rsxs compile
# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4
XBMC_CONF_ENV += \
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`"
XBMC_CONF_OPTS += --enable-rsxs
else
XBMC_CONF_OPTS += --disable-rsxs
endif
else
XBMC_CONF_OPTS += --disable-gl --disable-rsxs --disable-sdl --disable-x11 --disable-xrandr
ifeq ($(BR2_PACKAGE_XBMC_EGL_GLES),y)
XBMC_DEPENDENCIES += libegl libgles
XBMC_CONF_OPTS += --enable-gles
else
XBMC_CONF_OPTS += --disable-gles
endif
endif
ifeq ($(BR2_PACKAGE_XBMC_GOOM),y)
XBMC_CONF_OPTS += --enable-goom
else
XBMC_CONF_OPTS += --disable-goom
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
XBMC_DEPENDENCIES += libusb-compat
XBMC_CONF_OPTS += --enable-libusb
else
XBMC_CONF_OPTS += --disable-libusb
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBMICROHTTPD),y)
XBMC_DEPENDENCIES += libmicrohttpd
XBMC_CONF_OPTS += --enable-webserver
else
XBMC_CONF_OPTS += --disable-webserver
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBSMBCLIENT),y)
XBMC_DEPENDENCIES += samba
XBMC_CONF_OPTS += --enable-samba
else
XBMC_CONF_OPTS += --disable-samba
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBNFS),y)
XBMC_DEPENDENCIES += libnfs
XBMC_CONF_OPTS += --enable-nfs
else
XBMC_CONF_OPTS += --disable-nfs
endif
ifeq ($(BR2_PACKAGE_XBMC_RTMPDUMP),y)
XBMC_DEPENDENCIES += rtmpdump
XBMC_CONF_OPTS += --enable-rtmp
else
XBMC_CONF_OPTS += --disable-rtmp
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBBLURAY),y)
XBMC_DEPENDENCIES += libbluray
XBMC_CONF_OPTS += --enable-libbluray
else
XBMC_CONF_OPTS += --disable-libbluray
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBSHAIRPLAY),y)
XBMC_DEPENDENCIES += libshairplay
XBMC_CONF_OPTS += --enable-airplay
else
XBMC_CONF_OPTS += --disable-airplay
endif
ifeq ($(BR2_PACKAGE_XBMC_AVAHI),y)
XBMC_DEPENDENCIES += avahi
XBMC_CONF_OPTS += --enable-avahi
else
XBMC_CONF_OPTS += --disable-avahi
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBCEC),y)
XBMC_DEPENDENCIES += libcec
XBMC_CONF_OPTS += --enable-libcec
else
XBMC_CONF_OPTS += --disable-libcec
endif
ifeq ($(BR2_PACKAGE_XBMC_WAVPACK),y)
XBMC_DEPENDENCIES += wavpack
endif
ifeq ($(BR2_PACKAGE_XBMC_LIBTHEORA),y)
XBMC_DEPENDENCIES += libtheora
endif
# xbmc needs libva & libva-glx
ifeq ($(BR2_PACKAGE_XBMC_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy)
XBMC_DEPENDENCIES += mesa3d libva
XBMC_CONF_OPTS += --enable-vaapi
else
XBMC_CONF_OPTS += --disable-vaapi
endif
# Add HOST_DIR to PATH for codegenerator.mk to find swig
define XBMC_BOOTSTRAP
cd $(@D) && PATH=$(BR_PATH) ./bootstrap
endef
XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP
define XBMC_CLEAN_UNUSED_ADDONS
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/screensaver.rsxs.plasma
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.milkdrop
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.projectm
rm -Rf $(TARGET_DIR)/usr/share/xbmc/addons/visualization.itunes
endef
XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_UNUSED_ADDONS
define XBMC_CLEAN_CONFLUENCE_SKIN
find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.png -delete
find $(TARGET_DIR)/usr/share/xbmc/addons/skin.confluence/media -name *.jpg -delete
endef
XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_CONFLUENCE_SKIN
define XBMC_INSTALL_BR_WRAPPER
$(INSTALL) -D -m 0755 package/xbmc/br-xbmc \
$(TARGET_DIR)/usr/bin/br-xbmc
endef
XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_INSTALL_BR_WRAPPER
# When run from a startup script, XBMC has no $HOME where to store its
# configuration, so ends up storing it in /.xbmc (yes, at the root of
# the rootfs). This is a problem for read-only filesystems. But we can't
# easily change that, so create /.xbmc as a symlink where we want the
# config to eventually be.
define XBMC_INSTALL_CONFIG_DIR
$(INSTALL) -d -m 0755 $(TARGET_DIR)/var/xbmc
ln -sf /var/xbmc $(TARGET_DIR)/.xbmc
endef
XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_INSTALL_CONFIG_DIR
define XBMC_INSTALL_INIT_SYSV
$(INSTALL) -D -m 755 package/xbmc/S50xbmc \
$(TARGET_DIR)/etc/init.d/S50xbmc
endef
define XBMC_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/xbmc/xbmc.service \
$(TARGET_DIR)/etc/systemd/system/xbmc.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../xbmc.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/xbmc.service
endef
$(eval $(autotools-package))