All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v6 0/4] Introducing XBMC
@ 2014-02-16 13:27 Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 1/4] sdl: add host version Maxime Hadjinlian
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 13:27 UTC (permalink / raw)
  To: buildroot

A new series, with some changes in the XBMC patch itself.
Thanks to Martin Bark and Yann E. Morin for spotting my errors.

Maxime Hadjinlian (4):
  sdl: add host version
  sdl_image: add host version
  dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA
  xbmc: new package

 package/Config.in                                  |   1 +
 package/sdl/sdl.mk                                 |   2 +
 package/sdl_image/sdl_image.mk                     |  11 ++
 package/xbmc/Config.in                             | 166 ++++++++++++++++++++
 package/xbmc/S50xbmc                               |  41 +++++
 package/xbmc/xbmc-0001-Fixup-include-path.patch    |  79 ++++++++++
 .../xbmc-0002-RaspberryPi-Default-Settings.patch   | 167 +++++++++++++++++++++
 package/xbmc/xbmc.mk                               | 149 ++++++++++++++++++
 package/xbmc/xbmc.service                          |  12 ++
 support/dependencies/dependencies.sh               |   8 +
 10 files changed, 636 insertions(+)
 create mode 100644 package/xbmc/Config.in
 create mode 100755 package/xbmc/S50xbmc
 create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch
 create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
 create mode 100644 package/xbmc/xbmc.mk
 create mode 100644 package/xbmc/xbmc.service

--
1.8.5.3

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 1/4] sdl: add host version
  2014-02-16 13:27 [Buildroot] [PATCH v6 0/4] Introducing XBMC Maxime Hadjinlian
@ 2014-02-16 13:27 ` Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 2/4] sdl_image: " Maxime Hadjinlian
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 13:27 UTC (permalink / raw)
  To: buildroot

Host version is needed to build xbmc

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Changes v5 -> v6:
  - None
Changes v4 -> v5:
  - None
Changes v3 -> v4:
  - None
Changes v2 -> v3:
  - None
Changes v1 -> v2:
  - None
---
 package/sdl/sdl.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk
index ba5fbca..0972acb 100644
--- a/package/sdl/sdl.mk
+++ b/package/sdl/sdl.mk
@@ -18,6 +18,7 @@ define SDL_RUN_AUTOGEN
 endef
 
 SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN
+HOST_SDL_POST_PATCH_HOOKS += SDL_RUN_AUTOGEN
 SDL_DEPENDENCIES += host-automake host-autoconf host-libtool
 
 
@@ -80,3 +81,4 @@ endef
 SDL_POST_INSTALL_STAGING_HOOKS += SDL_FIXUP_SDL_CONFIG
 
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 2/4] sdl_image: add host version
  2014-02-16 13:27 [Buildroot] [PATCH v6 0/4] Introducing XBMC Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 1/4] sdl: add host version Maxime Hadjinlian
@ 2014-02-16 13:27 ` Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 3/4] dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 4/4] xbmc: new package Maxime Hadjinlian
  3 siblings, 0 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 13:27 UTC (permalink / raw)
  To: buildroot

Host version is needed to build xbmc

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
Changes v5 -> v6:
  - None
Changes v4 -> v5:
  - None
Changes v3 -> v4:
  - None
Changes v2 -> v3:
  - None
Changes v1 -> v2:
  - None
---
 package/sdl_image/sdl_image.mk | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/package/sdl_image/sdl_image.mk b/package/sdl_image/sdl_image.mk
index ba9751d..05b9a1f 100644
--- a/package/sdl_image/sdl_image.mk
+++ b/package/sdl_image/sdl_image.mk
@@ -38,4 +38,15 @@ SDL_IMAGE_DEPENDENCIES = sdl \
 	$(if $(BR2_PACKAGE_SDL_IMAGE_TIFF),tiff) \
 	$(if $(BR2_PACKAGE_SDL_IMAGE_WEBP),webp)
 
+HOST_SDL_IMAGE_CONF_OPT = --with-sdl-prefix=$(HOST_DIR)/usr \
+                --with-sdl-exec-prefix=$(HOST_DIR)/usr \
+                --disable-sdltest \
+                --disable-static \
+                --disable-jpg-shared \
+                --disable-png-shared \
+                --disable-tif-shared \
+
+HOST_SDL_IMAGE_DEPENDENCIES = host-libjpeg host-libpng host-sdl
+
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 3/4] dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA
  2014-02-16 13:27 [Buildroot] [PATCH v6 0/4] Introducing XBMC Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 1/4] sdl: add host version Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 2/4] sdl_image: " Maxime Hadjinlian
@ 2014-02-16 13:27 ` Maxime Hadjinlian
  2014-02-16 13:45   ` Maxime Hadjinlian
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 4/4] xbmc: new package Maxime Hadjinlian
  3 siblings, 1 reply; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 13:27 UTC (permalink / raw)
  To: buildroot

XBMC needs Java on the host in order to build, because it  uses a
code-generator which is build in two phases:
In the first phase SWIG is used to parse C++ header files that define the API.
SWIG outputs an XML file that contains a complete description of the structure
of the API.
In the second phase, the XML file is ingested by a Groovy (Java) program that
then creates C++ code that forms the bridge to the scripting language (Python).

The second phase is why we need java on the host.

You can learn more at the XBMC's wiki:
http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_works

In order to check that, this patch introduce this mechanism in
dependencies.sh

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
Changes v5 -> v6:
  - Remove useless loop (Thomas Petazzoni)
  - Thanks to Martin Bark idea, change this patch to have a non package
    specific variable.
Changes v1 -> v5:
  - Patch non existant before
---
 support/dependencies/dependencies.sh | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
index 0e7e1fa..dd90bee 100755
--- a/support/dependencies/dependencies.sh
+++ b/support/dependencies/dependencies.sh
@@ -191,6 +191,14 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then
 	done
 fi
 
+if grep -q ^BR2_HOST_NEEDS_JAVA=y $BUILDROOT_CONFIG ; then
+	if ! which java > /dev/null ; then
+		echo >&2
+		echo "You must install '$prog' on your build machine" >&2
+		exit 1
+	fi
+fi
+
 if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then
 	if test ! -f /lib/ld-linux.so.2 ; then
 		echo
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 13:27 [Buildroot] [PATCH v6 0/4] Introducing XBMC Maxime Hadjinlian
                   ` (2 preceding siblings ...)
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 3/4] dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA Maxime Hadjinlian
@ 2014-02-16 13:27 ` Maxime Hadjinlian
  2014-02-16 19:55   ` Thomas De Schampheleire
  2014-02-16 20:45   ` Jerzy Grzegorek
  3 siblings, 2 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 13:27 UTC (permalink / raw)
  To: buildroot

XBMC is an award-winning free and open source (GPL) software media player and
entertainment hub for digital media.
This package was originally found at : https://github.com/huceke/buildroot-rbp
By gimli <ebsi4711@gmail.com>

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: gimli <ebsi4711@gmail.com>
---
Changes v5 -> v6:
  - Fix missing depends on OpenGL (Yann E. Morin)
  - Remove LIBCEC_RBP Config option (Yann E. Morin)
  - Fix dependency that were, in the end, not optionnal (Martin Bark)
  - Fix OpenGL check (Martin Bark)
  - Uses BR2_HOST_NEEDS_JAVA (Martin Bark)
  - None
Changes v4 -> v5:
  - Remove MAKE1, seems to work fine with parallel build.
Changes v3 -> v4:
  - Rework init script
  - Add systemd startup service
Changes v2 -> v3:
  - Fix indent
  - Change librtmp to rtmpdump
Changes v1 -> v2:
  - Fix header (Yann E. Morin)
  - Fix comment on toolchain option (Peter Korsgaard)
---
 package/Config.in                                  |   1 +
 package/xbmc/Config.in                             | 166 ++++++++++++++++++++
 package/xbmc/S50xbmc                               |  41 +++++
 package/xbmc/xbmc-0001-Fixup-include-path.patch    |  79 ++++++++++
 .../xbmc-0002-RaspberryPi-Default-Settings.patch   | 167 +++++++++++++++++++++
 package/xbmc/xbmc.mk                               | 149 ++++++++++++++++++
 package/xbmc/xbmc.service                          |  12 ++
 7 files changed, 615 insertions(+)
 create mode 100644 package/xbmc/Config.in
 create mode 100755 package/xbmc/S50xbmc
 create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch
 create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
 create mode 100644 package/xbmc/xbmc.mk
 create mode 100644 package/xbmc/xbmc.service

diff --git a/package/Config.in b/package/Config.in
index 6c3e769..5f32a28 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -26,6 +26,7 @@ source "package/tstools/Config.in"
 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"
 endmenu
 
diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
new file mode 100644
index 0000000..3395e7e
--- /dev/null
+++ b/package/xbmc/Config.in
@@ -0,0 +1,166 @@
+comment "xbmc requires an OpenGL-capable backend"
+	depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)
+
+# External toolchain are required because of a missing bitdefs.h
+comment "xbmc needs an (e)glibc external toolchain w/ C++ and WCHAR"
+	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_BUILDROOT
+
+menuconfig BR2_PACKAGE_XBMC
+	bool "xbmc"
+	select BR2_HOST_NEEDS_JAVA
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_BOOST_THREAD
+	select BR2_PACKAGE_BZIP2
+	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_FLAC
+	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_LIBGCRYPT
+	select BR2_PACKAGE_LIBID3TAG
+	select BR2_PACKAGE_LIBMAD
+	select BR2_PACKAGE_LIBMODPLUG
+	select BR2_PACKAGE_LIBMPEG2
+	select BR2_PACKAGE_LIBOGG
+	select BR2_PACKAGE_LIBPLIST
+	select BR2_PACKAGE_LIBPNG
+	select BR2_PACKAGE_LIBSAMPLERATE
+	select BR2_PACKAGE_LIBUNGIF
+	select BR2_PACKAGE_LIBVORBIS
+	select BR2_PACKAGE_LIBXML2
+	select BR2_PACKAGE_LZO
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_PCRE
+	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_TIFF
+	select BR2_PACKAGE_TINYXML
+	select BR2_PACKAGE_YAJL
+	select BR2_PACKAGE_ZLIB
+	depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && !BR2_TOOLCHAIN_USES_UCLIBC
+	depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES
+	depends on !BR2_TOOLCHAIN_BUILDROOT
+	help
+	  XBMC is an award-winning free and open source (GPL) software
+	  media player and entertainment hub for digital media.
+
+	  http://xbmc.org
+
+if BR2_PACKAGE_XBMC
+
+config BR2_PACKAGE_XBMC_AVAHI
+	bool "avahi"
+	select BR2_PACKAGE_AVAHI
+	select BR2_PACKAGE_AVAHI_DAEMON
+	help
+	  Enable Avahi support.
+	  Select this if you want XBMC to support Bonjour protocol.
+
+config BR2_PACKAGE_XBMC_DBUS
+	bool "dbus"
+	select BR2_PACKAGE_DBUS
+	help
+	  Enable DBUS support
+
+config BR2_PACKAGE_XBMC_LIBBLURAY
+	bool "libbluray"
+	select BR2_PACKAGE_LIBBLURAY
+	help
+	  Enable bluray input support.
+	  Select this if you want to play back bluray content.
+
+config BR2_PACKAGE_XBMC_LIBCEC
+	bool "libcec"
+	select BR2_PACKAGE_LIBCEC
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	help
+	  Enable CEC support.
+	  Select this if you want XBMC to support HDMI CEC.
+
+comment "libcec requires a toolchain with C++ and WCHAR support"
+	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)
+
+config BR2_PACKAGE_XBMC_LIBMICROHTTPD
+	bool "libmicrohttpd"
+	select BR2_PACKAGE_LIBMICROHTTPD
+	help
+	  Enable webserver feature
+
+config BR2_PACKAGE_XBMC_LIBNFS
+	bool "libnfs"
+	select BR2_PACKAGE_LIBNFS
+	depends on BR2_LARGEFILE
+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
+	help
+	  Enable NFS server support.
+
+comment "libnfs support requires a toolchain with LARGEFILE and RPC support"
+	depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_NATIVE_RPC)
+
+config BR2_PACKAGE_XBMC_RTMPDUMP
+	bool "librtmp"
+	select BR2_PACKAGE_RTMPDUMP
+	help
+	  Enable rtmp input support.
+	  Select this if you want to play back rtmp stream.
+
+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
+	bool "libshairport"
+	select BR2_PACKAGE_LIBSHAIRPLAY
+	depends on BR2_INET_IPV6
+	help
+	  Enable shairport support.
+	  Select this if you want to stream content from Apple device.
+
+comment "libshairport support requires a toolchain with IPV6 support"
+	depends on !(BR2_INET_IPV6)
+
+config BR2_PACKAGE_XBMC_LIBSMBCLIENT
+	bool "libsmbclient"
+	select BR2_PACKAGE_SAMBA
+	select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
+	help
+	  Enable Samba support
+
+config BR2_PACKAGE_XBMC_LIBTHEORA
+	bool "libtheora"
+	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
+	bool "libusb"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_LIBUSB_COMPAT
+	help
+	  Enable libusb support.
+
+config BR2_PACKAGE_XBMC_WAVPACK
+	bool "wavpack"
+	select BR2_PACKAGE_WAVPACK
+	help
+	  Enable wavpack input support.
+	  Select this if you want to play back WV files.
+
+endif
diff --git a/package/xbmc/S50xbmc b/package/xbmc/S50xbmc
new file mode 100755
index 0000000..70cd320
--- /dev/null
+++ b/package/xbmc/S50xbmc
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# Starts XBMC.
+#
+
+BIN_NAME=xbmc.bin
+XBMC=/usr/lib/xbmc/$BIN_NAME
+XBMC_ARGS="--standalone -fs -n"
+PIDFILE=/var/run/xbmc.pid
+
+start() {
+    echo -n "Starting XBMC: "
+    start-stop-daemon -S -q -p $PIDFILE --exec $XBMC -- $XBMC_ARGS
+    [ $? == 0 ] && echo "OK" || echo "FAIL"
+}
+stop() {
+    echo -n "Stopping XBMC: "
+    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
+
+exit $?
diff --git a/package/xbmc/xbmc-0001-Fixup-include-path.patch b/package/xbmc/xbmc-0001-Fixup-include-path.patch
new file mode 100644
index 0000000..e4d6632
--- /dev/null
+++ b/package/xbmc/xbmc-0001-Fixup-include-path.patch
@@ -0,0 +1,79 @@
+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
+---
+ 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/enca/configure b/lib/enca/configure
+index c839a51..7af5a09 100644
+--- a/lib/enca/configure
++++ b/lib/enca/configure
+@@ -12011,9 +12011,6 @@ fi
+ if test "$prefix" = "NONE"; then
+   LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
+   CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include"
+-else
+-  LDFLAGS="$LDFLAGS -L$prefix/lib"
+-  CPPFLAGS="$CPPFLAGS -I$prefix/include"
+ fi
+ 
+ 
+diff --git a/lib/enca/configure.ac b/lib/enca/configure.ac
+index 41434df..47d5367 100644
+--- a/lib/enca/configure.ac
++++ b/lib/enca/configure.ac
+@@ -100,9 +100,6 @@ dnl Dirty path hack.  Helps some people with badly set up search paths.
+ if test "$prefix" = "NONE"; then
+   LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
+   CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include"
+-else
+-  LDFLAGS="$LDFLAGS -L$prefix/lib"
+-  CPPFLAGS="$CPPFLAGS -I$prefix/include"
+ fi
+ 
+ dnl Checks for libraries.
+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
+diff --git a/lib/timidity/configure.in b/lib/timidity/configure.in
+index 9f2835b..733470a 100644
+--- a/lib/timidity/configure.in
++++ b/lib/timidity/configure.in
+@@ -100,9 +100,9 @@ done
+ 
+ # add $prefix if specified.
+ if test "x$prefix" != xNONE -a "x$prefix" != "x$ac_default_prefix" -a "x$prefix" != "x/usr"; then
+-  LDFLAGS="-L$prefix/lib $LDFLAGS"
+-  SHLDFLAGS="-L$prefix/lib $SHLDFLAGS"
+-  CPPFLAGS="-I$prefix/include $CPPFLAGS"
++  LDFLAGS="$LDFLAGS"
++  SHLDFLAGS="$SHLDFLAGS"
++  CPPFLAGS="$CPPFLAGS"
+ fi
+ 
+ dnl add --with-includes, --with-libraries
+-- 
+1.8.5.2
+
diff --git a/package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch b/package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
new file mode 100644
index 0000000..076da5a
--- /dev/null
+++ b/package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
@@ -0,0 +1,167 @@
+From 2541772a3ed71402a620466feb6a337b40f08880 Mon Sep 17 00:00:00 2001
+From: Maxime Hadjinlian <maximeh.hadjinlian@gmail.com>
+Date: Sat, 15 Dec 2012 23:41:06 +0100
+Subject: [PATCH] RaspberryPi Default Settings
+
+Add some default settings if the target platform is the RaspberryPi.
+Avoid the fact that the user _MUST_ have an advandcedsettings.xml to be able
+to use XBMC properly.
+
+---
+ xbmc/settings/AdvancedSettings.cpp          |   31 +++++++++++++++++++++++++++
+ xbmc/settings/GUISettings.cpp               |    8 +++----
+ xbmc/settings/GUIWindowSettingsCategory.cpp |    4 ++--
+ 3 files changed, 37 insertions(+), 6 deletions(-)
+
+diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
+index 2cbbf98..42ccabd 100644
+--- a/xbmc/settings/AdvancedSettings.cpp
++++ b/xbmc/settings/AdvancedSettings.cpp
+@@ -72,7 +72,11 @@ void CAdvancedSettings::Initialize()
+   m_karaokeAlwaysEmptyOnCdgs = 1;
+   m_karaokeUseSongSpecificBackground = 0;
+
++  #if defined(TARGET_RASPBERRY_PI)
++  m_audioDefaultPlayer = "omxplayer";
++  #else
+   m_audioDefaultPlayer = "paplayer";
++  #endif
+   m_audioPlayCountMinimumPercent = 90.0f;
+   m_audioHost = "default";
+
+@@ -93,8 +97,14 @@ void CAdvancedSettings::Initialize()
+   m_videoBlackBarColour = 0;
+   m_videoPPFFmpegDeint = "linblenddeint";
+   m_videoPPFFmpegPostProc = "ha:128:7,va,dr";
++
++  #if defined(TARGET_RASPBERRY_PI)
++  m_videoDefaultPlayer = "omxplayer";
++  m_videoDefaultDVDPlayer = "omxplayer";
++  #else
+   m_videoDefaultPlayer = "dvdplayer";
+   m_videoDefaultDVDPlayer = "dvdplayer";
++  #endif
+   m_videoIgnoreSecondsAtStart = 3*60;
+   m_videoIgnorePercentAtEnd   = 8.0f;
+   m_videoPlayCountMinimumPercent = 90.0f;
+@@ -287,7 +297,11 @@ void CAdvancedSettings::Initialize()
+   m_alwaysOnTop = false;
+ #endif
+
++  #if defined(TARGET_RASPBERRY_PI)
++  m_bgInfoLoaderMaxThreads = 2;
++  #else
+   m_bgInfoLoaderMaxThreads = 5;
++  #endif
+
+   m_iPVRTimeCorrection             = 0;
+   m_iPVRInfoToggleInterval         = 3000;
+@@ -299,7 +313,12 @@ void CAdvancedSettings::Initialize()
+
+   m_measureRefreshrate = false;
+
++  #if defined(TARGET_RASPBERRY_PI)
++  m_cacheMemBufferSize = 1024 * 1024 * 10;
++  #else
+   m_cacheMemBufferSize = 1024 * 1024 * 20;
++  #endif
++
+   m_addonPackageFolderSize = 200;
+
+   m_jsonOutputCompact = true;
+@@ -509,11 +528,17 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
+         RefreshOverride override = {0};
+
+         float fps;
++        #if defined(TARGET_RASPBERRY_PI)
++          fps = 23.976;
++          override.fpsmin = fps - 0.01f;
++          override.fpsmax = fps + 0.01f;
++        #else
+         if (XMLUtils::GetFloat(pRefreshOverride, "fps", fps))
+         {
+           override.fpsmin = fps - 0.01f;
+           override.fpsmax = fps + 0.01f;
+         }
++        #endif
+
+         float fpsmin, fpsmax;
+         if (XMLUtils::GetFloat(pRefreshOverride, "fpsmin", fpsmin) &&
+@@ -524,11 +549,17 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
+         }
+
+         float refresh;
++        #if defined(TARGET_RASPBERRY_PI)
++          refresh = 24.0;
++          override.refreshmin = refresh - 0.01f;
++          override.refreshmax = refresh + 0.01f;
++        #else
+         if (XMLUtils::GetFloat(pRefreshOverride, "refresh", refresh))
+         {
+           override.refreshmin = refresh - 0.01f;
+           override.refreshmax = refresh + 0.01f;
+         }
++        #endif
+
+         float refreshmin, refreshmax;
+         if (XMLUtils::GetFloat(pRefreshOverride, "refreshmin", refreshmin) &&
+diff --git a/xbmc/settings/GUISettings.cpp b/xbmc/settings/GUISettings.cpp
+index c1820a7..c00fb18 100644
+--- a/xbmc/settings/GUISettings.cpp
++++ b/xbmc/settings/GUISettings.cpp
+@@ -537,11 +537,11 @@ void CGUISettings::Initialize()
+   AddInt(NULL, "input.appleremotesequencetime", 13603, 500, 50, 50, 1000, SPIN_CONTROL_INT_PLUS, MASK_MS, TEXT_OFF);
+   AddSeparator(in, "input.sep1");
+ #endif
+-  AddBool(in, "input.remoteaskeyboard", 21449, false);
++  AddBool(in, "input.remoteaskeyboard", 21449, true);
+ #if defined(TARGET_DARWIN_IOS)
+   AddBool(NULL, "input.enablemouse", 21369, true);
+ #else
+-  AddBool(in, "input.enablemouse", 21369, true);
++  AddBool(in, "input.enablemouse", 21369, false);
+ #endif
+ #if defined(HAS_SDL_JOYSTICK)
+   AddBool(in, "input.enablejoystick", 35100, true);
+@@ -831,7 +831,7 @@ void CGUISettings::Initialize()
+
+ #ifdef HAS_WEB_SERVER
+   CSettingsCategory* srvWeb = AddCategory(SETTINGS_SERVICE, "webserver", 33101);
+-  AddBool(srvWeb,  "services.webserver",        263, false);
++  AddBool(srvWeb,  "services.webserver",        263, true);
+   AddString(srvWeb,"services.webserverport",    730, CUtil::CanBindPrivileged()?"80":"8080", EDIT_CONTROL_NUMBER_INPUT, false, 730);
+   AddString(srvWeb,"services.webserverusername",1048, "xbmc", EDIT_CONTROL_INPUT);
+   AddString(srvWeb,"services.webserverpassword",733, "", EDIT_CONTROL_HIDDEN_INPUT, true, 733);
+@@ -881,7 +881,7 @@ void CGUISettings::Initialize()
+   AddInt(laf, "lookandfeel.startupwindow",512,1, WINDOW_HOME, 1, WINDOW_PYTHON_END, SPIN_CONTROL_TEXT);
+   AddString(laf, "lookandfeel.soundskin",15108,"SKINDEFAULT", SPIN_CONTROL_TEXT);
+   AddSeparator(laf, "lookandfeel.sep2");
+-  AddBool(laf, "lookandfeel.enablerssfeeds",13305,  true);
++  AddBool(laf, "lookandfeel.enablerssfeeds",13305,  false);
+   AddString(laf, "lookandfeel.rssedit", 21450, "", BUTTON_CONTROL_STANDARD);
+
+   CSettingsCategory* loc = AddCategory(SETTINGS_APPEARANCE, "locale", 14090);
+diff --git a/xbmc/settings/GUIWindowSettingsCategory.cpp b/xbmc/settings/GUIWindowSettingsCategory.cpp
+index b4cee69..a9bcb7a 100644
+--- a/xbmc/settings/GUIWindowSettingsCategory.cpp
++++ b/xbmc/settings/GUIWindowSettingsCategory.cpp
+@@ -1271,7 +1271,7 @@ void CGUIWindowSettingsCategory::OnSettingChanged(CBaseSettingControl *pSettingC
+       if (!g_application.StartWebServer())
+       {
+         CGUIDialogOK::ShowAndGetInput(g_localizeStrings.Get(33101), "", g_localizeStrings.Get(33100), "");
+-        g_guiSettings.SetBool("services.webserver", false);
++        g_guiSettings.SetBool("services.webserver", true);
+       }
+   }
+   else if (strSetting.Equals("services.webserverusername") || strSetting.Equals("services.webserverpassword"))
+@@ -1292,7 +1292,7 @@ void CGUIWindowSettingsCategory::OnSettingChanged(CBaseSettingControl *pSettingC
+     else
+     {
+       g_application.StopAirplayServer(true);
+-      g_guiSettings.SetBool("services.airplay", false);
++      g_guiSettings.SetBool("services.airplay", true);
+       CZeroconf::GetInstance()->Stop();
+     }
+ #endif
+--
+1.7.10.4
diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
new file mode 100644
index 0000000..f6aacc3
--- /dev/null
+++ b/package/xbmc/xbmc.mk
@@ -0,0 +1,149 @@
+################################################################################
+#
+# xbmc
+#
+################################################################################
+
+XBMC_VERSION = 12.3-Frodo
+XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))
+XBMC_LICENSE = GPLv2
+XBMC_LICENSE_FILES = LICENSE.GPL
+XBMC_DEPENDENCIES = 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 lzo ncurses \
+	openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
+
+XBMC_CONF_ENV += PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)"
+XBMC_CONF_ENV += PYTHON_LDFLAGS="-L$(STAGING_DIR)/usr/lib/ -lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm"
+XBMC_CONF_ENV += PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)"
+XBMC_CONF_ENV += PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"
+XBMC_CONF_ENV += PYTHON_NOVERSIONCHECK="no-check"
+XBMC_CONF_ENV += TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
+
+XBMC_CONF_OPT +=  --disable-alsa --disable-crystalhd --disable-debug \
+	--disable-dvdcss --disable-gl --disable-hal --disable-joystick \
+	--disable-mysql --disable-openmax --disable-optical-drive \
+	--disable-projectm --disable-pulse --disable-sdl --disable-ssh \
+	--disable-vaapi --disable-vdpau --disable-vtbdecoder --disable-x11 \
+	--disable-xrandr --enable-gles --enable-optimizations
+
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+XBMC_DEPENDENCIES += rpi-userland
+XBMC_CONF_OPT += --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"
+endif
+
+ifeq ($(BR2_PACKAGE_DBUS),y)
+XBMC_DEPENDENCIES += dbus
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
+XBMC_DEPENDENCIES += libusb-compat
+XBMC_CONF_OPT += --enable-libusb
+else
+XBMC_CONF_OPT += --disable-libusb
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBMICROHTTPD),y)
+XBMC_DEPENDENCIES += libmicrohttpd
+XBMC_CONF_OPT += --enable-webserver
+else
+XBMC_CONF_OPT += --disable-webserver
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBSMBCLIENT),y)
+XBMC_DEPENDENCIES += samba
+XBMC_CONF_OPT += --enable-samba
+else
+XBMC_CONF_OPT += --disable-samba
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBNFS),y)
+XBMC_DEPENDENCIES += libnfs
+XBMC_CONF_OPT += --enable-nfs
+else
+XBMC_CONF_OPT += --disable-nfs
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_RTMPDUMP),y)
+XBMC_DEPENDENCIES += rtmpdump
+XBMC_CONF_OPT += --enable-rtmp
+else
+XBMC_CONF_OPT += --disable-rtmp
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBBLURAY),y)
+XBMC_DEPENDENCIES += libbluray
+XBMC_CONF_OPT += --enable-libbluray
+else
+XBMC_CONF_OPT += --disable-libbluray
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBSHAIRPLAY),y)
+XBMC_DEPENDENCIES += libshairplay
+XBMC_CONF_OPT += --enable-airplay
+else
+XBMC_CONF_OPT += --disable-airplay
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_AVAHI),y)
+XBMC_DEPENDENCIES += avahi
+XBMC_CONF_OPT += --enable-avahi
+else
+XBMC_CONF_OPT += --disable-avahi
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_LIBCEC),y)
+XBMC_DEPENDENCIES += libcec
+XBMC_CONF_OPT += --enable-libcec
+else
+XBMC_CONF_OPT += --disable-libcec
+endif
+
+ifeq ($(BR2_PACKAGE_XBMC_WAVPACK),y)
+XBMC_DEPENDENCIES += wavpack
+endif
+
+# Add HOST_DIR to PATH for codegenerator.mk to find swig
+# TODO: java binary from user's machine is currently used...
+define XBMC_BOOTSTRAP
+	cd $(@D) && PATH="$(HOST_DIR)/usr/bin/:$(PATH)" ./bootstrap
+endef
+
+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
+
+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
+
+define XBMC_INSTALL_INIT_SYSV
+	[ -f $(TARGET_DIR)/etc/init.d/S50xbmc ] || \
+		$(INSTALL) -D -m 755 package/xbmc/S50xbmc \
+		$(TARGET_DIR)/etc/init.d/S50xbmc
+endef
+
+define XBMC_INSTALL_INIT_SYSTEMD
+	[ -f $(TARGET_DIR)/etc/systemd/system/xbmc.service ] || \
+		$(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
+
+XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP
+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_INSTALL_ETC
+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_UNUSED_ADDONS
+XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_CONFLUENCE_SKIN
+
+$(eval $(autotools-package))
diff --git a/package/xbmc/xbmc.service b/package/xbmc/xbmc.service
new file mode 100644
index 0000000..3fe5895
--- /dev/null
+++ b/package/xbmc/xbmc.service
@@ -0,0 +1,12 @@
+[Unit]
+Description = XBMC media center
+After = network.target
+
+[Service]
+Type = simple
+ExecStart = /usr/lib/xbmc/xbmc.bin --standalone -fs -n
+Restart = on-failure
+
+[Install]
+WantedBy = multi-user.target
+
-- 
1.8.5.3

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 3/4] dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 3/4] dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA Maxime Hadjinlian
@ 2014-02-16 13:45   ` Maxime Hadjinlian
  0 siblings, 0 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 13:45 UTC (permalink / raw)
  To: buildroot

Hi all,

On Sun, Feb 16, 2014 at 2:27 PM, Maxime Hadjinlian
<maxime.hadjinlian@gmail.com> wrote:
> XBMC needs Java on the host in order to build, because it  uses a
> code-generator which is build in two phases:
> In the first phase SWIG is used to parse C++ header files that define the API.
> SWIG outputs an XML file that contains a complete description of the structure
> of the API.
> In the second phase, the XML file is ingested by a Groovy (Java) program that
> then creates C++ code that forms the bridge to the scripting language (Python).
>
> The second phase is why we need java on the host.
>
> You can learn more at the XBMC's wiki:
> http://wiki.xbmc.org/index.php?title=Codegeneration#How_it_works
>
> In order to check that, this patch introduce this mechanism in
> dependencies.sh
>
> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
> ---
> Changes v5 -> v6:
>   - Remove useless loop (Thomas Petazzoni)
>   - Thanks to Martin Bark idea, change this patch to have a non package
>     specific variable.
> Changes v1 -> v5:
>   - Patch non existant before
> ---
>  support/dependencies/dependencies.sh | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh
> index 0e7e1fa..dd90bee 100755
> --- a/support/dependencies/dependencies.sh
> +++ b/support/dependencies/dependencies.sh
> @@ -191,6 +191,14 @@ if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then
>         done
>  fi
>
> +if grep -q ^BR2_HOST_NEEDS_JAVA=y $BUILDROOT_CONFIG ; then
> +       if ! which java > /dev/null ; then
> +               echo >&2
> +               echo "You must install '$prog' on your build machine" >&2
> +               exit 1
> +       fi
> +fi
I stupidly forgotten about the change BUILDROOT_CONFIG => BR2_CONFIG.
I will send an update with the rest of the series when more reviews
came in.
> +
>  if grep -q ^BR2_HOSTARCH_NEEDS_IA32_LIBS=y $BR2_CONFIG ; then
>         if test ! -f /lib/ld-linux.so.2 ; then
>                 echo
> --
> 1.8.5.3
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 4/4] xbmc: new package Maxime Hadjinlian
@ 2014-02-16 19:55   ` Thomas De Schampheleire
  2014-02-16 20:37     ` Maxime Hadjinlian
  2014-02-16 20:57     ` Yann E. MORIN
  2014-02-16 20:45   ` Jerzy Grzegorek
  1 sibling, 2 replies; 12+ messages in thread
From: Thomas De Schampheleire @ 2014-02-16 19:55 UTC (permalink / raw)
  To: buildroot

Hi Maxime,

Maxime Hadjinlian <maxime.hadjinlian@gmail.com> schreef:
>XBMC is an award-winning free and open source (GPL) software media player and
>entertainment hub for digital media.
>This package was originally found at : https://github.com/huceke/buildroot-rbp
>By gimli <ebsi4711@gmail.com>
>
>Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
>Cc: gimli <ebsi4711@gmail.com>
>---
>Changes v5 -> v6:
>  - Fix missing depends on OpenGL (Yann E. Morin)
>  - Remove LIBCEC_RBP Config option (Yann E. Morin)
>  - Fix dependency that were, in the end, not optionnal (Martin Bark)
>  - Fix OpenGL check (Martin Bark)
>  - Uses BR2_HOST_NEEDS_JAVA (Martin Bark)
>  - None
>Changes v4 -> v5:
>  - Remove MAKE1, seems to work fine with parallel build.
>Changes v3 -> v4:
>  - Rework init script
>  - Add systemd startup service
>Changes v2 -> v3:
>  - Fix indent
>  - Change librtmp to rtmpdump
>Changes v1 -> v2:
>  - Fix header (Yann E. Morin)
>  - Fix comment on toolchain option (Peter Korsgaard)
>---
> package/Config.in                                  |   1 +
> package/xbmc/Config.in                             | 166 ++++++++++++++++++++
> package/xbmc/S50xbmc                               |  41 +++++
> package/xbmc/xbmc-0001-Fixup-include-path.patch    |  79 ++++++++++
> .../xbmc-0002-RaspberryPi-Default-Settings.patch   | 167 +++++++++++++++++++++
> package/xbmc/xbmc.mk                               | 149 ++++++++++++++++++
> package/xbmc/xbmc.service                          |  12 ++
> 7 files changed, 615 insertions(+)
> create mode 100644 package/xbmc/Config.in
> create mode 100755 package/xbmc/S50xbmc
> create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch
> create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
> create mode 100644 package/xbmc/xbmc.mk
> create mode 100644 package/xbmc/xbmc.service
>
>diff --git a/package/Config.in b/package/Config.in
>index 6c3e769..5f32a28 100644
>--- a/package/Config.in
>+++ b/package/Config.in
>@@ -26,6 +26,7 @@ source "package/tstools/Config.in"
> 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"
> endmenu
> 
>diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
>new file mode 100644
>index 0000000..3395e7e
>--- /dev/null
>+++ b/package/xbmc/Config.in
>@@ -0,0 +1,166 @@
>+comment "xbmc requires an OpenGL-capable backend"
>+	depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)
>+
>+# External toolchain are required because of a missing bitdefs.h
>+comment "xbmc needs an (e)glibc external toolchain w/ C++ and WCHAR"

Please have a look at the manual regarding the exact format of these comments.
Above wchar should be all lowercase...

>+	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_BUILDROOT

Why do you check on !uclibc if you really mean glibc?

>+
>+menuconfig BR2_PACKAGE_XBMC
>+	bool "xbmc"
>+	select BR2_HOST_NEEDS_JAVA
>+	select BR2_PACKAGE_BOOST
>+	select BR2_PACKAGE_BOOST_THREAD
>+	select BR2_PACKAGE_BZIP2
>+	select BR2_PACKAGE_EXPAT
>+	select BR2_PACKAGE_FLAC
>+	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_LIBGCRYPT
>+	select BR2_PACKAGE_LIBID3TAG
>+	select BR2_PACKAGE_LIBMAD
>+	select BR2_PACKAGE_LIBMODPLUG
>+	select BR2_PACKAGE_LIBMPEG2
>+	select BR2_PACKAGE_LIBOGG
>+	select BR2_PACKAGE_LIBPLIST
>+	select BR2_PACKAGE_LIBPNG
>+	select BR2_PACKAGE_LIBSAMPLERATE
>+	select BR2_PACKAGE_LIBUNGIF
>+	select BR2_PACKAGE_LIBVORBIS
>+	select BR2_PACKAGE_LIBXML2
>+	select BR2_PACKAGE_LZO
>+	select BR2_PACKAGE_NCURSES
>+	select BR2_PACKAGE_OPENSSL
>+	select BR2_PACKAGE_PCRE
>+	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_TIFF
>+	select BR2_PACKAGE_TINYXML
>+	select BR2_PACKAGE_YAJL
>+	select BR2_PACKAGE_ZLIB
>+	depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && !BR2_TOOLCHAIN_USES_UCLIBC
>+	depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES
>+	depends on !BR2_TOOLCHAIN_BUILDROOT
>+	help
>+	  XBMC is an award-winning free and open source (GPL) software
>+	  media player and entertainment hub for digital media.
>+
>+	  http://xbmc.org
>+
>+if BR2_PACKAGE_XBMC
>+
>+config BR2_PACKAGE_XBMC_AVAHI
>+	bool "avahi"
>+	select BR2_PACKAGE_AVAHI
>+	select BR2_PACKAGE_AVAHI_DAEMON
>+	help
>+	  Enable Avahi support.
>+	  Select this if you want XBMC to support Bonjour protocol.
>+
>+config BR2_PACKAGE_XBMC_DBUS
>+	bool "dbus"
>+	select BR2_PACKAGE_DBUS
>+	help
>+	  Enable DBUS support
>+
>+config BR2_PACKAGE_XBMC_LIBBLURAY
>+	bool "libbluray"
>+	select BR2_PACKAGE_LIBBLURAY
>+	help
>+	  Enable bluray input support.
>+	  Select this if you want to play back bluray content.

As you're using capitalization on the other technologies in the config options,
I'd expect the same for bluray (correct capitalization to be looked up)

>+
>+config BR2_PACKAGE_XBMC_LIBCEC
>+	bool "libcec"
>+	select BR2_PACKAGE_LIBCEC
>+	depends on BR2_INSTALL_LIBSTDCPP
>+	depends on BR2_USE_WCHAR
>+	help
>+	  Enable CEC support.
>+	  Select this if you want XBMC to support HDMI CEC.

Explaining the acronym cec here would be nice...

>+
>+comment "libcec requires a toolchain with C++ and WCHAR support"
>+	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)

Comment is not according to the manual.

>+
>+config BR2_PACKAGE_XBMC_LIBMICROHTTPD
>+	bool "libmicrohttpd"
>+	select BR2_PACKAGE_LIBMICROHTTPD
>+	help
>+	  Enable webserver feature
>+
>+config BR2_PACKAGE_XBMC_LIBNFS
>+	bool "libnfs"
>+	select BR2_PACKAGE_LIBNFS
>+	depends on BR2_LARGEFILE
>+	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
>+	help
>+	  Enable NFS server support.
>+
>+comment "libnfs support requires a toolchain with LARGEFILE and RPC support"
>+	depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_NATIVE_RPC)

Comment not ok.

>+
>+config BR2_PACKAGE_XBMC_RTMPDUMP
>+	bool "librtmp"
>+	select BR2_PACKAGE_RTMPDUMP
>+	help
>+	  Enable rtmp input support.
>+	  Select this if you want to play back rtmp stream.
>+
>+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
>+	bool "libshairport"
>+	select BR2_PACKAGE_LIBSHAIRPLAY
>+	depends on BR2_INET_IPV6
>+	help
>+	  Enable shairport support.
>+	  Select this if you want to stream content from Apple device.

an Apple device

>+
>+comment "libshairport support requires a toolchain with IPV6 support"
>+	depends on !(BR2_INET_IPV6)

Comment not ok.

>+
>+config BR2_PACKAGE_XBMC_LIBSMBCLIENT
>+	bool "libsmbclient"
>+	select BR2_PACKAGE_SAMBA
>+	select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
>+	help
>+	  Enable Samba support
>+
>+config BR2_PACKAGE_XBMC_LIBTHEORA
>+	bool "libtheora"
>+	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
>+	bool "libusb"
>+	depends on BR2_TOOLCHAIN_HAS_THREADS
>+	select BR2_PACKAGE_LIBUSB
>+	select BR2_PACKAGE_LIBUSB_COMPAT
>+	help
>+	  Enable libusb support.
>+
>+config BR2_PACKAGE_XBMC_WAVPACK
>+	bool "wavpack"
>+	select BR2_PACKAGE_WAVPACK
>+	help
>+	  Enable wavpack input support.
>+	  Select this if you want to play back WV files.
>+
>+endif

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 19:55   ` Thomas De Schampheleire
@ 2014-02-16 20:37     ` Maxime Hadjinlian
  2014-02-16 20:57     ` Yann E. MORIN
  1 sibling, 0 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 20:37 UTC (permalink / raw)
  To: buildroot

Hi Thomas, all,
On Sun, Feb 16, 2014 at 8:55 PM, Thomas De Schampheleire
<patrickdepinguin@gmail.com> wrote:
> Hi Maxime,
>
> Maxime Hadjinlian <maxime.hadjinlian@gmail.com> schreef:
>>XBMC is an award-winning free and open source (GPL) software media player and
>>entertainment hub for digital media.
>>This package was originally found at : https://github.com/huceke/buildroot-rbp
>>By gimli <ebsi4711@gmail.com>
>>
>>Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
>>Cc: gimli <ebsi4711@gmail.com>
>>---
>>Changes v5 -> v6:
>>  - Fix missing depends on OpenGL (Yann E. Morin)
>>  - Remove LIBCEC_RBP Config option (Yann E. Morin)
>>  - Fix dependency that were, in the end, not optionnal (Martin Bark)
>>  - Fix OpenGL check (Martin Bark)
>>  - Uses BR2_HOST_NEEDS_JAVA (Martin Bark)
>>  - None
>>Changes v4 -> v5:
>>  - Remove MAKE1, seems to work fine with parallel build.
>>Changes v3 -> v4:
>>  - Rework init script
>>  - Add systemd startup service
>>Changes v2 -> v3:
>>  - Fix indent
>>  - Change librtmp to rtmpdump
>>Changes v1 -> v2:
>>  - Fix header (Yann E. Morin)
>>  - Fix comment on toolchain option (Peter Korsgaard)
>>---
>> package/Config.in                                  |   1 +
>> package/xbmc/Config.in                             | 166 ++++++++++++++++++++
>> package/xbmc/S50xbmc                               |  41 +++++
>> package/xbmc/xbmc-0001-Fixup-include-path.patch    |  79 ++++++++++
>> .../xbmc-0002-RaspberryPi-Default-Settings.patch   | 167 +++++++++++++++++++++
>> package/xbmc/xbmc.mk                               | 149 ++++++++++++++++++
>> package/xbmc/xbmc.service                          |  12 ++
>> 7 files changed, 615 insertions(+)
>> create mode 100644 package/xbmc/Config.in
>> create mode 100755 package/xbmc/S50xbmc
>> create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch
>> create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
>> create mode 100644 package/xbmc/xbmc.mk
>> create mode 100644 package/xbmc/xbmc.service
>>
>>diff --git a/package/Config.in b/package/Config.in
>>index 6c3e769..5f32a28 100644
>>--- a/package/Config.in
>>+++ b/package/Config.in
>>@@ -26,6 +26,7 @@ source "package/tstools/Config.in"
>> 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"
>> endmenu
>>
>>diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
>>new file mode 100644
>>index 0000000..3395e7e
>>--- /dev/null
>>+++ b/package/xbmc/Config.in
>>@@ -0,0 +1,166 @@
>>+comment "xbmc requires an OpenGL-capable backend"
>>+      depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)
>>+
>>+# External toolchain are required because of a missing bitdefs.h
>>+comment "xbmc needs an (e)glibc external toolchain w/ C++ and WCHAR"
>
> Please have a look at the manual regarding the exact format of these comments.
> Above wchar should be all lowercase...
>
>>+      depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_BUILDROOT
>
> Why do you check on !uclibc if you really mean glibc?
No particular reason, it went on with the "negative" logic going on in
this line. But you are right, it would express better what I am trying
to achieve.

Note that this should go away pretty soon, there is a patch in XBMC
Gotham (next version, which should be out soon) which fix uClibc
build. It could be back ported for us, but at the moment, I don't
really see the point.
>
>>+
>>+menuconfig BR2_PACKAGE_XBMC
>>+      bool "xbmc"
>>+      select BR2_HOST_NEEDS_JAVA
>>+      select BR2_PACKAGE_BOOST
>>+      select BR2_PACKAGE_BOOST_THREAD
>>+      select BR2_PACKAGE_BZIP2
>>+      select BR2_PACKAGE_EXPAT
>>+      select BR2_PACKAGE_FLAC
>>+      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_LIBGCRYPT
>>+      select BR2_PACKAGE_LIBID3TAG
>>+      select BR2_PACKAGE_LIBMAD
>>+      select BR2_PACKAGE_LIBMODPLUG
>>+      select BR2_PACKAGE_LIBMPEG2
>>+      select BR2_PACKAGE_LIBOGG
>>+      select BR2_PACKAGE_LIBPLIST
>>+      select BR2_PACKAGE_LIBPNG
>>+      select BR2_PACKAGE_LIBSAMPLERATE
>>+      select BR2_PACKAGE_LIBUNGIF
>>+      select BR2_PACKAGE_LIBVORBIS
>>+      select BR2_PACKAGE_LIBXML2
>>+      select BR2_PACKAGE_LZO
>>+      select BR2_PACKAGE_NCURSES
>>+      select BR2_PACKAGE_OPENSSL
>>+      select BR2_PACKAGE_PCRE
>>+      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_TIFF
>>+      select BR2_PACKAGE_TINYXML
>>+      select BR2_PACKAGE_YAJL
>>+      select BR2_PACKAGE_ZLIB
>>+      depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && !BR2_TOOLCHAIN_USES_UCLIBC
>>+      depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES
>>+      depends on !BR2_TOOLCHAIN_BUILDROOT
>>+      help
>>+        XBMC is an award-winning free and open source (GPL) software
>>+        media player and entertainment hub for digital media.
>>+
>>+        http://xbmc.org
>>+
>>+if BR2_PACKAGE_XBMC
>>+
>>+config BR2_PACKAGE_XBMC_AVAHI
>>+      bool "avahi"
>>+      select BR2_PACKAGE_AVAHI
>>+      select BR2_PACKAGE_AVAHI_DAEMON
>>+      help
>>+        Enable Avahi support.
>>+        Select this if you want XBMC to support Bonjour protocol.
>>+
>>+config BR2_PACKAGE_XBMC_DBUS
>>+      bool "dbus"
>>+      select BR2_PACKAGE_DBUS
>>+      help
>>+        Enable DBUS support
>>+
>>+config BR2_PACKAGE_XBMC_LIBBLURAY
>>+      bool "libbluray"
>>+      select BR2_PACKAGE_LIBBLURAY
>>+      help
>>+        Enable bluray input support.
>>+        Select this if you want to play back bluray content.
>
> As you're using capitalization on the other technologies in the config options,
> I'd expect the same for bluray (correct capitalization to be looked up)
>
>>+
>>+config BR2_PACKAGE_XBMC_LIBCEC
>>+      bool "libcec"
>>+      select BR2_PACKAGE_LIBCEC
>>+      depends on BR2_INSTALL_LIBSTDCPP
>>+      depends on BR2_USE_WCHAR
>>+      help
>>+        Enable CEC support.
>>+        Select this if you want XBMC to support HDMI CEC.
>
> Explaining the acronym cec here would be nice...
>
>>+
>>+comment "libcec requires a toolchain with C++ and WCHAR support"
>>+      depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)
>
> Comment is not according to the manual.
>
>>+
>>+config BR2_PACKAGE_XBMC_LIBMICROHTTPD
>>+      bool "libmicrohttpd"
>>+      select BR2_PACKAGE_LIBMICROHTTPD
>>+      help
>>+        Enable webserver feature
>>+
>>+config BR2_PACKAGE_XBMC_LIBNFS
>>+      bool "libnfs"
>>+      select BR2_PACKAGE_LIBNFS
>>+      depends on BR2_LARGEFILE
>>+      depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
>>+      help
>>+        Enable NFS server support.
>>+
>>+comment "libnfs support requires a toolchain with LARGEFILE and RPC support"
>>+      depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_NATIVE_RPC)
>
> Comment not ok.
>
>>+
>>+config BR2_PACKAGE_XBMC_RTMPDUMP
>>+      bool "librtmp"
>>+      select BR2_PACKAGE_RTMPDUMP
>>+      help
>>+        Enable rtmp input support.
>>+        Select this if you want to play back rtmp stream.
>>+
>>+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
>>+      bool "libshairport"
>>+      select BR2_PACKAGE_LIBSHAIRPLAY
>>+      depends on BR2_INET_IPV6
>>+      help
>>+        Enable shairport support.
>>+        Select this if you want to stream content from Apple device.
>
> an Apple device
>
>>+
>>+comment "libshairport support requires a toolchain with IPV6 support"
>>+      depends on !(BR2_INET_IPV6)
>
> Comment not ok.
>
>>+
>>+config BR2_PACKAGE_XBMC_LIBSMBCLIENT
>>+      bool "libsmbclient"
>>+      select BR2_PACKAGE_SAMBA
>>+      select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
>>+      help
>>+        Enable Samba support
>>+
>>+config BR2_PACKAGE_XBMC_LIBTHEORA
>>+      bool "libtheora"
>>+      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
>>+      bool "libusb"
>>+      depends on BR2_TOOLCHAIN_HAS_THREADS
>>+      select BR2_PACKAGE_LIBUSB
>>+      select BR2_PACKAGE_LIBUSB_COMPAT
>>+      help
>>+        Enable libusb support.
>>+
>>+config BR2_PACKAGE_XBMC_WAVPACK
>>+      bool "wavpack"
>>+      select BR2_PACKAGE_WAVPACK
>>+      help
>>+        Enable wavpack input support.
>>+        Select this if you want to play back WV files.
>>+
>>+endif
>
Thanks for you comments, I have fixed the capitalisation issues.
> Best regards,
> Thomas
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 13:27 ` [Buildroot] [PATCH v6 4/4] xbmc: new package Maxime Hadjinlian
  2014-02-16 19:55   ` Thomas De Schampheleire
@ 2014-02-16 20:45   ` Jerzy Grzegorek
  2014-02-16 20:52     ` Maxime Hadjinlian
  1 sibling, 1 reply; 12+ messages in thread
From: Jerzy Grzegorek @ 2014-02-16 20:45 UTC (permalink / raw)
  To: buildroot


Hi Maxime,

> XBMC is an award-winning free and open source (GPL) software media player and
> entertainment hub for digital media.
> This package was originally found at : https://github.com/huceke/buildroot-rbp
> By gimli <ebsi4711@gmail.com>
>
> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
> Cc: gimli <ebsi4711@gmail.com>
> ---
> Changes v5 -> v6:
>    - Fix missing depends on OpenGL (Yann E. Morin)
>    - Remove LIBCEC_RBP Config option (Yann E. Morin)
>    - Fix dependency that were, in the end, not optionnal (Martin Bark)
>    - Fix OpenGL check (Martin Bark)
>    - Uses BR2_HOST_NEEDS_JAVA (Martin Bark)
>    - None
> Changes v4 -> v5:
>    - Remove MAKE1, seems to work fine with parallel build.
> Changes v3 -> v4:
>    - Rework init script
>    - Add systemd startup service
> Changes v2 -> v3:
>    - Fix indent
>    - Change librtmp to rtmpdump
> Changes v1 -> v2:
>    - Fix header (Yann E. Morin)
>    - Fix comment on toolchain option (Peter Korsgaard)
> ---
>   package/Config.in                                  |   1 +
>   package/xbmc/Config.in                             | 166 ++++++++++++++++++++
>   package/xbmc/S50xbmc                               |  41 +++++
>   package/xbmc/xbmc-0001-Fixup-include-path.patch    |  79 ++++++++++
>   .../xbmc-0002-RaspberryPi-Default-Settings.patch   | 167 +++++++++++++++++++++
>   package/xbmc/xbmc.mk                               | 149 ++++++++++++++++++
>   package/xbmc/xbmc.service                          |  12 ++
>   7 files changed, 615 insertions(+)
>   create mode 100644 package/xbmc/Config.in
>   create mode 100755 package/xbmc/S50xbmc
>   create mode 100644 package/xbmc/xbmc-0001-Fixup-include-path.patch
>   create mode 100644 package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
>   create mode 100644 package/xbmc/xbmc.mk
>   create mode 100644 package/xbmc/xbmc.service
>
> diff --git a/package/Config.in b/package/Config.in
> index 6c3e769..5f32a28 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -26,6 +26,7 @@ source "package/tstools/Config.in"
>   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"
>   endmenu
>   
> diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
> new file mode 100644
> index 0000000..3395e7e
> --- /dev/null
> +++ b/package/xbmc/Config.in
> @@ -0,0 +1,166 @@
> +comment "xbmc requires an OpenGL-capable backend"
> +	depends on !(BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES)
> +
> +# External toolchain are required because of a missing bitdefs.h
> +comment "xbmc needs an (e)glibc external toolchain w/ C++ and WCHAR"
> +	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_BUILDROOT
> +
> +menuconfig BR2_PACKAGE_XBMC
> +	bool "xbmc"
> +	select BR2_HOST_NEEDS_JAVA
> +	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_BOOST_THREAD
> +	select BR2_PACKAGE_BZIP2
> +	select BR2_PACKAGE_EXPAT
> +	select BR2_PACKAGE_FLAC
> +	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_LIBGCRYPT
> +	select BR2_PACKAGE_LIBID3TAG
> +	select BR2_PACKAGE_LIBMAD
> +	select BR2_PACKAGE_LIBMODPLUG
> +	select BR2_PACKAGE_LIBMPEG2
> +	select BR2_PACKAGE_LIBOGG
> +	select BR2_PACKAGE_LIBPLIST
> +	select BR2_PACKAGE_LIBPNG
> +	select BR2_PACKAGE_LIBSAMPLERATE
> +	select BR2_PACKAGE_LIBUNGIF
> +	select BR2_PACKAGE_LIBVORBIS
> +	select BR2_PACKAGE_LIBXML2
> +	select BR2_PACKAGE_LZO
> +	select BR2_PACKAGE_NCURSES
> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_PCRE
> +	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_TIFF

Why two times?

Regards,
Jerzy

> +	select BR2_PACKAGE_TINYXML
> +	select BR2_PACKAGE_YAJL
> +	select BR2_PACKAGE_ZLIB
> +	depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && !BR2_TOOLCHAIN_USES_UCLIBC
> +	depends on BR2_PACKAGE_HAS_OPENGL_EGL || BR2_PACKAGE_HAS_OPENGL_ES
> +	depends on !BR2_TOOLCHAIN_BUILDROOT
> +	help
> +	  XBMC is an award-winning free and open source (GPL) software
> +	  media player and entertainment hub for digital media.
> +
> +	  http://xbmc.org
> +
> +if BR2_PACKAGE_XBMC
> +
> +config BR2_PACKAGE_XBMC_AVAHI
> +	bool "avahi"
> +	select BR2_PACKAGE_AVAHI
> +	select BR2_PACKAGE_AVAHI_DAEMON
> +	help
> +	  Enable Avahi support.
> +	  Select this if you want XBMC to support Bonjour protocol.
> +
> +config BR2_PACKAGE_XBMC_DBUS
> +	bool "dbus"
> +	select BR2_PACKAGE_DBUS
> +	help
> +	  Enable DBUS support
> +
> +config BR2_PACKAGE_XBMC_LIBBLURAY
> +	bool "libbluray"
> +	select BR2_PACKAGE_LIBBLURAY
> +	help
> +	  Enable bluray input support.
> +	  Select this if you want to play back bluray content.
> +
> +config BR2_PACKAGE_XBMC_LIBCEC
> +	bool "libcec"
> +	select BR2_PACKAGE_LIBCEC
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_USE_WCHAR
> +	help
> +	  Enable CEC support.
> +	  Select this if you want XBMC to support HDMI CEC.
> +
> +comment "libcec requires a toolchain with C++ and WCHAR support"
> +	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR)
> +
> +config BR2_PACKAGE_XBMC_LIBMICROHTTPD
> +	bool "libmicrohttpd"
> +	select BR2_PACKAGE_LIBMICROHTTPD
> +	help
> +	  Enable webserver feature
> +
> +config BR2_PACKAGE_XBMC_LIBNFS
> +	bool "libnfs"
> +	select BR2_PACKAGE_LIBNFS
> +	depends on BR2_LARGEFILE
> +	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
> +	help
> +	  Enable NFS server support.
> +
> +comment "libnfs support requires a toolchain with LARGEFILE and RPC support"
> +	depends on !(BR2_LARGEFILE && BR2_TOOLCHAIN_HAS_NATIVE_RPC)
> +
> +config BR2_PACKAGE_XBMC_RTMPDUMP
> +	bool "librtmp"
> +	select BR2_PACKAGE_RTMPDUMP
> +	help
> +	  Enable rtmp input support.
> +	  Select this if you want to play back rtmp stream.
> +
> +config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
> +	bool "libshairport"
> +	select BR2_PACKAGE_LIBSHAIRPLAY
> +	depends on BR2_INET_IPV6
> +	help
> +	  Enable shairport support.
> +	  Select this if you want to stream content from Apple device.
> +
> +comment "libshairport support requires a toolchain with IPV6 support"
> +	depends on !(BR2_INET_IPV6)
> +
> +config BR2_PACKAGE_XBMC_LIBSMBCLIENT
> +	bool "libsmbclient"
> +	select BR2_PACKAGE_SAMBA
> +	select BR2_PACKAGE_SAMBA_LIBSMBCLIENT
> +	help
> +	  Enable Samba support
> +
> +config BR2_PACKAGE_XBMC_LIBTHEORA
> +	bool "libtheora"
> +	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
> +	bool "libusb"
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	select BR2_PACKAGE_LIBUSB
> +	select BR2_PACKAGE_LIBUSB_COMPAT
> +	help
> +	  Enable libusb support.
> +
> +config BR2_PACKAGE_XBMC_WAVPACK
> +	bool "wavpack"
> +	select BR2_PACKAGE_WAVPACK
> +	help
> +	  Enable wavpack input support.
> +	  Select this if you want to play back WV files.
> +
> +endif
> diff --git a/package/xbmc/S50xbmc b/package/xbmc/S50xbmc
> new file mode 100755
> index 0000000..70cd320
> --- /dev/null
> +++ b/package/xbmc/S50xbmc
> @@ -0,0 +1,41 @@
> +#!/bin/sh
> +#
> +# Starts XBMC.
> +#
> +
> +BIN_NAME=xbmc.bin
> +XBMC=/usr/lib/xbmc/$BIN_NAME
> +XBMC_ARGS="--standalone -fs -n"
> +PIDFILE=/var/run/xbmc.pid
> +
> +start() {
> +    echo -n "Starting XBMC: "
> +    start-stop-daemon -S -q -p $PIDFILE --exec $XBMC -- $XBMC_ARGS
> +    [ $? == 0 ] && echo "OK" || echo "FAIL"
> +}
> +stop() {
> +    echo -n "Stopping XBMC: "
> +    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
> +
> +exit $?
> diff --git a/package/xbmc/xbmc-0001-Fixup-include-path.patch b/package/xbmc/xbmc-0001-Fixup-include-path.patch
> new file mode 100644
> index 0000000..e4d6632
> --- /dev/null
> +++ b/package/xbmc/xbmc-0001-Fixup-include-path.patch
> @@ -0,0 +1,79 @@
> +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
> +---
> + 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/enca/configure b/lib/enca/configure
> +index c839a51..7af5a09 100644
> +--- a/lib/enca/configure
> ++++ b/lib/enca/configure
> +@@ -12011,9 +12011,6 @@ fi
> + if test "$prefix" = "NONE"; then
> +   LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
> +   CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include"
> +-else
> +-  LDFLAGS="$LDFLAGS -L$prefix/lib"
> +-  CPPFLAGS="$CPPFLAGS -I$prefix/include"
> + fi
> +
> +
> +diff --git a/lib/enca/configure.ac b/lib/enca/configure.ac
> +index 41434df..47d5367 100644
> +--- a/lib/enca/configure.ac
> ++++ b/lib/enca/configure.ac
> +@@ -100,9 +100,6 @@ dnl Dirty path hack.  Helps some people with badly set up search paths.
> + if test "$prefix" = "NONE"; then
> +   LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib"
> +   CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include"
> +-else
> +-  LDFLAGS="$LDFLAGS -L$prefix/lib"
> +-  CPPFLAGS="$CPPFLAGS -I$prefix/include"
> + fi
> +
> + dnl Checks for libraries.
> +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
> +diff --git a/lib/timidity/configure.in b/lib/timidity/configure.in
> +index 9f2835b..733470a 100644
> +--- a/lib/timidity/configure.in
> ++++ b/lib/timidity/configure.in
> +@@ -100,9 +100,9 @@ done
> +
> + # add $prefix if specified.
> + if test "x$prefix" != xNONE -a "x$prefix" != "x$ac_default_prefix" -a "x$prefix" != "x/usr"; then
> +-  LDFLAGS="-L$prefix/lib $LDFLAGS"
> +-  SHLDFLAGS="-L$prefix/lib $SHLDFLAGS"
> +-  CPPFLAGS="-I$prefix/include $CPPFLAGS"
> ++  LDFLAGS="$LDFLAGS"
> ++  SHLDFLAGS="$SHLDFLAGS"
> ++  CPPFLAGS="$CPPFLAGS"
> + fi
> +
> + dnl add --with-includes, --with-libraries
> +--
> +1.8.5.2
> +
> diff --git a/package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch b/package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
> new file mode 100644
> index 0000000..076da5a
> --- /dev/null
> +++ b/package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch
> @@ -0,0 +1,167 @@
> +From 2541772a3ed71402a620466feb6a337b40f08880 Mon Sep 17 00:00:00 2001
> +From: Maxime Hadjinlian <maximeh.hadjinlian@gmail.com>
> +Date: Sat, 15 Dec 2012 23:41:06 +0100
> +Subject: [PATCH] RaspberryPi Default Settings
> +
> +Add some default settings if the target platform is the RaspberryPi.
> +Avoid the fact that the user _MUST_ have an advandcedsettings.xml to be able
> +to use XBMC properly.
> +
> +---
> + xbmc/settings/AdvancedSettings.cpp          |   31 +++++++++++++++++++++++++++
> + xbmc/settings/GUISettings.cpp               |    8 +++----
> + xbmc/settings/GUIWindowSettingsCategory.cpp |    4 ++--
> + 3 files changed, 37 insertions(+), 6 deletions(-)
> +
> +diff --git a/xbmc/settings/AdvancedSettings.cpp b/xbmc/settings/AdvancedSettings.cpp
> +index 2cbbf98..42ccabd 100644
> +--- a/xbmc/settings/AdvancedSettings.cpp
> ++++ b/xbmc/settings/AdvancedSettings.cpp
> +@@ -72,7 +72,11 @@ void CAdvancedSettings::Initialize()
> +   m_karaokeAlwaysEmptyOnCdgs = 1;
> +   m_karaokeUseSongSpecificBackground = 0;
> +
> ++  #if defined(TARGET_RASPBERRY_PI)
> ++  m_audioDefaultPlayer = "omxplayer";
> ++  #else
> +   m_audioDefaultPlayer = "paplayer";
> ++  #endif
> +   m_audioPlayCountMinimumPercent = 90.0f;
> +   m_audioHost = "default";
> +
> +@@ -93,8 +97,14 @@ void CAdvancedSettings::Initialize()
> +   m_videoBlackBarColour = 0;
> +   m_videoPPFFmpegDeint = "linblenddeint";
> +   m_videoPPFFmpegPostProc = "ha:128:7,va,dr";
> ++
> ++  #if defined(TARGET_RASPBERRY_PI)
> ++  m_videoDefaultPlayer = "omxplayer";
> ++  m_videoDefaultDVDPlayer = "omxplayer";
> ++  #else
> +   m_videoDefaultPlayer = "dvdplayer";
> +   m_videoDefaultDVDPlayer = "dvdplayer";
> ++  #endif
> +   m_videoIgnoreSecondsAtStart = 3*60;
> +   m_videoIgnorePercentAtEnd   = 8.0f;
> +   m_videoPlayCountMinimumPercent = 90.0f;
> +@@ -287,7 +297,11 @@ void CAdvancedSettings::Initialize()
> +   m_alwaysOnTop = false;
> + #endif
> +
> ++  #if defined(TARGET_RASPBERRY_PI)
> ++  m_bgInfoLoaderMaxThreads = 2;
> ++  #else
> +   m_bgInfoLoaderMaxThreads = 5;
> ++  #endif
> +
> +   m_iPVRTimeCorrection             = 0;
> +   m_iPVRInfoToggleInterval         = 3000;
> +@@ -299,7 +313,12 @@ void CAdvancedSettings::Initialize()
> +
> +   m_measureRefreshrate = false;
> +
> ++  #if defined(TARGET_RASPBERRY_PI)
> ++  m_cacheMemBufferSize = 1024 * 1024 * 10;
> ++  #else
> +   m_cacheMemBufferSize = 1024 * 1024 * 20;
> ++  #endif
> ++
> +   m_addonPackageFolderSize = 200;
> +
> +   m_jsonOutputCompact = true;
> +@@ -509,11 +528,17 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
> +         RefreshOverride override = {0};
> +
> +         float fps;
> ++        #if defined(TARGET_RASPBERRY_PI)
> ++          fps = 23.976;
> ++          override.fpsmin = fps - 0.01f;
> ++          override.fpsmax = fps + 0.01f;
> ++        #else
> +         if (XMLUtils::GetFloat(pRefreshOverride, "fps", fps))
> +         {
> +           override.fpsmin = fps - 0.01f;
> +           override.fpsmax = fps + 0.01f;
> +         }
> ++        #endif
> +
> +         float fpsmin, fpsmax;
> +         if (XMLUtils::GetFloat(pRefreshOverride, "fpsmin", fpsmin) &&
> +@@ -524,11 +549,17 @@ void CAdvancedSettings::ParseSettingsFile(const CStdString &file)
> +         }
> +
> +         float refresh;
> ++        #if defined(TARGET_RASPBERRY_PI)
> ++          refresh = 24.0;
> ++          override.refreshmin = refresh - 0.01f;
> ++          override.refreshmax = refresh + 0.01f;
> ++        #else
> +         if (XMLUtils::GetFloat(pRefreshOverride, "refresh", refresh))
> +         {
> +           override.refreshmin = refresh - 0.01f;
> +           override.refreshmax = refresh + 0.01f;
> +         }
> ++        #endif
> +
> +         float refreshmin, refreshmax;
> +         if (XMLUtils::GetFloat(pRefreshOverride, "refreshmin", refreshmin) &&
> +diff --git a/xbmc/settings/GUISettings.cpp b/xbmc/settings/GUISettings.cpp
> +index c1820a7..c00fb18 100644
> +--- a/xbmc/settings/GUISettings.cpp
> ++++ b/xbmc/settings/GUISettings.cpp
> +@@ -537,11 +537,11 @@ void CGUISettings::Initialize()
> +   AddInt(NULL, "input.appleremotesequencetime", 13603, 500, 50, 50, 1000, SPIN_CONTROL_INT_PLUS, MASK_MS, TEXT_OFF);
> +   AddSeparator(in, "input.sep1");
> + #endif
> +-  AddBool(in, "input.remoteaskeyboard", 21449, false);
> ++  AddBool(in, "input.remoteaskeyboard", 21449, true);
> + #if defined(TARGET_DARWIN_IOS)
> +   AddBool(NULL, "input.enablemouse", 21369, true);
> + #else
> +-  AddBool(in, "input.enablemouse", 21369, true);
> ++  AddBool(in, "input.enablemouse", 21369, false);
> + #endif
> + #if defined(HAS_SDL_JOYSTICK)
> +   AddBool(in, "input.enablejoystick", 35100, true);
> +@@ -831,7 +831,7 @@ void CGUISettings::Initialize()
> +
> + #ifdef HAS_WEB_SERVER
> +   CSettingsCategory* srvWeb = AddCategory(SETTINGS_SERVICE, "webserver", 33101);
> +-  AddBool(srvWeb,  "services.webserver",        263, false);
> ++  AddBool(srvWeb,  "services.webserver",        263, true);
> +   AddString(srvWeb,"services.webserverport",    730, CUtil::CanBindPrivileged()?"80":"8080", EDIT_CONTROL_NUMBER_INPUT, false, 730);
> +   AddString(srvWeb,"services.webserverusername",1048, "xbmc", EDIT_CONTROL_INPUT);
> +   AddString(srvWeb,"services.webserverpassword",733, "", EDIT_CONTROL_HIDDEN_INPUT, true, 733);
> +@@ -881,7 +881,7 @@ void CGUISettings::Initialize()
> +   AddInt(laf, "lookandfeel.startupwindow",512,1, WINDOW_HOME, 1, WINDOW_PYTHON_END, SPIN_CONTROL_TEXT);
> +   AddString(laf, "lookandfeel.soundskin",15108,"SKINDEFAULT", SPIN_CONTROL_TEXT);
> +   AddSeparator(laf, "lookandfeel.sep2");
> +-  AddBool(laf, "lookandfeel.enablerssfeeds",13305,  true);
> ++  AddBool(laf, "lookandfeel.enablerssfeeds",13305,  false);
> +   AddString(laf, "lookandfeel.rssedit", 21450, "", BUTTON_CONTROL_STANDARD);
> +
> +   CSettingsCategory* loc = AddCategory(SETTINGS_APPEARANCE, "locale", 14090);
> +diff --git a/xbmc/settings/GUIWindowSettingsCategory.cpp b/xbmc/settings/GUIWindowSettingsCategory.cpp
> +index b4cee69..a9bcb7a 100644
> +--- a/xbmc/settings/GUIWindowSettingsCategory.cpp
> ++++ b/xbmc/settings/GUIWindowSettingsCategory.cpp
> +@@ -1271,7 +1271,7 @@ void CGUIWindowSettingsCategory::OnSettingChanged(CBaseSettingControl *pSettingC
> +       if (!g_application.StartWebServer())
> +       {
> +         CGUIDialogOK::ShowAndGetInput(g_localizeStrings.Get(33101), "", g_localizeStrings.Get(33100), "");
> +-        g_guiSettings.SetBool("services.webserver", false);
> ++        g_guiSettings.SetBool("services.webserver", true);
> +       }
> +   }
> +   else if (strSetting.Equals("services.webserverusername") || strSetting.Equals("services.webserverpassword"))
> +@@ -1292,7 +1292,7 @@ void CGUIWindowSettingsCategory::OnSettingChanged(CBaseSettingControl *pSettingC
> +     else
> +     {
> +       g_application.StopAirplayServer(true);
> +-      g_guiSettings.SetBool("services.airplay", false);
> ++      g_guiSettings.SetBool("services.airplay", true);
> +       CZeroconf::GetInstance()->Stop();
> +     }
> + #endif
> +--
> +1.7.10.4
> diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
> new file mode 100644
> index 0000000..f6aacc3
> --- /dev/null
> +++ b/package/xbmc/xbmc.mk
> @@ -0,0 +1,149 @@
> +################################################################################
> +#
> +# xbmc
> +#
> +################################################################################
> +
> +XBMC_VERSION = 12.3-Frodo
> +XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))
> +XBMC_LICENSE = GPLv2
> +XBMC_LICENSE_FILES = LICENSE.GPL
> +XBMC_DEPENDENCIES = 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 lzo ncurses \
> +	openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
> +
> +XBMC_CONF_ENV += PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)"
> +XBMC_CONF_ENV += PYTHON_LDFLAGS="-L$(STAGING_DIR)/usr/lib/ -lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm"
> +XBMC_CONF_ENV += PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)"
> +XBMC_CONF_ENV += PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"
> +XBMC_CONF_ENV += PYTHON_NOVERSIONCHECK="no-check"
> +XBMC_CONF_ENV += TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
> +
> +XBMC_CONF_OPT +=  --disable-alsa --disable-crystalhd --disable-debug \
> +	--disable-dvdcss --disable-gl --disable-hal --disable-joystick \
> +	--disable-mysql --disable-openmax --disable-optical-drive \
> +	--disable-projectm --disable-pulse --disable-sdl --disable-ssh \
> +	--disable-vaapi --disable-vdpau --disable-vtbdecoder --disable-x11 \
> +	--disable-xrandr --enable-gles --enable-optimizations
> +
> +ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
> +XBMC_DEPENDENCIES += rpi-userland
> +XBMC_CONF_OPT += --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"
> +endif
> +
> +ifeq ($(BR2_PACKAGE_DBUS),y)
> +XBMC_DEPENDENCIES += dbus
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
> +XBMC_DEPENDENCIES += libusb-compat
> +XBMC_CONF_OPT += --enable-libusb
> +else
> +XBMC_CONF_OPT += --disable-libusb
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBMICROHTTPD),y)
> +XBMC_DEPENDENCIES += libmicrohttpd
> +XBMC_CONF_OPT += --enable-webserver
> +else
> +XBMC_CONF_OPT += --disable-webserver
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBSMBCLIENT),y)
> +XBMC_DEPENDENCIES += samba
> +XBMC_CONF_OPT += --enable-samba
> +else
> +XBMC_CONF_OPT += --disable-samba
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBNFS),y)
> +XBMC_DEPENDENCIES += libnfs
> +XBMC_CONF_OPT += --enable-nfs
> +else
> +XBMC_CONF_OPT += --disable-nfs
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_RTMPDUMP),y)
> +XBMC_DEPENDENCIES += rtmpdump
> +XBMC_CONF_OPT += --enable-rtmp
> +else
> +XBMC_CONF_OPT += --disable-rtmp
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBBLURAY),y)
> +XBMC_DEPENDENCIES += libbluray
> +XBMC_CONF_OPT += --enable-libbluray
> +else
> +XBMC_CONF_OPT += --disable-libbluray
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBSHAIRPLAY),y)
> +XBMC_DEPENDENCIES += libshairplay
> +XBMC_CONF_OPT += --enable-airplay
> +else
> +XBMC_CONF_OPT += --disable-airplay
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_AVAHI),y)
> +XBMC_DEPENDENCIES += avahi
> +XBMC_CONF_OPT += --enable-avahi
> +else
> +XBMC_CONF_OPT += --disable-avahi
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_LIBCEC),y)
> +XBMC_DEPENDENCIES += libcec
> +XBMC_CONF_OPT += --enable-libcec
> +else
> +XBMC_CONF_OPT += --disable-libcec
> +endif
> +
> +ifeq ($(BR2_PACKAGE_XBMC_WAVPACK),y)
> +XBMC_DEPENDENCIES += wavpack
> +endif
> +
> +# Add HOST_DIR to PATH for codegenerator.mk to find swig
> +# TODO: java binary from user's machine is currently used...
> +define XBMC_BOOTSTRAP
> +	cd $(@D) && PATH="$(HOST_DIR)/usr/bin/:$(PATH)" ./bootstrap
> +endef
> +
> +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
> +
> +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
> +
> +define XBMC_INSTALL_INIT_SYSV
> +	[ -f $(TARGET_DIR)/etc/init.d/S50xbmc ] || \
> +		$(INSTALL) -D -m 755 package/xbmc/S50xbmc \
> +		$(TARGET_DIR)/etc/init.d/S50xbmc
> +endef
> +
> +define XBMC_INSTALL_INIT_SYSTEMD
> +	[ -f $(TARGET_DIR)/etc/systemd/system/xbmc.service ] || \
> +		$(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
> +
> +XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP
> +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_INSTALL_ETC
> +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_UNUSED_ADDONS
> +XBMC_POST_INSTALL_TARGET_HOOKS += XBMC_CLEAN_CONFLUENCE_SKIN
> +
> +$(eval $(autotools-package))
> diff --git a/package/xbmc/xbmc.service b/package/xbmc/xbmc.service
> new file mode 100644
> index 0000000..3fe5895
> --- /dev/null
> +++ b/package/xbmc/xbmc.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description = XBMC media center
> +After = network.target
> +
> +[Service]
> +Type = simple
> +ExecStart = /usr/lib/xbmc/xbmc.bin --standalone -fs -n
> +Restart = on-failure
> +
> +[Install]
> +WantedBy = multi-user.target
> +

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 20:45   ` Jerzy Grzegorek
@ 2014-02-16 20:52     ` Maxime Hadjinlian
  0 siblings, 0 replies; 12+ messages in thread
From: Maxime Hadjinlian @ 2014-02-16 20:52 UTC (permalink / raw)
  To: buildroot

Hi Jerzy, all
On Sun, Feb 16, 2014 at 9:45 PM, Jerzy Grzegorek
<jerzy.grzegorek@trzebnica.net> wrote:
>
> Hi Maxime,
>
>
>> +       select BR2_PACKAGE_SQLITE
>> +       select BR2_PACKAGE_TAGLIB
>> +       select BR2_PACKAGE_TIFF
>> +       select BR2_PACKAGE_TIFF
>
>
> Why two times?
>
> Regards,
> Jerzy
>
>
Because of a copy-paste mistake :).
Thanks for pointing that out.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 19:55   ` Thomas De Schampheleire
  2014-02-16 20:37     ` Maxime Hadjinlian
@ 2014-02-16 20:57     ` Yann E. MORIN
  2014-02-17  6:11       ` Thomas De Schampheleire
  1 sibling, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2014-02-16 20:57 UTC (permalink / raw)
  To: buildroot

Amxime, All,

On 2014-02-16 20:55 +0100, Thomas De Schampheleire spake thusly:
> Maxime Hadjinlian <maxime.hadjinlian@gmail.com> schreef:
[--SNIP--]
> >+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
> >+	bool "libshairport"
> >+	select BR2_PACKAGE_LIBSHAIRPLAY
> >+	depends on BR2_INET_IPV6
> >+	help
> >+	  Enable shairport support.
> >+	  Select this if you want to stream content from Apple device.
> 
> an Apple device

Or:  Apple devices.  (plural).

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH v6 4/4] xbmc: new package
  2014-02-16 20:57     ` Yann E. MORIN
@ 2014-02-17  6:11       ` Thomas De Schampheleire
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas De Schampheleire @ 2014-02-17  6:11 UTC (permalink / raw)
  To: buildroot

"Yann E. MORIN" <yann.morin.1998@free.fr> schreef:
>Amxime, All,
>
>On 2014-02-16 20:55 +0100, Thomas De Schampheleire spake thusly:
>> Maxime Hadjinlian <maxime.hadjinlian@gmail.com> schreef:
>[--SNIP--]
>> >+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
>> >+	bool "libshairport"
>> >+	select BR2_PACKAGE_LIBSHAIRPLAY
>> >+	depends on BR2_INET_IPV6
>> >+	help
>> >+	  Enable shairport support.
>> >+	  Select this if you want to stream content from Apple device.
>> 
>> an Apple device
>
>Or:  Apple devices.  (plural).

Even better...

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-02-17  6:11 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-16 13:27 [Buildroot] [PATCH v6 0/4] Introducing XBMC Maxime Hadjinlian
2014-02-16 13:27 ` [Buildroot] [PATCH v6 1/4] sdl: add host version Maxime Hadjinlian
2014-02-16 13:27 ` [Buildroot] [PATCH v6 2/4] sdl_image: " Maxime Hadjinlian
2014-02-16 13:27 ` [Buildroot] [PATCH v6 3/4] dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA Maxime Hadjinlian
2014-02-16 13:45   ` Maxime Hadjinlian
2014-02-16 13:27 ` [Buildroot] [PATCH v6 4/4] xbmc: new package Maxime Hadjinlian
2014-02-16 19:55   ` Thomas De Schampheleire
2014-02-16 20:37     ` Maxime Hadjinlian
2014-02-16 20:57     ` Yann E. MORIN
2014-02-17  6:11       ` Thomas De Schampheleire
2014-02-16 20:45   ` Jerzy Grzegorek
2014-02-16 20:52     ` Maxime Hadjinlian

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.