Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Bark <martin@barkynet.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v5 5/5] xbmc: new package
Date: Fri, 14 Feb 2014 22:59:42 +0000	[thread overview]
Message-ID: <52FE9FDE.4090102@barkynet.com> (raw)
In-Reply-To: <1392332394-27935-6-git-send-email-maxime.hadjinlian@gmail.com>

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 <ebsi4711@gmail.com>
>
> Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
> Cc: gimli <ebsi4711@gmail.com>
> ---
> 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

  reply	other threads:[~2014-02-14 22:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-13 22:59 [Buildroot] [PATCH v5 0/5] Introducing XBMC Maxime Hadjinlian
2014-02-13 22:59 ` [Buildroot] [PATCH v5 1/5] sdl: fix autoreconf timing issue Maxime Hadjinlian
2014-02-13 23:03   ` Maxime Hadjinlian
2014-02-13 22:59 ` [Buildroot] [PATCH v5 2/5] sdl: add host version Maxime Hadjinlian
2014-02-13 22:59 ` [Buildroot] [PATCH v5 3/5] sdl_image: " Maxime Hadjinlian
2014-02-13 22:59 ` [Buildroot] [PATCH v5 4/5] dependencies.sh: XBMC needs java on the host Maxime Hadjinlian
2014-02-14  8:39   ` Thomas Petazzoni
2014-02-14  8:59     ` Maxime Hadjinlian
2014-02-14 12:51     ` Mike Zick
2014-02-14 13:27       ` Maxime Hadjinlian
2014-02-14 20:35   ` Martin Bark
2014-02-14 23:33     ` Maxime Hadjinlian
2014-02-13 22:59 ` [Buildroot] [PATCH v5 5/5] xbmc: new package Maxime Hadjinlian
2014-02-14 22:59   ` Martin Bark [this message]
2014-02-14 23:51     ` Maxime Hadjinlian
2014-02-15 12:03       ` Maxime Hadjinlian
2014-02-18 15:43       ` Martin Bark
2014-02-18 15:50         ` Maxime Hadjinlian
2014-02-18 16:20           ` Martin Bark
2014-02-15 11:51   ` Yann E. MORIN
2014-02-15 12:07     ` Maxime Hadjinlian
2014-02-14  6:08 ` [Buildroot] [PATCH v5 0/5] Introducing XBMC Bernd Kuhls
2014-02-14 22:41 ` Martin Bark
2014-02-14 23:53   ` Maxime Hadjinlian

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52FE9FDE.4090102@barkynet.com \
    --to=martin@barkynet.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox