Discussion:
[PATCH 0/30 v11] xbmc: bump version to 13.1 (branch yem/bernd/xbmc-10)
(too old to reply)
Yann E. MORIN
2014-05-28 11:08:47 UTC
Permalink
From: "Yann E. MORIN" <***@free.fr>

Hello All!

This is version 11 of the XBMC bump to Gotham, initiated by Bernd.

This version reorders the series so that we can quickly bump XBMC, to
keep an iso-functional setup (mostly: on the Raspberry Pi), then new
required packages and dependencies, to finally enable building XBMC
on a full-openGL capable system.

I'm a bit disapointed I did not find enough free time to test the x86 +
full-openGL side of the series, but the bump in itself is already a good
thing.

Kudos to Bernd for the initial work (and conscencious re-spins when
asked to) :-)

Changes v10 -> v11:
- series re-ordering
- add new required gconv-related patch (to be discussed)
- some commit logs massaging

v10: - reworked patch series based on comments by Yann
- added comment to xproto_dri3proto
- removed emtpy line from libva
- added comment to libglu
- fix libpng support in xbmc´s rsxs screensaver
- bump mesa3d version to 10.2-rc4
v9: - reworked patch series based on comments by Yann & Arnout:
- moved some patches before xbmc version bump for bisectability
- removed iconv patch to SDL, to be checked later
- removed rtmpdump/KSV patch from series, to be checked later
- added description to mesa3d/xorg meta package dependency
- reworked OpenGL/egl+gles logic in package/xbmc/
- bump xbmc to 13.1 Beta2
- cec needs udev to be useful
v8: - squashed "[v7 29/31] ffmpeg cross-compile" into
"[v8 16/28] Gotham bump" (Thomas)
- squashed "[v7 21/31] ***@arm" & "[v7 31/31] ipv6"
patches into "[v8 20/28] uclibc" patch (Thomas/Yann)
- xbmc-pvr-addons: updated comment (Yann)
v7: - rebased
- bump mesa3d version to 10.2-rc3
- included v2 of "xproto_dri3proto: New package"
v6: - bump mesa3d version to 10.2-rc2
- bump libva and libva-intel-driver to 1.3.1


Regards,
Yann E. MORIN.


The following changes since commit fe823b63741ba8eca70a534207d655f5affa927c:

dropbear: fix missing directory with systemd (2014-05-28 10:01:44 +0200)

are available in the git repository at:

git://gitorious.org/buildroot/buildroot.git yem/bernd/xbmc-10

for you to fetch changes up to 3a8332b3d4dd4c21f13e4f7de796cb4da39e69cd:

xbmc: Add VA-API support (2014-05-28 11:42:26 +0200)

----------------------------------------------------------------
Bernd Kuhls (29):
xbmc: add host-gettext dependency
xbmc: add host-nasm dependency
xbmc: add host-yasm dependency for MMX/64bit archs
xbmc: add missing egl-related cflags
xbmc: hdmi cec supports needs udev for device scanning
xbmc: bump version to 13.1-RC1
xbmc-pvr-addons: bump to a version compatible with XBMC Gotham
xbmc-addon-xvdr: bump to a version compatible with XBMC Gotham
xproto_dri3proto: New package
mesa3d: Bump version to 10.2-rc4, fix xa build
mesa3d: Depend on xorg meta package instead of xserver_xorg-server
mesa3d: add dependency xproto_presentproto
mesa3d: Remove dependency for the libxml2 module of host-python
mesa3d: Add dri3 support
mesa3d: dri2 does not need udev support
libva: new package
libva-intel-driver: new package
ffmpeg: Add libva support
libglu: new package
libglew: new package
sdl: Add new dependency libglu for opengl support
xdriver_xf86-video-intel: Bump version to 2.99.911
xbmc: Allow compilation with uClibc
xbmc: Add alsa support
xbmc: Add lame support
xbmc: Fix TexturePacker compile
xbmc: Add X.org/OpenGL support
xbmc: Add option for Goom screensaver
xbmc: Add VA-API support

Yann E. MORIN (1):
toolchain: add option to copy the gconv libraries

Makefile | 6 +
package/Config.in | 4 +
package/ffmpeg/ffmpeg.mk | 8 +-
package/libglew/Config.in | 19 ++
package/libglew/libglew.mk | 36 ++++
package/libglu/Config.in | 10 +
package/libglu/libglu.mk | 17 ++
package/libva-intel-driver/Config.in | 19 ++
package/libva-intel-driver/libva-intel-driver.mk | 29 +++
package/libva/Config.in | 18 ++
package/libva/libva-0001-no_test_decode.patch | 17 ++
package/libva/libva.mk | 56 ++++++
package/libxml2/Config.in | 3 -
package/libxml2/libxml2-python2.patch | 27 ---
package/libxml2/libxml2.mk | 16 +-
package/mesa3d/Config.in | 24 +--
.../mesa3d-0002-dri2-does-not-need-udev.patch | 25 +++
package/mesa3d/mesa3d.mk | 27 ++-
package/sdl/sdl.mk | 3 +-
package/x11r7/Config.in | 1 +
package/x11r7/xdriver_xf86-video-intel/Config.in | 5 +-
.../xdriver_xf86-video-intel.mk | 27 ++-
package/x11r7/xproto_dri3proto/Config.in | 4 +
package/x11r7/xproto_dri3proto/xproto_dri3proto.mk | 16 ++
.../xbmc-addon-xvdr-0001-foreign-automake.patch | 28 ---
package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk | 7 +-
package/xbmc-pvr-addons/xbmc-pvr-addons.mk | 7 +-
package/xbmc/Config.in | 59 +++++-
package/xbmc/xbmc-0002-mathutil.patch | 213 +++++++++++++++++++++
package/xbmc/xbmc.mk | 89 +++++++--
toolchain/toolchain-common.in | 10 +
31 files changed, 698 insertions(+), 132 deletions(-)
create mode 100644 package/libglew/Config.in
create mode 100644 package/libglew/libglew.mk
create mode 100644 package/libglu/Config.in
create mode 100644 package/libglu/libglu.mk
create mode 100644 package/libva-intel-driver/Config.in
create mode 100644 package/libva-intel-driver/libva-intel-driver.mk
create mode 100644 package/libva/Config.in
create mode 100644 package/libva/libva-0001-no_test_decode.patch
create mode 100644 package/libva/libva.mk
delete mode 100644 package/libxml2/libxml2-python2.patch
create mode 100644 package/mesa3d/mesa3d-0002-dri2-does-not-need-udev.patch
create mode 100644 package/x11r7/xproto_dri3proto/Config.in
create mode 100644 package/x11r7/xproto_dri3proto/xproto_dri3proto.mk
delete mode 100644 package/xbmc-addon-xvdr/xbmc-addon-xvdr-0001-foreign-automake.patch
create mode 100644 package/xbmc/xbmc-0002-mathutil.patch
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
Yann E. MORIN
2014-05-28 11:08:24 UTC
Permalink
From: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>

The gconv libraries are used to translate between different character
sets (charsets).

In (e)glibc they are implemented by the internal implemenation of
iconv, called gconv, and are provided as dlopen-able libraries.

Some packages need them to present text to the user (eg. XBMC Gotham).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
Cc: Maxime Hadjinlian <maxime.hadjinlian-***@public.gmane.org>
Cc: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
Makefile | 6 ++++++
toolchain/toolchain-common.in | 10 ++++++++++
2 files changed, 16 insertions(+)

diff --git a/Makefile b/Makefile
index b7a0721..7377478 100644
--- a/Makefile
+++ b/Makefile
@@ -395,6 +395,9 @@ ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
ifneq ($(GENERATE_LOCALE),)
TARGETS += target-generatelocales
endif
+ifeq ($(BR2_COPY_GCONV_LIBS),y)
+TARGETS += target-copygconvlibs
+endif
endif

ifeq ($(BR2_ECLIPSE_REGISTER),y)
@@ -620,6 +623,9 @@ target-generatelocales: host-localedef toolchain
done
endif

+target-copygconvlibs:
+ $(Q)cp -a $(STAGING_DIR)/usr/lib/gconv $(TARGET_DIR)/usr/lib/gconv
+
target-post-image: $(TARGETS_ROOTFS) target-finalize
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
$(call MESSAGE,"Executing post-image script $(s)"); \
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 1573e00..59ec64e 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -77,6 +77,16 @@ config BR2_GENERATE_LOCALE
specified, UTF-8 is assumed. Examples of locales: en_US,
fr_FR.UTF-8.

+config BR2_COPY_GCONV_LIBS
+ bool "copy gconv libs"
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ help
+ The gconv libraries are used to convert between different
+ character sets (charsets).
+
+ Say 'y' if you need to store and/or display different charsets.
+ Note that the full set of gconv libraries is worth around 7MiB.
+
# glibc and eglibc directly include gettext, so a separatly compiled
# gettext isn't needed and shouldn't be built to avoid conflicts. Some
# packages always need gettext, other packages only need gettext when
--
1.8.3.2
Maxime Hadjinlian
2014-05-31 15:01:44 UTC
Permalink
Hi Yann, all

We discussed this patch with Yann on IRC, and it may not be the best
solution as it bluntly copy all the files to the target but at least
it solve an issues, it could be refined by following patches.
The issue I had (and IIRC, Jerzy too) with XBMC that led to this
patch, was some subtitles with a non 'utf-8' encoding with some
characters outside the ASCII standard (like 'é') stopped being
displayed as soon as you hit the 'bad' characters.
XBMC tries to convert them, but fail to do so without theses files installed.
Post by Yann E. MORIN
The gconv libraries are used to translate between different character
sets (charsets).
In (e)glibc they are implemented by the internal implemenation of
iconv, called gconv, and are provided as dlopen-able libraries.
Some packages need them to present text to the user (eg. XBMC Gotham).
---
Makefile | 6 ++++++
toolchain/toolchain-common.in | 10 ++++++++++
2 files changed, 16 insertions(+)
diff --git a/Makefile b/Makefile
index b7a0721..7377478 100644
--- a/Makefile
+++ b/Makefile
@@ -395,6 +395,9 @@ ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
ifneq ($(GENERATE_LOCALE),)
TARGETS += target-generatelocales
endif
+ifeq ($(BR2_COPY_GCONV_LIBS),y)
+TARGETS += target-copygconvlibs
+endif
endif
ifeq ($(BR2_ECLIPSE_REGISTER),y)
@@ -620,6 +623,9 @@ target-generatelocales: host-localedef toolchain
done
endif
+ $(Q)cp -a $(STAGING_DIR)/usr/lib/gconv $(TARGET_DIR)/usr/lib/gconv
+
target-post-image: $(TARGETS_ROOTFS) target-finalize
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
$(call MESSAGE,"Executing post-image script $(s)"); \
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 1573e00..59ec64e 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -77,6 +77,16 @@ config BR2_GENERATE_LOCALE
specified, UTF-8 is assumed. Examples of locales: en_US,
fr_FR.UTF-8.
+config BR2_COPY_GCONV_LIBS
+ bool "copy gconv libs"
I know that it has already been told, but anyway, it should be 'Copy'
instead of 'copy'.
Post by Yann E. MORIN
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+ help
+ The gconv libraries are used to convert between different
+ character sets (charsets).
+
+ Say 'y' if you need to store and/or display different charsets.
+ Note that the full set of gconv libraries is worth around 7MiB.
+
# glibc and eglibc directly include gettext, so a separatly compiled
# gettext isn't needed and shouldn't be built to avoid conflicts. Some
# packages always need gettext, other packages only need gettext when
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:25 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

AUTOPOINT=/bin/true does not work anymore since
https://github.com/xbmc/xbmc/commit/42017cba7a62a0cf16896b061a25a25d392e1e46

config.status: error: cannot find input file: `Makefile.in'
configure: error: Submodule lib/cpluff failed to configure

This will be needed for 13.0 Gotham.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index c7a4607..d8b9508 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -12,7 +12,7 @@ XBMC_LICENSE_FILES = LICENSE.GPL
# called TexturePacker. It is responsible to take all the images used in the
# GUI and pack them in a blob.
# http://wiki.xbmc.org/index.php?title=TexturePacker
-XBMC_DEPENDENCIES = host-gawk host-gperf host-infozip host-lzo host-sdl_image host-swig
+XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \
libogg libplist libpng libsamplerate libungif libvorbis libxml2 lzo ncurses \
@@ -133,7 +133,7 @@ endif

# Add HOST_DIR to PATH for codegenerator.mk to find swig
define XBMC_BOOTSTRAP
- cd $(@D) && PATH=$(BR_PATH) AUTOPOINT=/bin/true ./bootstrap
+ cd $(@D) && PATH=$(BR_PATH) ./bootstrap
endef
XBMC_PRE_CONFIGURE_HOOKS += XBMC_BOOTSTRAP
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:26 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Fixes:
checking for nasm... no
configure: error: Could not find a required program. Please see the README for your platform.

This will be needed for 13.0 Gotham.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 3 +++
1 file changed, 3 insertions(+)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index d8b9508..3522802 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -18,6 +18,9 @@ XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
libogg libplist libpng libsamplerate libungif libvorbis libxml2 lzo ncurses \
openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib

+# ***@i386 depends on nasm
+XBMC_DEPENDENCIES += $(if $(BR2_i386),host-nasm)
+
XBMC_CONF_ENV = \
PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" \
PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:27 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Fixes error during xbmc configure:

yasm not found, use --disable-yasm for a crippled build

If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user-pYd9yefT/acdnm+***@public.gmane.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.
configure: error: Submodule lib/ffmpeg failed to configure

This will be needed for 13.0 Gotham.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index 3522802..ffe573f 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -21,6 +21,13 @@ XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
# ***@i386 depends on nasm
XBMC_DEPENDENCIES += $(if $(BR2_i386),host-nasm)

+# ffmpeg depends on yasm on MMX archs
+# xbmc configure passes $(BR2_ARCH) to ffmpeg configure which adds
+# yasm as dependency for x86_64, even if BR2_x86_generic=y
+ifneq ($(BR2_X86_CPU_HAS_MMX)$(BR2_x86_64),)
+XBMC_DEPENDENCIES += host-yasm
+endif
+
XBMC_CONF_ENV = \
PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" \
PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:28 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

A similar patch is used in package/qt/qt.mk.

Fixes compilation error:

In file included from /home/br/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include/EGL/egl.h:36:0,
from /home/br/br/output/build/xbmc-13.0-Gotham/xbmc/windowing/egl/WinSystemEGL.h:28,
from /home/br/br/output/build/xbmc-13.0-Gotham/xbmc/windowing/WindowingFactory.h:39,
from DVDPlayerVideo.cpp:23:
/home/br/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include/EGL/eglplatform.h:118:22: fatal error: X11/Xlib.h: No such file or directory

using this defconfig

BR2_x86_64=y
BR2_x86_corei7=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y

This will be needed for 13.0 Gotham.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index ffe573f..acbdb91 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -70,6 +70,10 @@ ifeq ($(BR2_PACKAGE_DBUS),y)
XBMC_DEPENDENCIES += dbus
endif

+XBMC_CONF_ENV += \
+ CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
+ CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
+
ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
XBMC_DEPENDENCIES += libusb-compat
XBMC_CONF_OPT += --enable-libusb
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:30 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
[yann.morin.1998-***@public.gmane.org: bump to the rc1]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
package/xbmc/Config.in | 1 +
package/xbmc/xbmc.mk | 5 +++--
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
index 52bf0cd..592fdc1 100644
--- a/package/xbmc/Config.in
+++ b/package/xbmc/Config.in
@@ -35,6 +35,7 @@ menuconfig BR2_PACKAGE_XBMC
select BR2_PACKAGE_LIBUNGIF
select BR2_PACKAGE_LIBVORBIS
select BR2_PACKAGE_LIBXML2
+ select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_LZO
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_OPENSSL
diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index 9f44c34..b1a821b 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -4,7 +4,7 @@
#
################################################################################

-XBMC_VERSION = 12.3-Frodo
+XBMC_VERSION = 13.1rc1-Gotham
XBMC_SITE = $(call github,xbmc,xbmc,$(XBMC_VERSION))
XBMC_LICENSE = GPLv2
XBMC_LICENSE_FILES = LICENSE.GPL
@@ -15,7 +15,7 @@ XBMC_LICENSE_FILES = LICENSE.GPL
XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \
- libogg libplist libpng libsamplerate libungif libvorbis libxml2 lzo ncurses \
+ libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib

# ***@i386 depends on nasm
@@ -37,6 +37,7 @@ XBMC_CONF_ENV = \
TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"

XBMC_CONF_OPT += \
+ --with-arch=$(BR2_ARCH) \
--disable-alsa \
--disable-crystalhd \
--disable-debug \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:31 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
package/xbmc-pvr-addons/xbmc-pvr-addons.mk | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/package/xbmc-pvr-addons/xbmc-pvr-addons.mk b/package/xbmc-pvr-addons/xbmc-pvr-addons.mk
index b6d061b..97628e2 100644
--- a/package/xbmc-pvr-addons/xbmc-pvr-addons.mk
+++ b/package/xbmc-pvr-addons/xbmc-pvr-addons.mk
@@ -4,9 +4,10 @@
#
################################################################################

-# This cset is on the branch 'frodo'
-# When XBMC is updated, then this should be updated to the corresponding branch
-XBMC_PVR_ADDONS_VERSION = 319351af7f3b546a5a56cdf6492f6ba1aec1cd2f
+# This cset in on master. When a Gotham branch is made, we should
+# follow it, as incompatible changes in the plugins API can happen
+# on the master branch.
+XBMC_PVR_ADDONS_VERSION = f38b2ebdc6f96244d5e4bc584315f4a2c24bc787
XBMC_PVR_ADDONS_SITE = $(call github,opdenkamp,xbmc-pvr-addons,$(XBMC_PVR_ADDONS_VERSION))
XBMC_PVR_ADDONS_LICENSE = GPLv3+
XBMC_PVR_ADDONS_LICENSE_FILES = COPYING
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:29 UTC
Permalink
From: Bernd Kuhls <***@t-online.de>

libcec support in xbmc compiles without udev being linked to libcec,
but it is useless because xbmc uses libcec´s udev support for scanning
connected CEC devices since:
https://github.com/xbmc/xbmc/commit/59171c7a030f8a9c913abbce931967a6a8ff6897

Signed-off-by: Bernd Kuhls <***@t-online.de>
---
package/xbmc/Config.in | 5 +++--
package/xbmc/xbmc.mk | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
index 4db7378..52bf0cd 100644
--- a/package/xbmc/Config.in
+++ b/package/xbmc/Config.in
@@ -98,13 +98,14 @@ comment "libbluray support needs a toolchain w/ dynamic library"
config BR2_PACKAGE_XBMC_LIBCEC
bool "hdmi cec"
depends on !BR2_PREFER_STATIC_LIB # libcec
+ depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_LIBCEC
help
Enable CEC (Consumer Electronics Control) support.
Select this if you want XBMC to support HDMI CEC.

-comment "hdmi cec support needs a toolchain w/ dynamic library"
- depends on BR2_PREFER_STATIC_LIB
+comment "hdmi cec support needs udev /dev management and a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_HAS_UDEV

config BR2_PACKAGE_XBMC_LIBMICROHTTPD
bool "web server"
diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index acbdb91..9f44c34 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -131,7 +131,7 @@ XBMC_CONF_OPT += --disable-avahi
endif

ifeq ($(BR2_PACKAGE_XBMC_LIBCEC),y)
-XBMC_DEPENDENCIES += libcec
+XBMC_DEPENDENCIES += libcec udev
XBMC_CONF_OPT += --enable-libcec
else
XBMC_CONF_OPT += --disable-libcec
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:32 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Removed patch applied upstream.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
---
.../xbmc-addon-xvdr-0001-foreign-automake.patch | 28 ----------------------
package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk | 7 +++---
2 files changed, 4 insertions(+), 31 deletions(-)
delete mode 100644 package/xbmc-addon-xvdr/xbmc-addon-xvdr-0001-foreign-automake.patch

diff --git a/package/xbmc-addon-xvdr/xbmc-addon-xvdr-0001-foreign-automake.patch b/package/xbmc-addon-xvdr/xbmc-addon-xvdr-0001-foreign-automake.patch
deleted file mode 100644
index 0f49dcf..0000000
--- a/package/xbmc-addon-xvdr/xbmc-addon-xvdr-0001-foreign-automake.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 846b0b5a8b559f94dffadf5b2f95ca845b6ba9f1
-Author: Yann E. MORIN <yann.morin.1998-***@public.gmane.org>
-Date: Wed Mar 26 07:45:58 2014 +0100
-
- configure: set the foreign flag
-
- This is required since we do not bundle the necessary files (NEWS,
- INSTALL et al.) Setting it in configure.in is needed to be able
- to run autoreconf (in lieu of the weird autogen.sh)
-
- Signed-off-by: "Yann E. MORIN" <yann.morin.1998-***@public.gmane.org>
-
-Patch accepted upstream in master:
- https://github.com/pipelka/xbmc-addon-xvdr/commit/84e5860f488e67a3a3386c779f9a56adeb3dc220
-
-diff --git a/configure.in b/configure.in
-index 6e692e1..7be0d18 100755
---- a/configure.in
-+++ b/configure.in
-@@ -12,7 +12,7 @@ AC_CANONICAL_HOST
- AC_CANONICAL_TARGET
-
- dnl Setup for automake
--AM_INIT_AUTOMAKE
-+AM_INIT_AUTOMAKE([foreign])
-
- dnl Check for tools
-
diff --git a/package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk b/package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk
index 28c90f7..1f452de 100644
--- a/package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk
+++ b/package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk
@@ -4,9 +4,10 @@
#
################################################################################

-# This cset is on the branch 'xbmc-frodo'
-# When XBMC is updated, then this should be updated to the corresponding branch
-XBMC_ADDON_XVDR_VERSION = acd4e145fc3220cf708aaf40d895904732dce2c7
+# This cset in on master. When a Gotham branch is made, we should
+# follow it, as incompatible changes in the plugins API can happen
+# on the master branch.
+XBMC_ADDON_XVDR_VERSION = 82b5093ad33847f97a978cb620c9a87d2dbcf7eb
XBMC_ADDON_XVDR_SITE = $(call github,pipelka,xbmc-addon-xvdr,$(XBMC_ADDON_XVDR_VERSION))
XBMC_ADDON_XVDR_LICENSE = GPLv2+
XBMC_ADDON_XVDR_LICENSE_FILES = COPYING
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:33 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

This package does not install any binary files, only headers.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/x11r7/Config.in | 1 +
package/x11r7/xproto_dri3proto/Config.in | 4 ++++
package/x11r7/xproto_dri3proto/xproto_dri3proto.mk | 16 ++++++++++++++++
3 files changed, 21 insertions(+)
create mode 100644 package/x11r7/xproto_dri3proto/Config.in
create mode 100644 package/x11r7/xproto_dri3proto/xproto_dri3proto.mk

diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in
index 8685ca1..087b816 100644
--- a/package/x11r7/Config.in
+++ b/package/x11r7/Config.in
@@ -227,6 +227,7 @@ if BR2_PACKAGE_XORG7
source package/x11r7/xproto_damageproto/Config.in
source package/x11r7/xproto_dmxproto/Config.in
source package/x11r7/xproto_dri2proto/Config.in
+ source package/x11r7/xproto_dri3proto/Config.in
source package/x11r7/xproto_fixesproto/Config.in
source package/x11r7/xproto_fontcacheproto/Config.in
source package/x11r7/xproto_fontsproto/Config.in
diff --git a/package/x11r7/xproto_dri3proto/Config.in b/package/x11r7/xproto_dri3proto/Config.in
new file mode 100644
index 0000000..eead7d4
--- /dev/null
+++ b/package/x11r7/xproto_dri3proto/Config.in
@@ -0,0 +1,4 @@
+config BR2_PACKAGE_XPROTO_DRI3PROTO
+ bool "dri3proto"
+ help
+ X.Org DRI3 protocol headers
diff --git a/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk b/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk
new file mode 100644
index 0000000..9aea458
--- /dev/null
+++ b/package/x11r7/xproto_dri3proto/xproto_dri3proto.mk
@@ -0,0 +1,16 @@
+################################################################################
+#
+# xproto_dri3proto
+#
+################################################################################
+
+XPROTO_DRI3PROTO_VERSION = 1.0
+XPROTO_DRI3PROTO_SOURCE = dri3proto-$(XPROTO_DRI3PROTO_VERSION).tar.bz2
+XPROTO_DRI3PROTO_SITE = http://xorg.freedesktop.org/releases/individual/proto
+XPROTO_DRI3PROTO_LICENSE = MIT
+XPROTO_DRI3PROTO_LICENSE_FILES = COPYING
+XPROTO_DRI3PROTO_INSTALL_STAGING = YES
+# this package does not contain any binary files
+XPROTO_DRI3PROTO_INSTALL_TARGET = NO
+
+$(eval $(autotools-package))
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:34 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Building xa requires at least one non swrast gallium driver, needed since:
http://cgit.freedesktop.org/mesa/mesa/commit/configure.ac?h=10.2&id=e283e966660fdf037be6353dc96b7f63b8aa315a

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/mesa3d/mesa3d.mk | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index fa17177..38bb3ca 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -4,8 +4,8 @@
#
################################################################################

-MESA3D_VERSION = 10.0.4
-MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2
+MESA3D_VERSION = 10.2
+MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).0-rc4.tar.bz2
MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION)
MESA3D_LICENSE = MIT, SGI, Khronos
MESA3D_LICENSE_FILES = docs/license.html
@@ -35,9 +35,13 @@ MESA3D_DEPENDENCIES += \
xlib_libXdamage \
xlib_libXfixes \
libxcb
-MESA3D_CONF_OPT += \
- --enable-glx \
- --enable-xa
+MESA3D_CONF_OPT += --enable-glx
+# quote from mesa3d configure "Building xa requires at least one non swrast gallium driver."
+ifneq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU)$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA),)
+MESA3D_CONF_OPT += --enable-xa
+else
+MESA3D_CONF_OPT += --disable-xa
+endif
else
MESA3D_CONF_OPT += \
--disable-glx \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:35 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

mesa3d does not depend on the xorg server as such, only on X libraries.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/mesa3d/Config.in | 22 +++++++++++-----------
package/mesa3d/mesa3d.mk | 4 ++--
2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 06f2bc3..b645712 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -3,13 +3,13 @@ menuconfig BR2_PACKAGE_MESA3D
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_HOST_LIBXML2_PYTHON
- select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XSERVER_XORG_SERVER
- select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XSERVER_XORG_SERVER
- select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER
- select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER
- select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XSERVER_XORG_SERVER
- select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XSERVER_XORG_SERVER
- select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XSERVER_XORG_SERVER
+ select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
@@ -61,10 +61,10 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
This is a software opengl implementation using the Gallium3D
infrastructure.

-comment "DRI drivers needs an X.Org server and a toolchain w/ dynamic library"
- depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_XSERVER_XORG_SERVER
+comment "DRI drivers needs X.Org and a toolchain w/ dynamic library"
+ depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_XORG7

-if !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XSERVER_XORG_SERVER
+if !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XORG7

comment "DRI drivers"

@@ -91,7 +91,7 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
help
Legacy Radeon driver for R100 series GPUs.

-endif # !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XSERVER_XORG_SERVER
+endif # !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XORG7

if BR2_PACKAGE_MESA3D_DRIVER

diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 38bb3ca..d43476e 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -25,7 +25,7 @@ MESA3D_DEPENDENCIES = \
host-xutil_makedepend \
libdrm

-ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
MESA3D_DEPENDENCIES += \
xproto_xf86driproto \
xproto_dri2proto \
@@ -100,7 +100,7 @@ ifeq ($(BR2_PACKAGE_WAYLAND),y)
MESA3D_DEPENDENCIES += wayland
MESA3D_EGL_PLATFORMS += wayland
endif
-ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
MESA3D_EGL_PLATFORMS += x11
endif
MESA3D_CONF_OPT += \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:36 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/mesa3d/Config.in | 1 +
package/mesa3d/mesa3d.mk | 1 +
2 files changed, 2 insertions(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index b645712..0bea798 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -4,6 +4,7 @@ menuconfig BR2_PACKAGE_MESA3D
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_HOST_LIBXML2_PYTHON
select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index d43476e..db5b55f 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -30,6 +30,7 @@ MESA3D_DEPENDENCIES += \
xproto_xf86driproto \
xproto_dri2proto \
xproto_glproto \
+ xproto_presentproto \
xlib_libX11 \
xlib_libXext \
xlib_libXdamage \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:37 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Remove the ugly BR2_PACKAGE_HOST_LIBXML2_PYTHON hack as well as
mesa3d was the only package needing it, this is not the case
anymore since:

http://cgit.freedesktop.org/mesa/mesa/commit/configure.ac?id=2de70fe23f320ce4f559e37057fe07b7af99cf5a

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/libxml2/Config.in | 3 ---
package/libxml2/libxml2-python2.patch | 27 ---------------------------
package/libxml2/libxml2.mk | 16 +---------------
package/mesa3d/Config.in | 1 -
package/mesa3d/mesa3d.mk | 1 -
5 files changed, 1 insertion(+), 47 deletions(-)
delete mode 100644 package/libxml2/libxml2-python2.patch

diff --git a/package/libxml2/Config.in b/package/libxml2/Config.in
index 85694f9..ebd63fe 100644
--- a/package/libxml2/Config.in
+++ b/package/libxml2/Config.in
@@ -4,6 +4,3 @@ config BR2_PACKAGE_LIBXML2
XML C Parser

http://xmlsoft.org/
-
-config BR2_PACKAGE_HOST_LIBXML2_PYTHON
- bool
diff --git a/package/libxml2/libxml2-python2.patch b/package/libxml2/libxml2-python2.patch
deleted file mode 100644
index 19195a6..0000000
--- a/package/libxml2/libxml2-python2.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Prefer python2 binary in case python points to python3
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
-
-diff -uNr libxml2-2.9.1.org/configure.in libxml2-2.9.1/configure.in
---- libxml2-2.9.1.org/configure.in 2013-04-19 09:25:20.000000000 +0200
-+++ libxml2-2.9.1/configure.in 2014-04-12 14:16:26.579361068 +0200
-@@ -748,6 +748,11 @@
- PYTHON_TESTS=
- pythondir=
- if test "$with_python" != "no" ; then
-+ if test -x "$with_python/bin/python2"
-+ then
-+ echo Found python2 in $with_python/bin/python2
-+ PYTHON="$with_python/bin/python2"
-+ else
- if test -x "$with_python/bin/python"
- then
- echo Found python in $with_python/bin/python
-@@ -773,6 +778,7 @@
- fi
- fi
- fi
-+ fi
- if test "$PYTHON" != ""
- then
- PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
diff --git a/package/libxml2/libxml2.mk b/package/libxml2/libxml2.mk
index 62f3e27..9bf4c28 100644
--- a/package/libxml2/libxml2.mk
+++ b/package/libxml2/libxml2.mk
@@ -20,21 +20,7 @@ LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug --without-lzma

HOST_LIBXML2_DEPENDENCIES = host-pkgconf

-HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma
-
-# mesa3d uses functions that are only available with debug
-ifeq ($(BR2_PACKAGE_MESA3D),y)
-HOST_LIBXML2_CONF_OPT += --with-debug
-else
-HOST_LIBXML2_CONF_OPT += --without-debug
-endif
-
-ifeq ($(BR2_PACKAGE_HOST_LIBXML2_PYTHON),y)
-HOST_LIBXML2_DEPENDENCIES += host-python
-HOST_LIBXML2_CONF_OPT += --with-python=$(HOST_DIR)/usr
-else
-HOST_LIBXML2_CONF_OPT += --without-python
-endif
+HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma --without-python

ifeq ($(BR2_PACKAGE_ZLIB),y)
LIBXML2_DEPENDENCIES += zlib
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 0bea798..10a5f96 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -2,7 +2,6 @@ menuconfig BR2_PACKAGE_MESA3D
bool "Mesa 3D Graphics Library"
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_EXPAT
- select BR2_PACKAGE_HOST_LIBXML2_PYTHON
select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index db5b55f..78b2580 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -20,7 +20,6 @@ MESA3D_DEPENDENCIES = \
host-bison \
host-flex \
host-gettext \
- host-libxml2 \
host-python \
host-xutil_makedepend \
libdrm
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:38 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/mesa3d/mesa3d.mk | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
index 78b2580..f33ab96 100644
--- a/package/mesa3d/mesa3d.mk
+++ b/package/mesa3d/mesa3d.mk
@@ -24,6 +24,13 @@ MESA3D_DEPENDENCIES = \
host-xutil_makedepend \
libdrm

+ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y)
+MESA3D_DEPENDENCIES += xproto_dri3proto
+MESA3D_CONF_OPT += --enable-dri3
+else
+MESA3D_CONF_OPT += --disable-dri3
+endif
+
ifeq ($(BR2_PACKAGE_XORG7),y)
MESA3D_DEPENDENCIES += \
xproto_xf86driproto \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:46 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

- add necessary dependencies
- add -D_GNU_SOURCE to avoid getline compilation error

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/x11r7/xdriver_xf86-video-intel/Config.in | 5 ++--
.../xdriver_xf86-video-intel.mk | 27 +++++++++++++++++-----
2 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/package/x11r7/xdriver_xf86-video-intel/Config.in b/package/x11r7/xdriver_xf86-video-intel/Config.in
index 69a9e78..bba7cd1 100644
--- a/package/x11r7/xdriver_xf86-video-intel/Config.in
+++ b/package/x11r7/xdriver_xf86-video-intel/Config.in
@@ -3,12 +3,13 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL
depends on (BR2_i386 || BR2_x86_64)
depends on BR2_PACKAGE_MESA3D
select BR2_PACKAGE_XPROTO_FONTSPROTO
- select BR2_PACKAGE_XPROTO_RANDRPROTO
- select BR2_PACKAGE_XPROTO_RENDERPROTO
select BR2_PACKAGE_XPROTO_XPROTO
select BR2_PACKAGE_XLIB_LIBPCIACCESS
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_LIBDRM_INTEL
+ select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+ select BR2_PACKAGE_XLIB_LIBXRANDR
+ select BR2_PACKAGE_XLIB_LIBXTST
help
Intel video driver

diff --git a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk
index 332de54..52b493f 100644
--- a/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk
+++ b/package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk
@@ -4,18 +4,18 @@
#
################################################################################

-XDRIVER_XF86_VIDEO_INTEL_VERSION = 2.99.907
+XDRIVER_XF86_VIDEO_INTEL_VERSION = 2.99.911
XDRIVER_XF86_VIDEO_INTEL_SOURCE = xf86-video-intel-$(XDRIVER_XF86_VIDEO_INTEL_VERSION).tar.bz2
XDRIVER_XF86_VIDEO_INTEL_SITE = http://xorg.freedesktop.org/releases/individual/driver
XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT
XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING
-XDRIVER_XF86_VIDEO_INTEL_AUTORECONF = YES
+
+# this fixes a getline-related compilation in src/sna/kgem.c
+XDRIVER_XF86_VIDEO_INTEL_CONF_ENV = \
+ CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"

XDRIVER_XF86_VIDEO_INTEL_CONF_OPT = \
- --enable-dri \
- --enable-kms-only \
--disable-xvmc \
- --disable-ums-only \
--enable-sna \
--disable-uxa \
--disable-glamor \
@@ -23,6 +23,21 @@ XDRIVER_XF86_VIDEO_INTEL_CONF_OPT = \
--disable-dga \
--disable-async-swap

-XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xproto libdrm xlib_libpciaccess
+XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = \
+ libdrm \
+ xlib_libXcomposite \
+ xlib_libXrandr \
+ xlib_libXtst \
+ xlib_libpciaccess \
+ xproto_fontsproto \
+ xproto_xproto \
+ xserver_xorg-server
+
+ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965),y)
+XDRIVER_XF86_VIDEO_INTEL_CONF_OPT += --enable-dri
+XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES += mesa3d xproto_xf86driproto
+else
+XDRIVER_XF86_VIDEO_INTEL_CONF_OPT += --disable-dri
+endif

$(eval $(autotools-package))
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:39 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

http://cgit.freedesktop.org/mesa/mesa/commit/configure.ac?id=b959fd9674938e127a34d42d34b903e3a9ae7ad9
"The loader infrastructure for everything but DRI2 requires that udev be present"

Check for udev only for dri3.

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
.../mesa3d-0002-dri2-does-not-need-udev.patch | 25 ++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 package/mesa3d/mesa3d-0002-dri2-does-not-need-udev.patch

diff --git a/package/mesa3d/mesa3d-0002-dri2-does-not-need-udev.patch b/package/mesa3d/mesa3d-0002-dri2-does-not-need-udev.patch
new file mode 100644
index 0000000..88c6861
--- /dev/null
+++ b/package/mesa3d/mesa3d-0002-dri2-does-not-need-udev.patch
@@ -0,0 +1,25 @@
+http://cgit.freedesktop.org/mesa/mesa/commit/configure.ac?id=b959fd9674938e127a34d42d34b903e3a9ae7ad9
+"The loader infrastructure for everything but DRI2 requires that udev be present"
+
+Check for udev only for dri3.
+
+Patch sent upstream: https://bugs.freedesktop.org/show_bug.cgi?id=75212#c5
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
+
+diff -uNr Mesa-10.2.0-rc1.org/configure.ac Mesa-10.2.0-rc1/configure.ac
+--- Mesa-10.2.0-rc1.org/configure.ac 2014-05-03 02:17:23.000000000 +0200
++++ Mesa-10.2.0-rc1/configure.ac 2014-05-07 19:51:54.187921825 +0200
+@@ -998,11 +998,11 @@
+ DEFINES="$DEFINES -DHAVE_ALIAS"
+ if test "x$enable_dri3" = xyes; then
+ DEFINES="$DEFINES -DHAVE_DRI3"
+- fi
+
+ if test "x$have_libudev" != xyes; then
+ AC_MSG_ERROR([libudev-dev required for building DRI])
+ fi
++ fi
+
+ case "$host_cpu" in
+ powerpc* | sparc*)
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:45 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/sdl/sdl.mk | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/sdl/sdl.mk b/package/sdl/sdl.mk
index 8d0e5bd..8adc66b 100644
--- a/package/sdl/sdl.mk
+++ b/package/sdl/sdl.mk
@@ -62,7 +62,8 @@ SDL_DEPENDENCIES += alsa-lib
endif

ifeq ($(BR2_PACKAGE_MESA3D),y)
-SDL_DEPENDENCIES += mesa3d
+SDL_DEPENDENCIES += libglu mesa3d
+SDL_CONF_OPT += --enable-video-opengl
endif

SDL_CONF_OPT += --enable-pulseaudio=no \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:40 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/Config.in | 1 +
package/libva/Config.in | 18 +++++++++
package/libva/libva-0001-no_test_decode.patch | 17 ++++++++
package/libva/libva.mk | 56 +++++++++++++++++++++++++++
4 files changed, 92 insertions(+)
create mode 100644 package/libva/Config.in
create mode 100644 package/libva/libva-0001-no_test_decode.patch
create mode 100644 package/libva/libva.mk

diff --git a/package/Config.in b/package/Config.in
index 3bc8d24..e2499f7 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -599,6 +599,7 @@ source "package/libsvg/Config.in"
source "package/libsvg-cairo/Config.in"
source "package/libsvgtiny/Config.in"
source "package/libungif/Config.in"
+source "package/libva/Config.in"
source "package/opencv/Config.in"
source "package/opengl/Config.in"
source "package/pango/Config.in"
diff --git a/package/libva/Config.in b/package/libva/Config.in
new file mode 100644
index 0000000..9d63b52
--- /dev/null
+++ b/package/libva/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_LIBVA
+ bool "libva"
+ select BR2_PACKAGE_LIBDRM
+ select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs
+ depends on BR2_LARGEFILE # libdrm
+ help
+ The main motivation for VA-API (Video Acceleration API) is to enable
+ hardware accelerated video decode/encode at various entry-points (VLD,
+ IDCT, Motion Compensation etc.) for the prevailing coding standards
+ today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).
+
+ http://www.freedesktop.org/wiki/Software/vaapi/
+
+comment "libva needs a toolchain w/ largefile, threads"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libva/libva-0001-no_test_decode.patch b/package/libva/libva-0001-no_test_decode.patch
new file mode 100644
index 0000000..0f0d786
--- /dev/null
+++ b/package/libva/libva-0001-no_test_decode.patch
@@ -0,0 +1,17 @@
+mpeg2vldemo is the only file requiring cxx support. It is not needed for
+buildroot, so disable its compilation to avoid depending on cxx.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
+
+diff -uNr libva-1.3.0.org/test/Makefile.am libva-1.3.0/test/Makefile.am
+--- libva-1.3.0.org/test/Makefile.am 2014-03-24 05:49:46.000000000 +0100
++++ libva-1.3.0/test/Makefile.am 2014-04-26 18:12:25.644390292 +0200
+@@ -20,7 +20,7 @@
+ # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+-SUBDIRS = common decode encode vainfo
++SUBDIRS = common encode vainfo
+
+ if USE_X11
+ SUBDIRS += basic putsurface
diff --git a/package/libva/libva.mk b/package/libva/libva.mk
new file mode 100644
index 0000000..85fd712
--- /dev/null
+++ b/package/libva/libva.mk
@@ -0,0 +1,56 @@
+################################################################################
+#
+# libva
+#
+################################################################################
+
+LIBVA_VERSION = 1.3.1
+LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2
+LIBVA_SITE = http://www.freedesktop.org/software/vaapi/releases/libva
+LIBVA_LICENSE = MIT
+LIBVA_LICENSE_FILES = COPYING
+LIBVA_AUTORECONF = YES
+LIBVA_INSTALL_STAGING = YES
+LIBVA_DEPENDENCIES = host-pkgconf libdrm
+
+# libdrm is a hard-dependency
+LIBVA_CONF_OPT = \
+ --enable-drm \
+ --disable-dummy-driver \
+ --with-drivers-path="/usr/lib/va"
+
+ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
+LIBVA_DEPENDENCIES += mesa3d
+LIBVA_CONF_OPT += --enable-glx
+else
+LIBVA_CONF_OPT += --disable-glx
+endif
+
+ifeq ($(BR2_PACKAGE_XORG7),y)
+LIBVA_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXfixes
+LIBVA_CONF_OPT += --enable-x11
+else
+LIBVA_CONF_OPT += --disable-x11
+endif
+
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+LIBVA_DEPENDENCIES += wayland
+LIBVA_CONF_OPT += --enable-wayland
+else
+LIBVA_CONF_OPT += --disable-wayland
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
+LIBVA_DEPENDENCIES += libegl
+LIBVA_CONF_OPT += --enable-egl
+else
+LIBVA_CONF_OPT += --disable-egl
+endif
+
+# Autoreconf requires an m4 directory to exist
+define LIBVA_PATCH_M4
+ mkdir -p $(@D)/m4
+endef
+LIBVA_POST_PATCH_HOOKS += LIBVA_PATCH_M4
+
+$(eval $(autotools-package))
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:47 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

- Add dependencies needed by xbmc on BR2_LARGEFILE, BR2_INET_IPV6 &
BR2_USE_WCHAR after the removal of BR2_TOOLCHAIN_USES_GLIBC
- Add xbmc-0002-mathutil.patch to fix ARM compilation

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/Config.in | 15 ++-
package/xbmc/xbmc-0002-mathutil.patch | 213 ++++++++++++++++++++++++++++++++++
2 files changed, 222 insertions(+), 6 deletions(-)
create mode 100644 package/xbmc/xbmc-0002-mathutil.patch

diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
index 592fdc1..d71a15e 100644
--- a/package/xbmc/Config.in
+++ b/package/xbmc/Config.in
@@ -1,11 +1,10 @@
-comment "xbmc needs an (e)glibc toolchain w/ C++, threads"
- depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar"
+ depends on BR2_arm || BR2_i386 || BR2_x86_64
+ depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR

comment "xbmc requires an OpenGL ES and EGL backend"
+ depends on BR2_arm || BR2_i386 || BR2_x86_64
depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
- depends on BR2_TOOLCHAIN_USES_GLIBC
- depends on BR2_INSTALL_LIBSTDCPP
- depends on BR2_TOOLCHAIN_HAS_THREADS

menuconfig BR2_PACKAGE_XBMC
bool "xbmc"
@@ -58,10 +57,14 @@ menuconfig BR2_PACKAGE_XBMC
select BR2_PACKAGE_TINYXML
select BR2_PACKAGE_YAJL
select BR2_PACKAGE_ZLIB
- depends on BR2_TOOLCHAIN_USES_GLIBC
+ depends on BR2_INET_IPV6
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_USE_MMU # python
+ depends on BR2_USE_WCHAR
+ depends on BR2_arm || BR2_i386 || BR2_x86_64
help
XBMC is an award-winning free and open source (GPL) software
media player and entertainment hub for digital media.
diff --git a/package/xbmc/xbmc-0002-mathutil.patch b/package/xbmc/xbmc-0002-mathutil.patch
new file mode 100644
index 0000000..33f91eb
--- /dev/null
+++ b/package/xbmc/xbmc-0002-mathutil.patch
@@ -0,0 +1,213 @@
+Taken from upstream PR: https://github.com/xbmc/xbmc/pull/3760
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
+
+
+From 7388e8be7cd5e78100532ebf0dba15dccb7b03f8 Mon Sep 17 00:00:00 2001
+From: Ben Avison <bavison-jLMw+***@public.gmane.org>
+Date: Tue, 3 Dec 2013 15:51:39 +0000
+Subject: [PATCH] Faster and simpler portable implementation of
+ MathUtils::round_int().
+
+Much as I like a bit of inline assembler, I have also removed the ARM versions
+of MathUtils::truncate_int() and MathUtils::round_int(). The former was just
+how any sane compiler should have assembled a cast from double to signed int
+anyway. The latter was a much too complicated way to achieve the desired
+effect, and was switched out in most ARM builds anyway in favour of the old
+portable implementation that used floor().
+
+Verified that MathUtils::test() still passes, and that GCC is now able to
+inline MathUtils::round_int(), where it didn't previously.
+
+I tested on a Raspberry Pi with the default theme, displaying the front page
+with the RSS ticker enabled. This saturates the CPU, so I'm measuring the
+improvement using the debug window's FPS figure. This patch improves this from
+~50.8 FPS to ~52.6 FPS.
+---
+ xbmc/utils/MathUtils.h | 129 +++++++++++++++++++++++--------------------------
+ 1 file changed, 61 insertions(+), 68 deletions(-)
+
+diff --git a/xbmc/utils/MathUtils.h b/xbmc/utils/MathUtils.h
+index 96af9f4..0dae77d 100644
+--- a/xbmc/utils/MathUtils.h
++++ b/xbmc/utils/MathUtils.h
+@@ -34,17 +34,13 @@
+
+ #if defined(__ppc__) || \
+ defined(__powerpc__) || \
+- (defined(TARGET_DARWIN_IOS) && defined(__llvm__)) || \
+- (defined(TARGET_ANDROID) && defined(__arm__)) || \
+- defined(TARGET_RASPBERRY_PI)
++ defined(__arm__)
+ #define DISABLE_MATHUTILS_ASM_ROUND_INT
+ #endif
+
+ #if defined(__ppc__) || \
+ defined(__powerpc__) || \
+- (defined(TARGET_DARWIN) && defined(__llvm__)) || \
+- (defined(TARGET_ANDROID) && defined(__arm__)) || \
+- defined(TARGET_RASPBERRY_PI)
++ defined(__arm__)
+ #define DISABLE_MATHUTILS_ASM_TRUNCATE_INT
+ #endif
+
+@@ -73,60 +69,63 @@
+ {
+ assert(x > static_cast<double>(INT_MIN / 2) - 1.0);
+ assert(x < static_cast<double>(INT_MAX / 2) + 1.0);
+- const float round_to_nearest = 0.5f;
+- int i;
+
+ #if defined(DISABLE_MATHUTILS_ASM_ROUND_INT)
+- i = floor(x + round_to_nearest);
+-
+-#elif defined(__arm__)
+- // From 'ARM-v7-M Architecture Reference Manual' page A7-569:
+- // "The floating-point to integer operation (vcvt) [normally] uses the Round towards Zero rounding mode"
+- // Because of this...we must use some less-than-straightforward logic to perform this operation without
+- // changing the rounding mode flags
+-
+- /* The assembly below implements the following logic:
+- if (x < 0)
+- inc = -0.5f
+- else
+- inc = 0.5f
+- int_val = trunc(x+inc);
+- err = x - int_val;
+- if (err == 0.5f)
+- int_val++;
+- return int_val;
+- */
++ /* This implementation warrants some further explanation.
++ *
++ * First, a couple of notes on rounding:
++ * 1) C casts from float/double to integer round towards zero.
++ * 2) Float/double additions are rounded according to the normal rules,
++ * in other words: on some architectures, it's fixed at compile-time,
++ * and on others it can be set using fesetround()). The following
++ * analysis assumes round-to-nearest with ties rounding to even. This
++ * is a fairly sensible choice, and is the default with ARM VFP.
++ *
++ * What this function wants is round-to-nearest with ties rounding to
++ * +infinity. This isn't an IEEE rounding mode, even if we could guarantee
++ * that all architectures supported fesetround(), which they don't. Instead,
++ * this adds an offset of 2147483648.5 (= 0x80000000.8p0), then casts to
++ * an unsigned int (crucially, all possible inputs are now in a range where
++ * round to zero acts the same as round to -infinity) and then subtracts
++ * 0x80000000 in the integer domain. The 0.5 component of the offset
++ * converts what is effectively a round down into a round to nearest, with
++ * ties rounding up, as desired.
++ *
++ * There is a catch, that because there is a double rounding, there is a
++ * small region where the input falls just *below* a tie, where the addition
++ * of the offset causes a round *up* to an exact integer, due to the finite
++ * level of precision available in floating point. You need to be aware of
++ * this when calling this function, although at present it is not believed
++ * that XBMC ever attempts to round numbers in this window.
++ *
++ * It is worth proving the size of the affected window. Recall that double
++ * precision employs a mantissa of 52 bits.
++ * 1) For all inputs -0.5 <= x <= INT_MAX
++ * Once the offset is applied, the most significant binary digit in the
++ * floating-point representation is +2^31.
++ * At this magnitude, the smallest step representable in double precision
++ * is 2^31 / 2^52 = 0.000000476837158203125
++ * So the size of the range which is rounded up due to the addition is
++ * half the size of this step, or 0.0000002384185791015625
++ *
++ * 2) For all inputs INT_MIN/2 < x < -0.5
++ * Once the offset is applied, the most significant binary digit in the
++ * floating-point representation is +2^30.
++ * At this magnitude, the smallest step representable in double precision
++ * is 2^30 / 2^52 = 0.0000002384185791015625
++ * So the size of the range which is rounded up due to the addition is
++ * half the size of this step, or 0.00000011920928955078125
++ *
++ * 3) For all inputs INT_MIN <= x <= INT_MIN/2
++ * The representation once the offset is applied has equal or greater
++ * precision than the input, so the addition does not cause rounding.
++ */
++ return ((unsigned int) (x + 0x80000000.8p0)) - 0x80000000;
+
+- __asm__ __volatile__ (
+-#if defined(__ARM_PCS_VFP)
+- "fconstd d1,#%G[rnd_val] \n\t" // Copy round_to_nearest into a working register (d1 = 0.5)
+ #else
+- "vmov.F64 d1,%[rnd_val] \n\t"
+-#endif
+- "fcmpezd %P[value] \n\t" // Check value against zero (value == 0?)
+- "fmstat \n\t" // Copy the floating-point status flags into the general-purpose status flags
+- "it mi \n\t"
+- "vnegmi.F64 d1, d1 \n\t" // if N-flag is set, negate round_to_nearest (if (value < 0) d1 = -1 * d1)
+- "vadd.F64 d1,%P[value],d1 \n\t" // Add round_to_nearest to value, store result in working register (d1 += value)
+- "vcvt.S32.F64 s3,d1 \n\t" // Truncate(round towards zero) (s3 = (int)d1)
+- "vmov %[result],s3 \n\t" // Store the integer result in a general-purpose register (result = s3)
+- "vcvt.F64.S32 d1,s3 \n\t" // Convert back to floating-point (d1 = (double)s3)
+- "vsub.F64 d1,%P[value],d1 \n\t" // Calculate the error (d1 = value - d1)
+-#if defined(__ARM_PCS_VFP)
+- "fconstd d2,#%G[rnd_val] \n\t" // d2 = 0.5;
+-#else
+- "vmov.F64 d2,%[rnd_val] \n\t"
+-#endif
+- "fcmped d1, d2 \n\t" // (d1 == 0.5?)
+- "fmstat \n\t" // Copy the floating-point status flags into the general-purpose status flags
+- "it eq \n\t"
+- "addeq %[result],#1 \n\t" // (if (d1 == d2) result++;)
+- : [result] "=r"(i) // Outputs
+- : [rnd_val] "Dv" (round_to_nearest), [value] "w"(x) // Inputs
+- : "d1", "d2", "s3" // Clobbers
+- );
+-
+-#elif defined(__SSE2__)
++ const float round_to_nearest = 0.5f;
++ int i;
++#if defined(__SSE2__)
+ const float round_dn_to_nearest = 0.4999999f;
+ i = (x > 0) ? _mm_cvttsd_si32(_mm_set_sd(x + round_to_nearest)) : _mm_cvttsd_si32(_mm_set_sd(x - round_dn_to_nearest));
+
+@@ -150,8 +149,8 @@
+ );
+
+ #endif
+-
+ return i;
++#endif
+ }
+
+ /*! \brief Truncate to nearest integer.
+@@ -165,20 +164,13 @@
+ {
+ assert(x > static_cast<double>(INT_MIN / 2) - 1.0);
+ assert(x < static_cast<double>(INT_MAX / 2) + 1.0);
+- int i;
+
+ #if defined(DISABLE_MATHUTILS_ASM_TRUNCATE_INT)
+- return i = (int)x;
+-
+-#elif defined(__arm__)
+- __asm__ __volatile__ (
+- "vcvt.S32.F64 %[result],%P[value] \n\t" // Truncate(round towards zero) and store the result
+- : [result] "=w"(i) // Outputs
+- : [value] "w"(x) // Inputs
+- );
+- return i;
++ return x;
+
+-#elif defined(TARGET_WINDOWS)
++#else
++ int i;
++#if defined(TARGET_WINDOWS)
+ const float round_towards_m_i = -0.5f;
+ __asm
+ {
+@@ -204,6 +196,7 @@
+ if (x < 0)
+ i = -i;
+ return (i);
++#endif
+ }
+
+ inline int64_t abs(int64_t a)
+--
+1.9.1
+
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:42 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/ffmpeg/ffmpeg.mk | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index f8c1526..1be3575 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -41,7 +41,6 @@ FFMPEG_CONF_OPT = \
--enable-mdct \
--enable-rdft \
--disable-crystalhd \
- --disable-vaapi \
--disable-vdpau \
--disable-dxva2 \
--enable-runtime-cpudetect \
@@ -209,6 +208,13 @@ FFMPEG_CONF_OPT += \
--enable-encoder=libvorbis
endif

+ifeq ($(BR2_PACKAGE_LIBVA),y)
+FFMPEG_CONF_OPT += --enable-vaapi
+FFMPEG_DEPENDENCIES += libva
+else
+FFMPEG_CONF_OPT += --disable-vaapi
+endif
+
ifeq ($(BR2_X86_CPU_HAS_MMX),y)
FFMPEG_CONF_OPT += --enable-yasm
FFMPEG_DEPENDENCIES += host-yasm
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:48 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index b1a821b..8e8d3cb 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -38,7 +38,6 @@ XBMC_CONF_ENV = \

XBMC_CONF_OPT += \
--with-arch=$(BR2_ARCH) \
- --disable-alsa \
--disable-crystalhd \
--disable-debug \
--disable-dvdcss \
@@ -71,6 +70,13 @@ ifeq ($(BR2_PACKAGE_DBUS),y)
XBMC_DEPENDENCIES += dbus
endif

+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+XBMC_DEPENDENCIES += alsa-lib
+XBMC_CONF_OPT += --enable-alsa
+else
+XBMC_CONF_OPT += --disable-alsa
+endif
+
XBMC_CONF_ENV += \
CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:41 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/Config.in | 1 +
package/libva-intel-driver/Config.in | 19 ++++++++++++++++
package/libva-intel-driver/libva-intel-driver.mk | 29 ++++++++++++++++++++++++
3 files changed, 49 insertions(+)
create mode 100644 package/libva-intel-driver/Config.in
create mode 100644 package/libva-intel-driver/libva-intel-driver.mk

diff --git a/package/Config.in b/package/Config.in
index e2499f7..4115002 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -600,6 +600,7 @@ source "package/libsvg-cairo/Config.in"
source "package/libsvgtiny/Config.in"
source "package/libungif/Config.in"
source "package/libva/Config.in"
+source "package/libva-intel-driver/Config.in"
source "package/opencv/Config.in"
source "package/opengl/Config.in"
source "package/pango/Config.in"
diff --git a/package/libva-intel-driver/Config.in b/package/libva-intel-driver/Config.in
new file mode 100644
index 0000000..89a3264
--- /dev/null
+++ b/package/libva-intel-driver/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_LIBVA_INTEL_DRIVER
+ bool "libva-intel-driver"
+ select BR2_PACKAGE_LIBVA
+ select BR2_PACKAGE_LIBDRM
+ select BR2_PACKAGE_LIBDRM_INTEL
+ select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+ select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
+ depends on BR2_i386 || BR2_x86_64
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs
+ depends on BR2_LARGEFILE # libdrm
+ help
+ VA-API back-end driver for Intel graphics chips
+
+ https://01.org/linuxgraphics/community/vaapi
+
+comment "libva intel driver needs a toolchain w/ largefile, threads"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_i386 || BR2_x86_64
diff --git a/package/libva-intel-driver/libva-intel-driver.mk b/package/libva-intel-driver/libva-intel-driver.mk
new file mode 100644
index 0000000..5ada9f1
--- /dev/null
+++ b/package/libva-intel-driver/libva-intel-driver.mk
@@ -0,0 +1,29 @@
+################################################################################
+#
+# libva-intel-driver
+#
+################################################################################
+
+LIBVA_INTEL_DRIVER_VERSION = 1.3.1
+LIBVA_INTEL_DRIVER_SOURCE = libva-intel-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2
+LIBVA_INTEL_DRIVER_SITE = http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver
+LIBVA_INTEL_DRIVER_LICENSE = MIT
+LIBVA_INTEL_DRIVER_LICENSE_FILES = COPYING
+LIBVA_INTEL_DRIVER_AUTORECONF = YES
+LIBVA_INTEL_DRIVER_DEPENDENCIES = host-pkgconf libdrm libva
+
+ifeq ($(BR2_PACKAGE_XORG7),y)
+LIBVA_INTEL_DRIVER_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXfixes
+LIBVA_INTEL_DRIVER_CONF_OPT += --enable-x11
+else
+LIBVA_INTEL_DRIVER_CONF_OPT += --disable-x11
+endif
+
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+LIBVA_DEPENDENCIES += wayland
+LIBVA_INTEL_DRIVER_CONF_OPT += --enable-wayland
+else
+LIBVA_INTEL_DRIVER_CONF_OPT += --disable-wayland
+endif
+
+$(eval $(autotools-package))
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:49 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index 8e8d3cb..9c7735e 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -77,6 +77,13 @@ else
XBMC_CONF_OPT += --disable-alsa
endif

+ifeq ($(BR2_PACKAGE_LAME),y)
+XBMC_DEPENDENCIES += lame
+XBMC_CONF_OPT += --enable-libmp3lame
+else
+XBMC_CONF_OPT += --disable-libmp3lame
+endif
+
XBMC_CONF_ENV += \
CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:44 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/Config.in | 1 +
package/libglew/Config.in | 19 +++++++++++++++++++
package/libglew/libglew.mk | 36 ++++++++++++++++++++++++++++++++++++
3 files changed, 56 insertions(+)
create mode 100644 package/libglew/Config.in
create mode 100644 package/libglew/libglew.mk

diff --git a/package/Config.in b/package/Config.in
index b31e7a0..5442ae9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -590,6 +590,7 @@ source "package/libexif/Config.in"
source "package/libgail/Config.in"
source "package/libgeotiff/Config.in"
source "package/libglade/Config.in"
+source "package/libglew/Config.in"
source "package/libglu/Config.in"
source "package/libgtk2/Config.in"
source "package/libpng/Config.in"
diff --git a/package/libglew/Config.in b/package/libglew/Config.in
new file mode 100644
index 0000000..67c49d4
--- /dev/null
+++ b/package/libglew/Config.in
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_LIBGLEW
+ bool "libglew"
+ depends on BR2_PACKAGE_XORG7
+ depends on BR2_PACKAGE_HAS_LIBGL
+ select BR2_PACKAGE_XLIB_LIBX11
+ select BR2_PACKAGE_XLIB_LIBXEXT
+ select BR2_PACKAGE_XLIB_LIBXI
+ select BR2_PACKAGE_XLIB_LIBXMU
+ help
+ The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++
+ extension loading library. GLEW provides efficient run-time mechanisms
+ for determining which OpenGL extensions are supported on the target
+ platform. OpenGL core and extension functionality is exposed in a
+ single header file.
+
+ http://glew.sourceforge.net
+
+comment "libglew depends on X.org and needs an OpenGL backend"
+ depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
diff --git a/package/libglew/libglew.mk b/package/libglew/libglew.mk
new file mode 100644
index 0000000..48ecf97
--- /dev/null
+++ b/package/libglew/libglew.mk
@@ -0,0 +1,36 @@
+################################################################################
+#
+# libglew
+#
+################################################################################
+
+LIBGLEW_VERSION = 1.10.0
+LIBGLEW_SOURCE = glew-$(LIBGLEW_VERSION).tgz
+LIBGLEW_SITE = http://sourceforge.net/projects/glew/files/glew/$(LIBGLEW_VERSION)
+LIBGLEW_LICENSE = MIT
+LIBGLEW_LICENSE_FILES = LICENSE.txt
+LIBGLEW_INSTALL_STAGING = YES
+LIBGLEW_DEPENDENCIES = libgl xlib_libX11 xlib_libXext xlib_libXi xlib_libXmu
+
+# using $TARGET_CONFIGURE_OPTS breaks compilation
+define LIBGLEW_BUILD_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ GLEW_DEST="/usr" LIBDIR="/usr/lib" \
+ AR="$(TARGET_AR)" CC="$(TARGET_CC)" \
+ LD="$(TARGET_CC)" STRIP="$(TARGET_STRIP)" \
+ POPT="$(TARGET_CFLAGS)" LDFLAGS.EXTRA="$(TARGET_LDFLAGS)"
+endef
+
+define LIBGLEW_INSTALL_STAGING_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ GLEW_DEST="$(STAGING_DIR)/usr" LIBDIR="$(STAGING_DIR)/usr/lib" \
+ $(TARGET_CONFIGURE_OPTS) install
+endef
+
+define LIBGLEW_INSTALL_TARGET_CMDS
+ $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+ GLEW_DEST="$(TARGET_DIR)/usr" LIBDIR="$(TARGET_DIR)/usr/lib" \
+ $(TARGET_CONFIGURE_OPTS) install
+endef
+
+$(eval $(generic-package))
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:43 UTC
Permalink
From: Bernd Kuhls <***@t-online.de>

Signed-off-by: Bernd Kuhls <***@t-online.de>
---
package/Config.in | 1 +
package/libglu/Config.in | 10 ++++++++++
package/libglu/libglu.mk | 17 +++++++++++++++++
3 files changed, 28 insertions(+)
create mode 100644 package/libglu/Config.in
create mode 100644 package/libglu/libglu.mk

diff --git a/package/Config.in b/package/Config.in
index 4115002..b31e7a0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -590,6 +590,7 @@ source "package/libexif/Config.in"
source "package/libgail/Config.in"
source "package/libgeotiff/Config.in"
source "package/libglade/Config.in"
+source "package/libglu/Config.in"
source "package/libgtk2/Config.in"
source "package/libpng/Config.in"
source "package/libqrencode/Config.in"
diff --git a/package/libglu/Config.in b/package/libglu/Config.in
new file mode 100644
index 0000000..de8e1ef
--- /dev/null
+++ b/package/libglu/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBGLU
+ bool "libglu"
+ depends on BR2_PACKAGE_HAS_LIBGL
+ help
+ Mesa OpenGL Utility library
+
+ http://cgit.freedesktop.org/mesa/glu/
+
+comment "libglu needs an OpenGL backend"
+ depends on !BR2_PACKAGE_HAS_LIBGL
diff --git a/package/libglu/libglu.mk b/package/libglu/libglu.mk
new file mode 100644
index 0000000..038d281
--- /dev/null
+++ b/package/libglu/libglu.mk
@@ -0,0 +1,17 @@
+################################################################################
+#
+# libglu
+#
+################################################################################
+
+LIBGLU_VERSION = 9.0.0
+LIBGLU_SITE = http://cgit.freedesktop.org/mesa/glu/snapshot
+LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.gz
+LIBGLU_LICENSE = SGI-B-2.0
+LIBGLU_LICENSE_FILES = include/GL/glu.h
+LIBGLU_INSTALL_STAGING = YES
+# upstream does not distribute a autoconf´ed configure script
+LIBGLU_AUTORECONF = YES
+LIBGLU_DEPENDENCIES = libgl
+
+$(eval $(autotools-package))
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:50 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Patch description:

use_texturepacker_native=yes

is needed because we obviously need a native-compiled binary, but the xbmc
build system does enable this variable only for darwin, android and
raspberry-pi targets.

USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"

is also needed because
USE_TEXTUREPACKER_NATIVE_ROOT="$TEXTUREPACKER_NATIVE_ROOT"
is only executed for raspberry-pi by xbmc/configure and only
USE_TEXTUREPACKER_NATIVE_ROOT is used by tools/TexturePacker/Makefile.in.

To sum up, building for raspberry-pi and other archs works out-of-the-box,
compiling for an Intel target, for example, fails:

In file included from SDL_anigif.cpp:23:0:
SDL_anigif.h:24:21: fatal error: SDL/SDL.h: No such file or directory
compilation terminated.
XBMCTex.cpp:34:21: fatal error: SDL/SDL.h: No such file or directory

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 2 ++
1 file changed, 2 insertions(+)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index 9c7735e..8b1b94f 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -34,6 +34,8 @@ XBMC_CONF_ENV = \
PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \
PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \
PYTHON_NOVERSIONCHECK="no-check" \
+ use_texturepacker_native=yes \
+ USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" \
TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"

XBMC_CONF_OPT += \
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:51 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

- on ARM xbmc only supports EGL/GLES
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L695
- rsxs depends on OpenGL
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L1469
so include a compile fix, courtesy of
https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/xbmc/package.mk#L109

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/Config.in | 31 ++++++++++++++++++++++++++++---
package/xbmc/xbmc.mk | 32 ++++++++++++++++++++++++++------
2 files changed, 54 insertions(+), 9 deletions(-)

diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
index d71a15e..08b0a0f 100644
--- a/package/xbmc/Config.in
+++ b/package/xbmc/Config.in
@@ -2,9 +2,26 @@ comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar"
depends on BR2_arm || BR2_i386 || BR2_x86_64
depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR

+config BR2_PACKAGE_XBMC_EGL_GLES
+ bool
+ default y
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ depends on BR2_PACKAGE_HAS_LIBGLES
+ depends on !BR2_PACKAGE_XBMC_GL # prefer GL if available
+
+config BR2_PACKAGE_XBMC_GL
+ bool
+ default y
+ depends on BR2_PACKAGE_HAS_LIBGL
+ depends on !BR2_arm # xbmc needs egl/gles on arm
+
+comment "xbmc needs an OpenGL or an openGL ES and EGL backend"
+ depends on BR2_i386 || BR2_x86_64
+ depends on !BR2_PACKAGE_XBMC_GL && !BR2_PACKAGE_XBMC_EGL_GLES
+
comment "xbmc requires an OpenGL ES and EGL backend"
- depends on BR2_arm || BR2_i386 || BR2_x86_64
- depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_arm
+ depends on !BR2_PACKAGE_XBMC_EGL_GLES

menuconfig BR2_PACKAGE_XBMC
bool "xbmc"
@@ -22,6 +39,8 @@ menuconfig BR2_PACKAGE_XBMC
select BR2_PACKAGE_LIBCDIO
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBFRIBIDI
+ select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBID3TAG
select BR2_PACKAGE_LIBMAD
@@ -51,17 +70,23 @@ menuconfig BR2_PACKAGE_XBMC
select BR2_PACKAGE_PYTHON_UNICODEDATA
select BR2_PACKAGE_PYTHON_ZLIB
select BR2_PACKAGE_READLINE
+ select BR2_PACKAGE_SDL if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_XBMC_GL
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TAGLIB
select BR2_PACKAGE_TIFF
select BR2_PACKAGE_TINYXML
+ select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
+ select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_XBMC_GL
+ select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
select BR2_PACKAGE_YAJL
select BR2_PACKAGE_ZLIB
depends on BR2_INET_IPV6
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL
depends on BR2_USE_MMU # python
depends on BR2_USE_WCHAR
depends on BR2_arm || BR2_i386 || BR2_x86_64
diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index 8b1b94f..2a18ac4 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -14,7 +14,7 @@ XBMC_LICENSE_FILES = LICENSE.GPL
# http://wiki.xbmc.org/index.php?title=TexturePacker
XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
- libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \
+ libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \
libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib

@@ -43,7 +43,6 @@ XBMC_CONF_OPT += \
--disable-crystalhd \
--disable-debug \
--disable-dvdcss \
- --disable-gl \
--disable-hal \
--disable-joystick \
--disable-mysql \
@@ -51,14 +50,10 @@ XBMC_CONF_OPT += \
--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)
@@ -86,9 +81,34 @@ else
XBMC_CONF_OPT += --disable-libmp3lame
endif

+# quote from xbmc/configure.in: "GLES overwrites GL if both set to yes."
+# we choose the opposite because opengl offers more features, like libva support
+ifeq ($(BR2_PACKAGE_XBMC_GL),y)
+XBMC_DEPENDENCIES += libglew libglu libgl sdl_image xlib_libX11 xlib_libXext \
+ xlib_libXmu xlib_libXrandr xlib_libXt
+XBMC_CONF_OPT += --enable-gl --enable-sdl --enable-x11 --enable-xrandr--disable-gles
+# fix rsxs compile
+# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4
+XBMC_CONF_ENV += \
+ jm_cv_func_gettimeofday_clobber=no \
+ mac_cv_pkg_png=$(STAGING_DIR)/usr/bin/libpng-config \
+ mac_cv_pkg_cppflags="`$(STAGING_DIR)/usr/bin/libpng-config --I_opts --cppflags`" \
+ mac_cv_pkg_cxxflags="`$(STAGING_DIR)/usr/bin/libpng-config --ccopts`" \
+ mac_cv_pkg_ldflags="`$(STAGING_DIR)/usr/bin/libpng-config --L_opts --R_opts`" \
+ mac_cv_pkg_libs="`$(STAGING_DIR)/usr/bin/libpng-config --libs`"
+XBMC_CONF_OPT += --enable-rsxs
+else
+XBMC_CONF_OPT += --disable-gl --disable-rsxs --disable-sdl --disable-x11 --disable-xrandr
+ifeq ($(BR2_PACKAGE_XBMC_EGL_GLES),y)
+XBMC_DEPENDENCIES += libegl libgles
+XBMC_CONF_OPT += --enable-gles
XBMC_CONF_ENV += \
CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
+else
+XBMC_CONF_OPT += --disable-gles
+endif
+endif

ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
XBMC_DEPENDENCIES += libusb-compat
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:52 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/Config.in | 9 +++++++++
package/xbmc/xbmc.mk | 6 ++++++
2 files changed, 15 insertions(+)

diff --git a/package/xbmc/Config.in b/package/xbmc/Config.in
index 08b0a0f..a31788c 100644
--- a/package/xbmc/Config.in
+++ b/package/xbmc/Config.in
@@ -194,6 +194,15 @@ config BR2_PACKAGE_XBMC_WAVPACK
Enable WAV input support.
Select this if you want to play back WV files.

+config BR2_PACKAGE_XBMC_GOOM
+ bool "goom screensaver"
+ depends on BR2_PACKAGE_XBMC_GL
+ help
+ Enable goom screensaver
+
+comment "goom needs an OpenGL backend"
+ depends on !BR2_PACKAGE_XBMC_GL
+
comment "XBMC addons"

source "package/xbmc-addon-xvdr/Config.in"
diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index 2a18ac4..e44172f 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -181,6 +181,12 @@ ifeq ($(BR2_PACKAGE_XBMC_LIBTHEORA),y)
XBMC_DEPENDENCIES += libtheora
endif

+ifeq ($(BR2_PACKAGE_XBMC_GOOM),y)
+XBMC_CONF_OPT += --enable-goom
+else
+XBMC_CONF_OPT += --disable-goom
+endif
+
# Add HOST_DIR to PATH for codegenerator.mk to find swig
define XBMC_BOOTSTRAP
cd $(@D) && PATH=$(BR_PATH) ./bootstrap
--
1.8.3.2
Yann E. MORIN
2014-05-28 11:08:53 UTC
Permalink
From: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>

Signed-off-by: Bernd Kuhls <bernd.kuhls-***@public.gmane.org>
---
package/xbmc/xbmc.mk | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/package/xbmc/xbmc.mk b/package/xbmc/xbmc.mk
index e44172f..df6ad9d 100644
--- a/package/xbmc/xbmc.mk
+++ b/package/xbmc/xbmc.mk
@@ -51,7 +51,6 @@ XBMC_CONF_OPT += \
--disable-projectm \
--disable-pulse \
--disable-ssh \
- --disable-vaapi \
--disable-vdpau \
--disable-vtbdecoder \
--enable-optimizations
@@ -110,6 +109,14 @@ XBMC_CONF_OPT += --disable-gles
endif
endif

+# xbmc needs libva & libva-glx
+ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy)
+XBMC_DEPENDENCIES += mesa3d libva
+XBMC_CONF_OPT += --enable-vaapi
+else
+XBMC_CONF_OPT += --disable-vaapi
+endif
+
ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
XBMC_DEPENDENCIES += libusb-compat
XBMC_CONF_OPT += --enable-libusb
--
1.8.3.2
Mike Zick
2014-05-28 12:56:00 UTC
Permalink
On Wed, 28 May 2014 13:08:47 +0200
Post by Yann E. MORIN
Hello All!
This is version 11 of the XBMC bump to Gotham, initiated by Bernd.
This version reorders the series so that we can quickly bump XBMC,
Maybe set a goal of merging before the patch series hits a three
digit version number? ;)
Post by Yann E. MORIN
to
keep an iso-functional setup (mostly: on the Raspberry Pi), then new
required packages and dependencies, to finally enable building XBMC
on a full-openGL capable system.
I'm a bit disapointed I did not find enough free time to test the x86
+ full-openGL side of the series, but the bump in itself is already a
good thing.
Kudos to Bernd for the initial work (and conscencious re-spins when
asked to) :-)
Bernd is due some sort of award for being tenaciously persistent.
Maybe a special mention in the -next change log?

Mike
Bernd Kuhls
2014-05-28 15:36:17 UTC
Permalink
Post by Yann E. MORIN
This version reorders the series so that we can quickly bump XBMC
Hi,

yeah, letŽs break the autobuilder again,
I am tired of looking at all the green lines;)

Thanks for the re-spin!

Regards, Bernd
Bernd Kuhls
2014-06-02 18:11:12 UTC
Permalink
Hi,
Post by Yann E. MORIN
This is version 11 of the XBMC bump to Gotham, initiated by Bernd.
This version reorders the series so that we can quickly bump XBMC, to
keep an iso-functional setup (mostly: on the Raspberry Pi), then new
required packages and dependencies, to finally enable building XBMC
on a full-openGL capable system.
would you mind when I send v12, if necessary? I re-ordered my patches
according to your v11 and updated mesa3d to rc5. This alone does not justify
a v12 series, but no one knows when xbmc 13.1 is released ;)
Post by Yann E. MORIN
I'm a bit disapointed I did not find enough free time to test the x86 +
full-openGL side of the series, but the bump in itself is already a good
thing.
Rest assured, I am using this setup, based on uClibc, for more than nine
months now, and it (livetv with tvheadend, various video formats and streams,
Goom) works fine.

Regards, Bernd

---
Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv.
http://www.avast.com
Yann E. MORIN
2014-06-02 18:41:42 UTC
Permalink
Bernd, All,
Post by Bernd Kuhls
Hi,
Post by Yann E. MORIN
This is version 11 of the XBMC bump to Gotham, initiated by Bernd.
This version reorders the series so that we can quickly bump XBMC, to
keep an iso-functional setup (mostly: on the Raspberry Pi), then new
required packages and dependencies, to finally enable building XBMC
on a full-openGL capable system.
would you mind when I send v12, if necessary? I re-ordered my patches
according to your v11 and updated mesa3d to rc5. This alone does not justify
a v12 series, but no one knows when xbmc 13.1 is released ;)
Yes, just post your series when you think it is ready.
Post by Bernd Kuhls
Post by Yann E. MORIN
I'm a bit disapointed I did not find enough free time to test the x86 +
full-openGL side of the series, but the bump in itself is already a good
thing.
Rest assured, I am using this setup, based on uClibc, for more than nine
months now, and it (livetv with tvheadend, various video formats and streams,
Goom) works fine.
Would care also sharing the corresponding defconfig, please?

Maybe it would be nice to have such a defconfig to use as a demo, along
with the one for the RPi (which I have yet to submit.)

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. |
'------------------------------^-------^------------------^--------------------'
Bernd Kuhls
2014-06-02 19:22:12 UTC
Permalink
Post by Yann E. MORIN
Would care also sharing the corresponding defconfig, please?
Hi,

my defconfig looks like this:

BR2_x86_pentium_mmx=y
BR2_OPTIMIZE_2=y
BR2_TOOLCHAIN_BUILDROOT_LARGEFILE=y
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_BINUTILS_VERSION_2_23_2=y
BR2_GCC_VERSION_4_8_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_STATIC=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_XBMC_LIBBLURAY=y
BR2_PACKAGE_XBMC_LIBMICROHTTPD=y
BR2_PACKAGE_XBMC_LIBNFS=y
BR2_PACKAGE_XBMC_RTMPDUMP=y
BR2_PACKAGE_XBMC_LIBSMBCLIENT=y
BR2_PACKAGE_XBMC_LIBTHEORA=y
BR2_PACKAGE_XBMC_LIBUSB=y
BR2_PACKAGE_XBMC_WAVPACK=y
BR2_PACKAGE_XBMC_GOOM=y
BR2_PACKAGE_XBMC_PVR_ADDONS=y
BR2_PACKAGE_TVHEADEND=y

Please note that this defconfig is only a snippet from the bigger .config
file provided by the fli4l project. Here I added my xbmc patches to create a
xbmc binary package for fli4l (yet to be released to the public ;))

Regards, Bernd
Yann E. MORIN
2014-06-02 22:12:49 UTC
Permalink
Bernd, All,
Post by Bernd Kuhls
Post by Yann E. MORIN
This is version 11 of the XBMC bump to Gotham, initiated by Bernd.
This version reorders the series so that we can quickly bump XBMC, to
keep an iso-functional setup (mostly: on the Raspberry Pi), then new
required packages and dependencies, to finally enable building XBMC
on a full-openGL capable system.
would you mind when I send v12, if necessary? I re-ordered my patches
according to your v11 and updated mesa3d to rc5. This alone does not justify
a v12 series, but no one knows when xbmc 13.1 is released ;)
To ease your retrieving the series, you can pull the branch from my git
tree:
git://gitorious.org/buildroot/buildroot.git yem/bernd/xbmc-10

Or:
git://ymorin.is-a-geek.org/buildroot yem/bernd/xbmc-10

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. |
'------------------------------^-------^------------------^--------------------'
Loading...