Introducing XBMC
v6 cover Introducing XBMC
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
PATCH v6 1/4 sdl: add host version
Host version is needed to build xbmc
---
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(+)
package/sdl/sdl.mk +2 -0
@@ -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))
Signature · 1 line
1.8.5.3
PATCH v6 2/4 sdl_image: add host version
In reply to Maxime HadjinlianHost version is needed to build xbmc
---
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(+)
package/sdl_image/sdl_image.mk +11 -0
@@ -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))
Signature · 1 line
1.8.5.3
PATCH v6 3/4 dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA
In reply to Maxime HadjinlianXBMC 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
---
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(+)
support/dependencies/dependencies.sh +8 -0
@@ -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
Signature · 1 line
1.8.5.3
PATCH v6 3/4 dependencies.sh: Introduce BR2_HOST_NEEDS_JAVA
Hi all,
Quoted 33 lines · Maxime Hadjinlian
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_worksIn order to check that, this patch introduce this mechanism in
dependencies.shSigned-off-by Maxime Hadjinlian <[email protected]>---
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(+)support/dependencies/dependencies.sh +0
-0
support/dependencies/dependencies.sh if grep -q ^BR2_PACKAGE_CLASSPATH=y $BR2_CONFIG ; then · line 200
Quoted 10 lines
support/dependencies/dependencies.sh +7
-0@@ -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.
Quoted 7 lines
support/dependencies/dependencies.sh +1
-1+ 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
PATCH v6 4/4 xbmc: new package
In reply to Maxime HadjinlianXBMC 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 <[email protected]>
---
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
package/Config.in +1 -0
@@ -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
package/xbmc/Config.in new file +166 -0
166 lines not on this page · raw message
package/xbmc/S50xbmc new file +41 -0
41 lines not on this page · raw message
package/xbmc/xbmc-0001-Fixup-include-path.patch new file +79 -0
79 lines not on this page · raw message
package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +167 -0
167 lines not on this page · raw message
package/xbmc/xbmc.mk new file +149 -0
149 lines not on this page · raw message
package/xbmc/xbmc.service new file +12 -0
@@ -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 +
Signature · 1 line
1.8.5.3
PATCH v6 4/4 xbmc: new package
Hi Maxime,
Maxime Hadjinlian <[email protected]> schreef:
Quoted 60 lines
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 <[email protected]>Signed-off-by Maxime Hadjinlian <[email protected]>Cc gimli <[email protected]>---
Changes v5 -> v6:
- Fix missing depends on OpenGL (Yann E. Morin)
- RemoveLIBCEC_RBPConfig option (Yann E. Morin)
- Fix dependency that were, in the end, not optionnal (Martin Bark)
- Fix OpenGL check (Martin Bark)
- UsesBR2_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 100644package/xbmc/xbmc-0001-Fixup-include-path.patchcreate mode 100644package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patchcreate mode 100644package/xbmc/xbmc.mk
create mode 100644 package/xbmc/xbmc.servicepackage/Config.in +0
-0@@ -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"
endmenupackage/xbmc/Config.in new file +0
-0
package/xbmc/Config.in line 5
Quoted 5 lines
package/xbmc/Config.in new file +5
-0@@ -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...
package/xbmc/Config.in line 6
Quoted 1 line
package/xbmc/Config.in new file +1
-0+ 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?
Quoted 72 lines
package/xbmc/Config.in new file +72
-0+ +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"
package/xbmc/Config.in line 88
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ 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)
package/xbmc/Config.in line 97
Quoted 9 lines
package/xbmc/Config.in new file +9
-0+ +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...
package/xbmc/Config.in line 100
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+ +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.
Quoted 7 lines
package/xbmc/Config.in new file +7
-0+ +config BR2_PACKAGE_XBMC_LIBMICROHTTPD + bool "libmicrohttpd" + select BR2_PACKAGE_LIBMICROHTTPD + help + Enable webserver feature +
package/xbmc/Config.in line 117
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+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.
Quoted 5 lines
package/xbmc/Config.in new file +5
-0+ +config BR2_PACKAGE_XBMC_RTMPDUMP + bool "librtmp" + select BR2_PACKAGE_RTMPDUMP + help
package/xbmc/Config.in line 132
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ 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
package/xbmc/Config.in line 135
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+ +comment "libshairport support requires a toolchain with IPV6 support" + depends on !(BR2_INET_IPV6)
Comment not ok.
Quoted 21 lines
package/xbmc/Config.in new file +21
-0+ +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
package/xbmc/Config.in line 166
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ 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
PATCH v6 4/4 xbmc: new package
Hi Thomas, all,
Quoted 72 lines · Thomas De Schampheleire
Hi Maxime,
Maxime Hadjinlian <[email protected]> schreef:
Quoted 60 lines
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 <[email protected]>Signed-off-by Maxime Hadjinlian <[email protected]>Cc gimli <[email protected]>---
Changes v5 -> v6:
- Fix missing depends on OpenGL (Yann E. Morin)
- RemoveLIBCEC_RBPConfig option (Yann E. Morin)
- Fix dependency that were, in the end, not optionnal (Martin Bark)
- Fix OpenGL check (Martin Bark)
- UsesBR2_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 100644package/xbmc/xbmc-0001-Fixup-include-path.patchcreate mode 100644package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patchcreate mode 100644package/xbmc/xbmc.mk
create mode 100644 package/xbmc/xbmc.servicepackage/Config.in +0
-0@@ -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"
endmenupackage/xbmc/Config.in new file +0
-0package/xbmc/Config.in line 5
Quoted 5 lines
package/xbmc/Config.in new file +5
-0@@ -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...
Quoted 3 lines
package/xbmc/Config.in line 6
Quoted 1 line
package/xbmc/Config.in new file +1
-0+ depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR) || BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_BUILDROOTWhy 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.
Quoted 172 lines
Quoted 73 lines
package/xbmc/Config.in new file +72
-0+ +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"package/xbmc/Config.in line 88
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ 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)
package/xbmc/Config.in line 97
Quoted 9 lines
package/xbmc/Config.in new file +9
-0+ +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...
package/xbmc/Config.in line 100
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+ +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.
Quoted 7 lines
package/xbmc/Config.in new file +7
-0+ +config BR2_PACKAGE_XBMC_LIBMICROHTTPD + bool "libmicrohttpd" + select BR2_PACKAGE_LIBMICROHTTPD + help + Enable webserver feature +package/xbmc/Config.in line 117
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+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.
Quoted 5 lines
package/xbmc/Config.in new file +5
-0+ +config BR2_PACKAGE_XBMC_RTMPDUMP + bool "librtmp" + select BR2_PACKAGE_RTMPDUMP + helppackage/xbmc/Config.in line 132
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ 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
package/xbmc/Config.in line 135
Quoted 3 lines
package/xbmc/Config.in new file +3
-0+ +comment "libshairport support requires a toolchain with IPV6 support" + depends on !(BR2_INET_IPV6)Comment not ok.
Quoted 23 lines
package/xbmc/Config.in new file +23
-0+ +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. +
Quoted 9 lines
package/xbmc/Config.in line 166
Quoted 8 lines
package/xbmc/Config.in new file +8
-0+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.
Quoted 3 lines
Best regards,
Thomas
PATCH v6 4/4 xbmc: new package
In reply to Thomas De SchampheleireAmxime, All,
On 2014-02-16 20:55 +0100, Thomas De Schampheleire spake thusly:
Quoted 1 line
Maxime Hadjinlian <[email protected]> schreef:
[--SNIP--]
Quoted 9 lines
package/xbmc/Config.in line 132
Quoted 7 lines
package/xbmc/Config.in new file +7
-0+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.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH v6 4/4 xbmc: new package
"Yann E. MORIN" <[email protected]> schreef:
Quoted 15 lines
Amxime, All,
On 2014-02-16 20:55 +0100, Thomas De Schampheleire spake thusly:
Quoted 1 line
Maxime Hadjinlian <[email protected]> schreef:
[--SNIP--]
Quoted 9 lines
package/xbmc/Config.in line 132
Quoted 7 lines
package/xbmc/Config.in new file +7
-0+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
Quoted 1 line
Or: Apple devices. (plural).
Even better...
PATCH v6 4/4 xbmc: new package
In reply to Maxime HadjinlianHi Maxime,
Quoted 104 lines
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 <[email protected]>Signed-off-by Maxime Hadjinlian <[email protected]>Cc gimli <[email protected]>---
Changes v5 -> v6:
- Fix missing depends on OpenGL (Yann E. Morin)
- RemoveLIBCEC_RBPConfig option (Yann E. Morin)
- Fix dependency that were, in the end, not optionnal (Martin Bark)
- Fix OpenGL check (Martin Bark)
- UsesBR2_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 100644package/xbmc/xbmc-0001-Fixup-include-path.patchcreate mode 100644package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patchcreate mode 100644package/xbmc/xbmc.mk
create mode 100644 package/xbmc/xbmc.servicepackage/Config.in +1
-0@@ -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" endmenupackage/xbmc/Config.in new file +44
-0@@ -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
package/xbmc/Config.in line 54
Quoted 10 lines
package/xbmc/Config.in new file +10
-0+ 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
Quoted 590 lines
package/xbmc/Config.in new file +112
-0+ 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. + +endifpackage/xbmc/S50xbmc new file +41
-0@@ -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 $?package/xbmc/xbmc-0001-Fixup-include-path.patch new file +79
-0@@ -0,0 +1,79 @@ +From 63c255f1f5d68363f49193aceed343e602dc8bdf Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian <[email protected]> +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 +package/xbmc/xbmc-0002-RaspberryPi-Default-Settings.patch new file +167
-0@@ -0,0 +1,167 @@ +From 2541772a3ed71402a620466feb6a337b40f08880 Mon Sep 17 00:00:00 2001 +From: Maxime Hadjinlian <[email protected]> +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.4package/xbmc/xbmc.mk new file +149
-0@@ -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))package/xbmc/xbmc.service new file +12
-0@@ -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 +
PATCH v6 4/4 xbmc: new package
Hi Jerzy, all
Quoted 10 lines · Jerzy Grzegorek
Hi Maxime,
package/xbmc/Config.in line 54
Quoted 4 lines
package/xbmc/Config.in new file +4
-0+ select BR2_PACKAGE_SQLITE + select BR2_PACKAGE_TAGLIB + select BR2_PACKAGE_TIFF + select BR2_PACKAGE_TIFF
Quoted 6 lines
Why two times?
Regards,
Jerzy
Because of a copy-paste mistake :).
Thanks for pointing that out.