xbmc: build a slightly more standard version
authorKoen Kooi <koen@openembedded.org>
Tue, 29 Jun 2010 18:18:07 +0000 (20:18 +0200)
committerKoen Kooi <koen@openembedded.org>
Tue, 29 Jun 2010 18:18:50 +0000 (20:18 +0200)
 * performance tweaks from the summer of code project will be applied later

12 files changed:
recipes/xbmc/xbmc/0001-Only-check-for-nasm-on-i686-it-is-bogus-on-ARM-which.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0002-Exclude-gnu-configize-for-ngstr-m-Thanks-koen.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0003-Workaround-to-compile-python-on-ngstr-m-with-Python-.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0004-Don-t-use-sudo-in-install-of-xbmc.bin-not-all-distri.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0005-Hardcode-arm7-for-now.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0006-Hardcode-python2.6-for-now.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0007-No-need-for-FEH-on-embedded-need-a-better-way-to-not.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0008-configure.in-also-pass-down-target-when-using-host-a.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0009-Added-a-configure-option-disable-optical-drive.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0010-Fixed-so-compile-worked-when-disabling-optical.patch [new file with mode: 0644]
recipes/xbmc/xbmc/0011-reverted-so-normal-bootstrap-doesn-t-exclude-gnu-con.patch [new file with mode: 0644]
recipes/xbmc/xbmc_svn.bb

diff --git a/recipes/xbmc/xbmc/0001-Only-check-for-nasm-on-i686-it-is-bogus-on-ARM-which.patch b/recipes/xbmc/xbmc/0001-Only-check-for-nasm-on-i686-it-is-bogus-on-ARM-which.patch
new file mode 100644 (file)
index 0000000..995e767
--- /dev/null
@@ -0,0 +1,26 @@
+From cbe1089a3455c306d58e175dced0227b5d22ffa5 Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Mon, 7 Jun 2010 21:03:47 +0000
+Subject: [PATCH 01/11] Only check for nasm on i686, it is bogus on ARM, which is also !x86_64 - Thanks koen
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30917 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ configure.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 8d714b5..806e9c2 100644
+--- a/configure.in
++++ b/configure.in
+@@ -986,7 +986,7 @@ if test "$HAVE_ZIP" = "no" ; then
+   AC_MSG_ERROR($missing_program)
+ fi
+-if test "$ARCH" != "x86_64-linux"; then
++if test "$ARCH" = "i686-linux"; then
+   AC_CHECK_PROG(HAVE_NASM,nasm,"yes","no",)
+   if test "$HAVE_NASM" = "no" ; then
+     AC_MSG_ERROR($missing_program)
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0002-Exclude-gnu-configize-for-ngstr-m-Thanks-koen.patch b/recipes/xbmc/xbmc/0002-Exclude-gnu-configize-for-ngstr-m-Thanks-koen.patch
new file mode 100644 (file)
index 0000000..663b216
--- /dev/null
@@ -0,0 +1,45 @@
+From 517276ac7ef1d01b2edfc1f66323a685bfc25229 Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Mon, 7 Jun 2010 21:04:05 +0000
+Subject: [PATCH 02/11] =?UTF-8?q?Exclude=20gnu-configize=20for=20=C3=85ngstr=C3=B6m=20-=20Thanks=20koen!?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30918 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ bootstrap |   16 ++++++++--------
+ 1 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/bootstrap b/bootstrap
+index 8485ea7..09ceefc 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -2,16 +2,16 @@
+ set -e
+-autoreconf -vif
+-autoreconf -vif lib/cpluff
+-# we must autoreconf libass as we don't know till later if it's used.
+-autoreconf -vif lib/libass
+-autoreconf -vif xbmc/cores/dvdplayer/Codecs/libbdnav
++autoreconf -vif --exclude gnu-configize
++autoreconf -vif --exclude gnu-configize lib/cpluff
++# w must autoreconf libass as we don't know till later if it's used.
++autoreconf -vif --exclude gnu-configize lib/libass
++autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libbdnav
+ # order matters with libbdnav and friends
+ [ -d xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss ] && \
+-  autoreconf -vif xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss
+-autoreconf -vif xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread
+-autoreconf -vif xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav
++  autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss
++autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread
++autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav
+ # Clean the generated files
+ find . -depth -type d -name "autom4te.cache" -exec rm -rf {} \;
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0003-Workaround-to-compile-python-on-ngstr-m-with-Python-.patch b/recipes/xbmc/xbmc/0003-Workaround-to-compile-python-on-ngstr-m-with-Python-.patch
new file mode 100644 (file)
index 0000000..e984f6b
--- /dev/null
@@ -0,0 +1,45 @@
+From 50193c0722ff25e4fcb762884fc24fb69181ebda Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Mon, 7 Jun 2010 21:04:34 +0000
+Subject: [PATCH 03/11] =?UTF-8?q?Workaround=20to=20compile=20python=20on=20=C3=85ngstr=C3=B6m=20with=20Python=202.6?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30919 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ xbmc/lib/libPython/Python/Include/unicodeobject.h |    2 +-
+ xbmc/lib/libPython/xbmcmodule/pyutil.cpp          |    4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/xbmc/lib/libPython/Python/Include/unicodeobject.h b/xbmc/lib/libPython/Python/Include/unicodeobject.h
+index b534187..8a66ab7 100644
+--- a/xbmc/lib/libPython/Python/Include/unicodeobject.h
++++ b/xbmc/lib/libPython/Python/Include/unicodeobject.h
+@@ -147,7 +147,7 @@ typedef PY_UNICODE_TYPE Py_UNICODE;
+ # define PyUnicode_AsRawUnicodeEscapeString PyUnicodeUCS2_AsRawUnicodeEscapeString
+ # define PyUnicode_AsUTF16String PyUnicodeUCS2_AsUTF16String
+ # define PyUnicode_AsUTF8String PyUnicodeUCS2_AsUTF8String
+-# define PyUnicode_AsUnicode PyUnicodeUCS2_AsUnicode
++//# define PyUnicode_AsUnicode PyUnicodeUCS2_AsUnicode
+ # define PyUnicode_AsUnicodeEscapeString PyUnicodeUCS2_AsUnicodeEscapeString
+ # define PyUnicode_AsWideChar PyUnicodeUCS2_AsWideChar
+ # define PyUnicode_Compare PyUnicodeUCS2_Compare
+diff --git a/xbmc/lib/libPython/xbmcmodule/pyutil.cpp b/xbmc/lib/libPython/xbmcmodule/pyutil.cpp
+index 673b2e3..0322b10 100644
+--- a/xbmc/lib/libPython/xbmcmodule/pyutil.cpp
++++ b/xbmc/lib/libPython/xbmcmodule/pyutil.cpp
+@@ -55,8 +55,8 @@ namespace PYXBMC
+       //
+       CStdString utf8String;
+-      CStdStringW utf16String = (wchar_t*) PyUnicode_AsUnicode(pObject);
+-      g_charsetConverter.wToUTF8(utf16String, utf8String);
++//      CStdStringW utf16String = (wchar_t*) PyUnicode_AsUnicode(pObject);
++//      g_charsetConverter.wToUTF8(utf16String, utf8String);
+       buf = utf8String;
+       return 1;
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0004-Don-t-use-sudo-in-install-of-xbmc.bin-not-all-distri.patch b/recipes/xbmc/xbmc/0004-Don-t-use-sudo-in-install-of-xbmc.bin-not-all-distri.patch
new file mode 100644 (file)
index 0000000..c3d066b
--- /dev/null
@@ -0,0 +1,26 @@
+From cbac0c8500a67e06ca136591a574c0cf1ae1b0e9 Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Mon, 7 Jun 2010 21:04:52 +0000
+Subject: [PATCH 04/11] Don't use sudo in install of xbmc.bin - not all distributions have sudo
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30920 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ Makefile.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index f6a8b8d..01bbf54 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -503,7 +503,7 @@ tools/TexturePacker/TexturePacker: guilib/guilib.a xbmc/lib/libsquish/libsquish-
+       $(MAKE) -C tools/TexturePacker/
+ install-bin: xbmc.bin # developement convenience target
+-      sudo install -D xbmc.bin $(DESTDIR)$(libdir)/xbmc
++      install -D xbmc.bin $(DESTDIR)$(libdir)/xbmc
+ ifeq ($(findstring osx,$(ARCH)), osx)
+       # TODO: add osx install
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0005-Hardcode-arm7-for-now.patch b/recipes/xbmc/xbmc/0005-Hardcode-arm7-for-now.patch
new file mode 100644 (file)
index 0000000..fe64763
--- /dev/null
@@ -0,0 +1,26 @@
+From ea6d35da9dd3c0ce3e22b3390574e2362348c3ec Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Mon, 7 Jun 2010 21:05:16 +0000
+Subject: [PATCH 05/11] Hardcode arm7 for now
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30921 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ xbmc/lib/libPython/linux/Makefile.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/xbmc/lib/libPython/linux/Makefile.in b/xbmc/lib/libPython/linux/Makefile.in
+index 9df6b02..e4caecb 100644
+--- a/xbmc/lib/libPython/linux/Makefile.in
++++ b/xbmc/lib/libPython/linux/Makefile.in
+@@ -32,7 +32,7 @@ ifeq ($(ARCH), x86_64-linux)
+       PYLIBDIR=lib.linux-x86_64-2.4
+ else
+ ifeq ($(ARCH), arm)
+-      PYLIBDIR=lib.linux-armv6tel-2.4
++      PYLIBDIR=lib.linux-armv7l-2.4
+ else
+       PYLIBDIR=lib.linux-i686-2.4
+ endif
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0006-Hardcode-python2.6-for-now.patch b/recipes/xbmc/xbmc/0006-Hardcode-python2.6-for-now.patch
new file mode 100644 (file)
index 0000000..b48d1a2
--- /dev/null
@@ -0,0 +1,26 @@
+From 9a9456d3355a1b1c341cbf27d193af0f25a2f01d Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Mon, 7 Jun 2010 21:05:33 +0000
+Subject: [PATCH 06/11] Hardcode python2.6 for now
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30922 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ Makefile.in |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 01bbf54..e700604 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -472,7 +472,7 @@ DYNOBJSXBMC= \
+ ifeq (arm, $(ARCH))
+ # Force external python2.5 for now!
+-LIBS +=-lpython2.5
++LIBS +=-lpython2.6
+ endif
+ xbmc.bin: $(OBJSXBMC) $(DYNOBJSXBMC)
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0007-No-need-for-FEH-on-embedded-need-a-better-way-to-not.patch b/recipes/xbmc/xbmc/0007-No-need-for-FEH-on-embedded-need-a-better-way-to-not.patch
new file mode 100644 (file)
index 0000000..02894c4
--- /dev/null
@@ -0,0 +1,38 @@
+From d119bc01f9f15950ef40dfeef9925789f7414b45 Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Tue, 29 Jun 2010 19:06:37 +0200
+Subject: [PATCH 07/11] No need for FEH on embedded (need a better way to not be hardcoded for armv7l)
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@30923 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+
+Conflicts:
+
+       tools/Linux/xbmc.sh.in
+---
+ tools/Linux/xbmc.sh.in |   10 ++++++----
+ 1 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/tools/Linux/xbmc.sh.in b/tools/Linux/xbmc.sh.in
+index 9612659..5b5f967 100644
+--- a/tools/Linux/xbmc.sh.in
++++ b/tools/Linux/xbmc.sh.in
+@@ -100,10 +100,12 @@ print_crash_report()
+   echo "Crash report available at $FILE"
+ }
+-python @datadir@/xbmc/FEH.py "$SAVED_ARGS"
+-RET=$?
+-if [ $RET -ne 0 ]; then
+-  exit $RET
++if [ ! `uname -m` = "armv7l" ]; then
++  python @prefix@/share/xbmc/FEH.py "$SAVED_ARGS"
++  RET=$?
++  if [ $RET -ne 0 ]; then
++    exit $RET
++  fi
+ fi
+ # Output warning in case ulimit is unsupported by shell
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0008-configure.in-also-pass-down-target-when-using-host-a.patch b/recipes/xbmc/xbmc/0008-configure.in-also-pass-down-target-when-using-host-a.patch
new file mode 100644 (file)
index 0000000..da54acf
--- /dev/null
@@ -0,0 +1,129 @@
+From 8cd72c7fdfb625c9be7a367ec92c763924bd7bf1 Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Fri, 18 Jun 2010 14:03:47 +0000
+Subject: [PATCH 08/11] configure.in: also pass down --target when using --host and --build. Thanks Koen Kooi!
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@31176 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ configure.in |   21 +++++++++++++++++----
+ 1 files changed, 17 insertions(+), 4 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 806e9c2..b69261f 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1510,6 +1510,7 @@ XB_CONFIG_MODULE([xbmc/lib/libPython/Python], [
+     ./configure \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \
+       --disable-ipv6 \
+       --enable-unicode=ucs4 \
+       --without-cxx \
+@@ -1622,6 +1623,7 @@ XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdts], [
+     ./configure \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --disable-oss \
+       --disable-solaris-audio \
+       --disable-al-audio \
+@@ -1642,6 +1644,7 @@ XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss], [
+       CFLAGS="$CFLAGS" \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --disable-doc \
+       --enable-static \
+       --with-pic
+@@ -1664,6 +1667,7 @@ XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread], [
+       --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --enable-static \
+       --disable-shared \
+       --disable-strip \
+@@ -1692,6 +1696,7 @@ XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav], [
+       --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --enable-static \
+       --disable-shared \
+       --cc="$CC"
+@@ -1723,6 +1728,7 @@ XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/liba52], [
+     ./configure \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --with-pic \
+       --disable-static \
+       --enable-shared \
+@@ -1760,7 +1766,8 @@ XB_CONFIG_MODULE([lib/libass], [
+     CFLAGS="$CFLAGS" \
+     ./configure \
+       --host=$host_alias \
+-      --build=$build_alias
++      --build=$build_alias \
++      --target=$target_alias
+   fi
+ ], [$USE_EXTERNAL_LIBASS])
+@@ -1778,6 +1785,7 @@ XB_CONFIG_MODULE([xbmc/lib/libid3tag/libid3tag],[
+       --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --disable-static \
+       --with-pic
+   fi
+@@ -1805,6 +1813,7 @@ XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[
+       --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --disable-shared \
+       --enable-static \
+       --with-pic
+@@ -1837,6 +1846,7 @@ if expr "X$host_cpu" : 'Xarm.*' > /dev/null; then :; else
+       --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+       --host=$host_alias \
+       --build=$build_alias \
++      --target=$target_alias \      
+       --without-xscreensaver \
+       --disable-sound \
+       --disable-cyclone \
+@@ -1857,7 +1867,8 @@ XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libbdnav/], [
+   else
+     ./configure --without-openssl \
+       --host=$host_alias \
+-      --build=$build_alias CFLAGS="$CFLAGS"
++      --build=$build_alias \
++      --target=$target_alias CFLAGS="$CFLAGS"
+   fi
+ ], [0])
+@@ -1868,7 +1879,8 @@ XB_CONFIG_MODULE([xbmc/lib/libapetag], [
+   else
+     ./configure \
+       --host=$host_alias \
+-      --build=$build_alias CFLAGS="$CFLAGS"
++      --build=$build_alias \
++      --target=$target_alias CFLAGS="$CFLAGS" 
+   fi
+ ], [0])
+@@ -1898,7 +1910,8 @@ XB_CONFIG_MODULE([lib/cpluff], [
+   else
+     ./configure --disable-nls \
+       --host=$host_alias \
+-      --build=$build_alias CFLAGS="$CFLAGS"
++      --build=$build_alias \
++      --target=$target_alias CFLAGS="$CFLAGS"
+   fi
+ ], [0])
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0009-Added-a-configure-option-disable-optical-drive.patch b/recipes/xbmc/xbmc/0009-Added-a-configure-option-disable-optical-drive.patch
new file mode 100644 (file)
index 0000000..4a1487e
--- /dev/null
@@ -0,0 +1,76 @@
+From f5ba37fc083be1acd412cf2643dab9aaa81f20d8 Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Fri, 25 Jun 2010 08:58:43 +0000
+Subject: [PATCH 09/11] Added a configure option --disable-optical-drive
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@31373 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ configure.in    |   17 +++++++++++++++++
+ guilib/system.h |    2 +-
+ 2 files changed, 18 insertions(+), 1 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index b69261f..d861b28 100644
+--- a/configure.in
++++ b/configure.in
+@@ -228,6 +228,12 @@ AC_ARG_ENABLE([webserver],
+   [use_webserver=$enableval],
+   [use_webserver=yes])
++AC_ARG_ENABLE([optical-drive],
++  [AS_HELP_STRING([--disable-optical-drive],
++  [disable optical drive])],
++  [use_optical_drive=$enableval],
++  [use_optical_drive=yes])
++
+ AC_ARG_ENABLE([libdts],
+   [AS_HELP_STRING([--enable-libdts],
+   [enable deprecated libdts support])],
+@@ -616,6 +622,11 @@ else
+   fi
+ fi
++# Optical
++if test "$use_optical_drive" = "yes"; then
++  AC_DEFINE([HAS_DVD_DRIVE], [1], [Define to 1 to have optical drive support])
++fi
++
+ # PulseAudio
+ if test "x$use_pulse" != "xno"; then
+   if test "$host_vendor" = "apple" ; then
+@@ -1258,6 +1269,12 @@ else
+   final_message="$final_message\n  WebM support:\tNo"
+ fi
++if test "$use_optical_drive" = "yes"; then
++  final_message="$final_message\n  Optical drive:\tYes"
++else
++  final_message="$final_message\n  Optical drive:\tNo"
++fi
++
+ if test "$use_librtmp" = "yes"; then
+   final_message="$final_message\n  libRTMP support:\tYes"
+ else
+diff --git a/guilib/system.h b/guilib/system.h
+index 560778d..6e21cdb 100644
+--- a/guilib/system.h
++++ b/guilib/system.h
+@@ -32,7 +32,6 @@
+ #define HAS_SDL
+ #endif
+-#define HAS_DVD_DRIVE
+ #define HAS_DVD_SWSCALE
+ #define HAS_DVDPLAYER
+ #define HAS_EVENT_SERVER
+@@ -87,6 +86,7 @@
+  *****************/
+ #ifdef _WIN32
++#define HAS_DVD_DRIVE
+ #define HAS_SDL_JOYSTICK
+ #define HAS_WIN32_NETWORK
+ #define HAS_IRSERVERSUITE
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0010-Fixed-so-compile-worked-when-disabling-optical.patch b/recipes/xbmc/xbmc/0010-Fixed-so-compile-worked-when-disabling-optical.patch
new file mode 100644 (file)
index 0000000..39b611f
--- /dev/null
@@ -0,0 +1,136 @@
+From 2a5804ffc7c27496605c033bcbb9fc6569ec134f Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Fri, 25 Jun 2010 09:00:12 +0000
+Subject: [PATCH 10/11] Fixed so compile worked when disabling optical
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@31374 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ guilib/system.h                 |    5 ++++-
+ xbmc/MediaManager.h             |    3 ++-
+ xbmc/MusicDatabase.cpp          |    1 +
+ xbmc/MusicInfoTagLoaderCDDA.cpp |    4 +++-
+ xbmc/Util.cpp                   |    2 +-
+ xbmc/utils/Builtins.cpp         |    7 ++++++-
+ 6 files changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/guilib/system.h b/guilib/system.h
+index 6e21cdb..f24665a 100644
+--- a/guilib/system.h
++++ b/guilib/system.h
+@@ -52,7 +52,6 @@
+ #define HAS_JSONRPC
+ #define HAS_HTTPAPI
+-#define HAS_CDDA_RIPPER
+ #ifdef HAVE_ASAP_CODEC
+ #define HAS_ASAP_CODEC
+ #endif
+@@ -250,6 +249,10 @@
+ #endif
+ #endif
++#ifdef HAS_DVD_DRIVE
++#define HAS_CDDA_RIPPER
++#endif
++
+ #define SAFE_DELETE(p)       { delete (p);     (p)=NULL; }
+ #define SAFE_DELETE_ARRAY(p) { delete[] (p);   (p)=NULL; }
+ #define SAFE_RELEASE(p)      { if(p) { (p)->Release(); (p)=NULL; } }
+diff --git a/xbmc/MediaManager.h b/xbmc/MediaManager.h
+index 11338b1..4cba1df 100644
+--- a/xbmc/MediaManager.h
++++ b/xbmc/MediaManager.h
+@@ -22,6 +22,7 @@
+ #include "MediaSource.h" // for VECSOURCES
+ #include <map>
++#include "utils/SingleLock.h"
+ #ifdef HAS_DVD_DRIVE
+ #include "FileSystem/cdioSupport.h"
+ #endif
+@@ -70,8 +71,8 @@ public:
+ #ifdef HAS_DVD_DRIVE
+   CCdInfo* GetCdInfo(const CStdString& devicePath="");
+   bool RemoveCdInfo(const CStdString& devicePath="");
+-#endif
+   CStdString GetDiskLabel(const CStdString& devicePath="");
++#endif
+   void SetHasOpticalDrive(bool bstatus);
+   bool Eject(CStdString mountpath);
+diff --git a/xbmc/MusicDatabase.cpp b/xbmc/MusicDatabase.cpp
+index f53271e..5d608a5 100644
+--- a/xbmc/MusicDatabase.cpp
++++ b/xbmc/MusicDatabase.cpp
+@@ -58,6 +58,7 @@
+ #include "utils/TimeUtils.h"
+ #include "TextureCache.h"
+ #include "GUIWindowAddonBrowser.h"
++#include "AutoPtrHandle.h"
+ using namespace std;
+ using namespace AUTOPTR;
+diff --git a/xbmc/MusicInfoTagLoaderCDDA.cpp b/xbmc/MusicInfoTagLoaderCDDA.cpp
+index 8b4dcbe..aad19c3 100644
+--- a/xbmc/MusicInfoTagLoaderCDDA.cpp
++++ b/xbmc/MusicInfoTagLoaderCDDA.cpp
+@@ -27,9 +27,11 @@
+ #include "MediaManager.h"
+ #include "utils/log.h"
+-using namespace MEDIA_DETECT;
+ using namespace MUSIC_INFO;
++#ifdef HAS_DVD_DRIVE
++using namespace MEDIA_DETECT;
+ using namespace CDDB;
++#endif
+ CMusicInfoTagLoaderCDDA::CMusicInfoTagLoaderCDDA(void)
+ {
+diff --git a/xbmc/Util.cpp b/xbmc/Util.cpp
+index 276bf5f..dab73a4 100644
+--- a/xbmc/Util.cpp
++++ b/xbmc/Util.cpp
+@@ -1829,7 +1829,7 @@ bool CUtil::ThumbCached(const CStdString& strFileName)
+ void CUtil::PlayDVD(const CStdString& strProtocol)
+ {
+-#ifdef HAS_DVDPLAYER
++#if defined(HAS_DVDPLAYER) && defined(HAS_DVD_DRIVE)
+   CIoSupport::Dismount("Cdrom0");
+   CIoSupport::RemapDriveLetter('D', "Cdrom0");
+   CStdString strPath;
+diff --git a/xbmc/utils/Builtins.cpp b/xbmc/utils/Builtins.cpp
+index 64e44a9..a7e8b31 100644
+--- a/xbmc/utils/Builtins.cpp
++++ b/xbmc/utils/Builtins.cpp
+@@ -87,9 +87,12 @@
+ using namespace std;
+ using namespace XFILE;
+-using namespace MEDIA_DETECT;
+ using namespace ADDON;
++#ifdef HAS_DVD_DRIVE
++using namespace MEDIA_DETECT;
++#endif
++
+ typedef struct
+ {
+   const char* command;
+@@ -759,10 +762,12 @@ int CBuiltins::Execute(const CStdString& execString)
+   {
+     g_playlistPlayer.Clear();
+   }
++#ifdef HAS_DVD_DRIVE
+   else if (execute.Equals("ejecttray"))
+   {
+     CIoSupport::ToggleTray();
+   }
++#endif
+   else if( execute.Equals("alarmclock") && params.size() > 1 )
+   {
+     // format is alarmclock(name,command[,seconds,true]);
+-- 
+1.6.6.1
+
diff --git a/recipes/xbmc/xbmc/0011-reverted-so-normal-bootstrap-doesn-t-exclude-gnu-con.patch b/recipes/xbmc/xbmc/0011-reverted-so-normal-bootstrap-doesn-t-exclude-gnu-con.patch
new file mode 100644 (file)
index 0000000..6cc4172
--- /dev/null
@@ -0,0 +1,66 @@
+From f217484b4c0d036697dacb3a93a450b90dd44f82 Mon Sep 17 00:00:00 2001
+From: topfs2 <topfs2@568bbfeb-2a22-0410-94d2-cc84cf5bfa90>
+Date: Fri, 25 Jun 2010 09:00:55 +0000
+Subject: [PATCH 11/11] reverted so normal bootstrap doesn't exclude gnu-configize but added a bootstrap.angstrom who does
+
+git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/gsoc-2010-beagleboard@31375 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
+---
+ bootstrap          |   14 +++++++-------
+ bootstrap.angstrom |   17 +++++++++++++++++
+ 2 files changed, 24 insertions(+), 7 deletions(-)
+ create mode 100755 bootstrap.angstrom
+
+diff --git a/bootstrap b/bootstrap
+index 09ceefc..c77ae98 100755
+--- a/bootstrap
++++ b/bootstrap
+@@ -2,16 +2,16 @@
+ set -e
+-autoreconf -vif --exclude gnu-configize
+-autoreconf -vif --exclude gnu-configize lib/cpluff
++autoreconf -vif
++autoreconf -vif lib/cpluff
+ # w must autoreconf libass as we don't know till later if it's used.
+-autoreconf -vif --exclude gnu-configize lib/libass
+-autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libbdnav
++autoreconf -vif lib/libass
++autoreconf -vif xbmc/cores/dvdplayer/Codecs/libbdnav
+ # order matters with libbdnav and friends
+ [ -d xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss ] && \
+-  autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss
+-autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread
+-autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav
++  autoreconf -vif xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss
++autoreconf -vif xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread
++autoreconf -vif xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav
+ # Clean the generated files
+ find . -depth -type d -name "autom4te.cache" -exec rm -rf {} \;
+diff --git a/bootstrap.angstrom b/bootstrap.angstrom
+new file mode 100755
+index 0000000..8549f89
+--- /dev/null
++++ b/bootstrap.angstrom
+@@ -0,0 +1,17 @@
++#!/bin/sh
++
++set -e
++
++autoreconf -vif --exclude gnu-configize
++autoreconf -vif --exclude gnu-configize lib/cpluff
++# w must autoreconf libass as we don't know till later if it's used.
++autoreconf -vif --exclude gnu-configize lib/libass
++autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libbdnav
++# order matters with libbdnav and friends
++[ -d xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss ] && \
++  autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss
++autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread
++autoreconf -vif --exclude gnu-configize xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav
++
++echo "Please (re)run configure..."
++
+-- 
+1.6.6.1
+
index 0ba75da..4085e58 100644 (file)
@@ -3,14 +3,26 @@ LICENSE = "xbmc"
 
 DEPENDS = "libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo2 enca avahi libsamplerate0 libxrandr bzip2 virtual/libsdl"
 
-SRC_URI = "git://xbmc.git.sourceforge.net/gitroot/xbmc/xbmc;protocol=git;branch=gsoc-2010-beagleboard"
-
-SRCREV = "c494f76d87ed98838e9890319554d02814bef10e"
+SRCREV = "21029056aa4c26c6ce3aa7d09703ca8b458df201"
 
 PV = "0.0"
-PR = "r1"
+PR = "r2"
 PR_append = "+gitr${SRCPV}"
 
+SRC_URI = "git://xbmc.git.sourceforge.net/gitroot/xbmc/xbmc;protocol=git;branch=master \
+file://0001-Only-check-for-nasm-on-i686-it-is-bogus-on-ARM-which.patch \
+file://0002-Exclude-gnu-configize-for-ngstr-m-Thanks-koen.patch \
+file://0003-Workaround-to-compile-python-on-ngstr-m-with-Python-.patch \
+file://0004-Don-t-use-sudo-in-install-of-xbmc.bin-not-all-distri.patch \
+file://0005-Hardcode-arm7-for-now.patch \
+file://0006-Hardcode-python2.6-for-now.patch \
+file://0007-No-need-for-FEH-on-embedded-need-a-better-way-to-not.patch \
+file://0008-configure.in-also-pass-down-target-when-using-host-a.patch \
+file://0009-Added-a-configure-option-disable-optical-drive.patch \
+file://0010-Fixed-so-compile-worked-when-disabling-optical.patch \
+file://0011-reverted-so-normal-bootstrap-doesn-t-exclude-gnu-con.patch \
+"
+
 inherit autotools gettext
 
 S = "${WORKDIR}/git"
@@ -22,7 +34,7 @@ EXTRA_OECONF = " \
 "
 
 do_configure() {
-       ./bootstrap.angstrom
+       sh bootstrap.angstrom
        oe_runconf
 }