All of 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 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.