From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Bark Date: Fri, 14 Feb 2014 22:59:42 +0000 Subject: [Buildroot] [PATCH v5 5/5] xbmc: new package In-Reply-To: <1392332394-27935-6-git-send-email-maxime.hadjinlian@gmail.com> References: <1392332394-27935-1-git-send-email-maxime.hadjinlian@gmail.com> <1392332394-27935-6-git-send-email-maxime.hadjinlian@gmail.com> Message-ID: <52FE9FDE.4090102@barkynet.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Maxime, Below are some comments, hope they help. On 13/02/14 22:59, Maxime Hadjinlian wrote: > 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 > > Signed-off-by: Maxime Hadjinlian > Cc: gimli > --- > 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 | 202 +++++++++++++++++++++ > package/xbmc/S50xbmc | 41 +++++ > package/xbmc/xbmc-0001-Fixup-include-path.patch | 79 ++++++++ > .../xbmc-0002-RaspberryPi-Default-Settings.patch | 167 +++++++++++++++++ > package/xbmc/xbmc.mk | 175 ++++++++++++++++++ > package/xbmc/xbmc.service | 12 ++ > 7 files changed, 677 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..e3e96ef > --- /dev/null > +++ b/package/xbmc/Config.in > @@ -0,0 +1,202 @@ > +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_PACKAGE_BOOST > + select BR2_PACKAGE_BOOST_THREAD > + select BR2_PACKAGE_BZIP2 > + select BR2_PACKAGE_EXPAT > + select BR2_PACKAGE_JASPER > + select BR2_PACKAGE_LIBCDIO > + select BR2_PACKAGE_LIBCURL > + select BR2_PACKAGE_LIBFRIBIDI > + select BR2_PACKAGE_LIBGCRYPT > + select BR2_PACKAGE_LIBMODPLUG > + select BR2_PACKAGE_LIBMPEG2 > + select BR2_PACKAGE_LIBUNGIF > + select BR2_PACKAGE_LZO > + 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_TINYXML > + select BR2_PACKAGE_YAJL > + select BR2_PACKAGE_ZLIB > + depends on BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && !BR2_TOOLCHAIN_USES_UCLIBC > + depends on !BR2_TOOLCHAIN_BUILDROOT I think you have missed the following depends on BR2_PACKAGE_HAS_OPENGL_EGL && BR2_PACKAGE_HAS_OPENGL_ES Currently you can compile xbmc without any opengl support and it just fails at the configure step. -- snip -- > diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk > new file mode 100644 > index 0000000..db43a9f > --- /dev/null > +++ b/package/xbmc/xbmc.mk > @@ -0,0 +1,175 @@ > +################################################################################ > +# > +# 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 I think you need to add host-gperf, i had to add this for xmbc to compile. > +XBMC_DEPENDENCIES += libmpeg2 bzip2 libcdio python lzo zlib libgcrypt openssl \ > + sqlite fontconfig freetype jasper jpeg libmodplug libpng libungif tiff \ > + libcurl boost libfribidi ncurses pcre libplist readline expat libxml2 yajl \ > + tinyxml taglib The config.in does not select fontconfig, freetype, jpeg, libpng, tiff, ncurses, libplist and libxml2 but you specify them as dependencies. Are these really dependencies? Should config.in select them? > + > +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-sdl --disable-x11 --disable-xrandr --disable-openmax \ > + --disable-optical-drive --disable-dvdcss --disable-joystick \ > + --disable-debug --disable-crystalhd --disable-vtbdecoder --disable-vaapi \ > + --disable-vdpau --disable-pulse --disable-projectm --enable-optimizations \ > + --disable-alsa --disable-ssh --disable-hal --disable-mysql > + > +ifeq ($(BR2_arm),y) > +XBMC_CONF_OPT += --enable-gles --disable-gl > +endif Should this be ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL),y) ? If xbmc requires on opengl is this test even needed ? Thanks Martin