diff --git a/packages/mediacenter/xbmc-frodo-theme-Confluence/meta b/packages/mediacenter/xbmc-frodo-theme-Confluence/meta
index f8b30bb54d..a43a9388ef 100644
--- a/packages/mediacenter/xbmc-frodo-theme-Confluence/meta
+++ b/packages/mediacenter/xbmc-frodo-theme-Confluence/meta
@@ -19,7 +19,11 @@
################################################################################
PKG_NAME="xbmc-frodo-theme-Confluence"
-PKG_VERSION="eafb2f7"
+if [ "$PVR" = yes ]; then
+ PKG_VERSION="pvr-3486b24"
+else
+ PKG_VERSION="303712d"
+fi
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/mediacenter/xbmc-frodo/meta b/packages/mediacenter/xbmc-frodo/meta
index e771a1092f..e3fc8c4b23 100644
--- a/packages/mediacenter/xbmc-frodo/meta
+++ b/packages/mediacenter/xbmc-frodo/meta
@@ -19,7 +19,11 @@
################################################################################
PKG_NAME="xbmc-frodo"
-PKG_VERSION="eafb2f7"
+if [ "$PVR" = yes ]; then
+ PKG_VERSION="pvr-3486b24"
+else
+ PKG_VERSION="303712d"
+fi
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@@ -159,7 +163,14 @@ if [ "$CRYSTALHD" = yes ]; then
PKG_DEPENDS="$PKG_DEPENDS crystalhd"
fi
-# some python stuff needed for various addons
- PKG_DEPENDS="$PKG_DEPENDS Imaging"
- PKG_DEPENDS="$PKG_DEPENDS simplejson"
+if [ "$XVBA" = yes ]; then
+ PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS xf86-video-fglrx"
+fi
+ # some python stuff needed for various addons
+ PKG_DEPENDS="$PKG_DEPENDS Imaging"
+ PKG_DEPENDS="$PKG_DEPENDS simplejson"
+
+if [ "$PVR" = yes ]; then
+ PKG_DEPENDS="$PKG_DEPENDS xbmc-addon-xvdr xbmc-addon-vuplus"
+fi
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-001-add_support_to_specify_GIT_REV-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-001-add_support_to_specify_GIT_REV-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-001-add_support_to_specify_GIT_REV-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-001-add_support_to_specify_GIT_REV-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-303-fix_libdvd_xFLAGS-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-303-fix_libdvd_xFLAGS-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-303-fix_libdvd_xFLAGS-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-303-fix_libdvd_xFLAGS-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-311-fix_rsxs_build-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-311-fix_rsxs_build-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-311-fix_rsxs_build-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-311-fix_rsxs_build-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-402-enable_yasm_in_ffmpeg-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-402-enable_yasm_in_ffmpeg-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-402-enable_yasm_in_ffmpeg-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-402-enable_yasm_in_ffmpeg-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-452-change_lcd_content-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-452-change_lcd_content-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-452-change_lcd_content-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-452-change_lcd_content-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-453-add_openelec.tv_RSS_news-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-453-add_openelec.tv_RSS_news-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-453-add_openelec.tv_RSS_news-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-454-disable_backslash-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-454-disable_backslash-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-454-disable_backslash-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-454-disable_backslash-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-457-fix_connection_check-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-457-fix_connection_check-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-457-fix_connection_check-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-457-fix_connection_check-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-462-add_remote_irtrans_mediacenter-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-462-add_remote_irtrans_mediacenter-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-462-add_remote_irtrans_mediacenter-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-462-add_remote_irtrans_mediacenter-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-463-add_remote_devinput-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-463-add_remote_devinput-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-463-add_remote_devinput-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-463-add_remote_devinput-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-464-add_eject_keymapping_for_lirc-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-464-add_eject_keymapping_for_lirc-0.1.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-464-add_eject_keymapping_for_lirc-0.1.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-464-add_eject_keymapping_for_lirc-0.1.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-981-toggleButtonState.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-981-toggleButtonState.patch
similarity index 100%
rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-eafb2f7-981-toggleButtonState.patch
rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-303712d-981-toggleButtonState.patch
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-001-add_support_to_specify_GIT_REV-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-001-add_support_to_specify_GIT_REV-0.1.patch
new file mode 100644
index 0000000000..c013e0ae3a
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-001-add_support_to_specify_GIT_REV-0.1.patch
@@ -0,0 +1,39 @@
+diff -Naur xbmc-9389dc8/configure.in xbmc-9389dc8.patch/configure.in
+--- xbmc-9389dc8/configure.in 2011-09-01 17:21:47.000000000 +0200
++++ xbmc-9389dc8.patch/configure.in 2011-09-01 23:30:40.419399392 +0200
+@@ -428,6 +428,14 @@
+ esac
+ AC_SUBST([ARCH])
+
++AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
++if test "$HAVE_GIT" = "yes" -a "$GIT_REV" = ""; then
++ GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}')
++elif test "$GIT_REV" = ""; then
++ GIT_REV="Unknown"
++fi
++final_message="$final_message\n git Rev.:\t${GIT_REV}"
++
+ # platform debug flags
+ if test "$use_debug" = "yes"; then
+ final_message="$final_message\n Debugging:\tYes"
+@@ -1177,7 +1185,6 @@
+ fi
+ fi
+
+-AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
+
+ # Checks for header files.
+ AC_HEADER_DIRENT
+@@ -1408,12 +1415,6 @@
+ final_message="$final_message\n Avahi:\tNo"
+ fi
+
+-if test "$HAVE_GIT" = "yes"; then
+- GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}')
+-fi
+-if test "$GIT_REV" = ""; then
+- GIT_REV="Unknown"
+-fi
+ if test "$host_vendor" = "apple"; then
+ echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h
+ else
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-303-fix_libdvd_xFLAGS-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-303-fix_libdvd_xFLAGS-0.1.patch
new file mode 100644
index 0000000000..5e76acefe4
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-303-fix_libdvd_xFLAGS-0.1.patch
@@ -0,0 +1,119 @@
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdcss/src/libdvdcss.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdcss/src/libdvdcss.pc.in
+--- xbmc-pvr-3513480/lib/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdcss/src/libdvdcss.pc.in 2011-04-25 05:01:20.091837122 +0200
+@@ -6,5 +6,5 @@
+ Name: libdvdcss
+ Description: DVD access and decryption library.
+ Version: @VERSION@
+-Libs: -L${libdir} -ldvdcss
+-Cflags: -I{includedir} -I${includedir}/@PACKAGE@
++Libs: -ldvdcss
++Cflags: -I.
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh
+--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config2.sh 2011-04-25 05:01:20.549828701 +0200
+@@ -56,17 +56,17 @@
+ fi
+
+ if test "$echo_cflags" = "yes"; then
+- echo -I$prefix/include $dvdread_cflags $extracflags $threadcflags
++ echo $dvdread_cflags $extracflags $threadcflags
+ fi
+
+ if test "$echo_minicflags" = "yes"; then
+- echo -I$prefix/include -I$prefix/include/dvdnav $extracflags $threadcflags
++ echo $extracflags $threadcflags
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- echo -L$libdir -ldvdnav $dvdread_libs $threadlib
++ echo -ldvdnav $dvdread_libs $threadlib
+ fi
+
+ if test "$echo_minilibs" = "yes"; then
+- echo -L$libdir -ldvdnavmini $threadlib
++ echo -ldvdnavmini $threadlib
+ fi
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config.in
+--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav-config.in 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav-config.in 2011-04-25 05:01:20.624827321 +0200
+@@ -76,13 +76,13 @@
+ fi
+
+ if test "$echo_cflags" = "yes"; then
+- echo -I@includedir@ -I@includedir@/libdvdread @THREAD_CFLAGS@
++ echo @THREAD_CFLAGS@
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- echo -L@libdir@ -ldvdnav -ldvdread @THREAD_LIBS@
++ echo -ldvdnav -ldvdread @THREAD_LIBS@
+ fi
+
+ if test "$echo_minilibs" = "yes"; then
+- echo -L@libdir@ -ldvdnavmini @THREAD_LIBS@
++ echo -ldvdnavmini @THREAD_LIBS@
+ fi
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in
+--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnavmini.pc.in 2011-04-25 05:01:21.042819641 +0200
+@@ -7,5 +7,5 @@
+ Description: DVD Navigation mini library
+ Version: @VERSION@
+
+-Cflags: -I${includedir} @DVDREAD_CFLAGS@ @THREAD_CFLAGS@
+-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@
++Cflags: @DVDREAD_CFLAGS@ @THREAD_CFLAGS@
++Libs: -ldvdnav @THREAD_LIBS@
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in
+--- xbmc-pvr-3513480/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdnav/misc/dvdnav.pc.in 2011-04-25 05:01:21.262815601 +0200
+@@ -8,5 +8,5 @@
+ Version: @VERSION@
+
+ Requires.private: dvdread >= 4.1.2
+-Cflags: -I${includedir} @THREAD_CFLAGS@
+-Libs: -L${libdir} -ldvdnav @THREAD_LIBS@
++Cflags: @THREAD_CFLAGS@
++Libs: -ldvdnav @THREAD_LIBS@
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.in
+--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.in 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.in 2011-04-25 05:01:21.278815307 +0200
+@@ -72,9 +72,9 @@
+ fi
+
+ if test "$echo_cflags" = "yes"; then
+- echo -I@includedir@
++ echo ""
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- echo -L@libdir@ -ldvdread
++ echo -ldvdread
+ fi
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.sh xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh
+--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread-config.sh 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread-config.sh 2011-04-25 05:01:21.278815307 +0200
+@@ -48,9 +48,9 @@
+ fi
+
+ if test "$echo_cflags" = "yes"; then
+- echo -I$prefix/include $extracflags
++ echo $extracflags
+ fi
+
+ if test "$echo_libs" = "yes"; then
+- echo -L$libdir $dvdreadlib
++ echo $dvdreadlib
+ fi
+diff -Naur xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread.pc.in xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in
+--- xbmc-pvr-3513480/lib/libdvd/libdvdread/misc/dvdread.pc.in 2011-04-25 02:36:42.000000000 +0200
++++ xbmc-pvr-3513480.patch/lib/libdvd/libdvdread/misc/dvdread.pc.in 2011-04-25 05:01:21.279815289 +0200
+@@ -7,5 +7,5 @@
+ Description: Low level DVD access library
+ Version: @VERSION@
+
+-Cflags: -I${includedir}
+-Libs: -L${libdir} -ldvdread
++Cflags: -I.
++Libs: -ldvdread
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-311-fix_rsxs_build-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-311-fix_rsxs_build-0.1.patch
new file mode 100644
index 0000000000..fe0ee49cab
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-311-fix_rsxs_build-0.1.patch
@@ -0,0 +1,12 @@
+diff -Naur xbmc-dab646e/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h xbmc-dab646e.patch/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h
+--- xbmc-dab646e/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h 2011-09-27 15:56:19.000000000 +0200
++++ xbmc-dab646e.patch/xbmc/screensavers/rsxs-0.9/lib/argp-namefrob.h 2011-10-16 02:13:13.805433847 +0200
+@@ -17,7 +17,7 @@
+ with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+-#if !_LIBC
++#if 0
+ /* This code is written for inclusion in gnu-libc, and uses names in the
+ namespace reserved for libc. If we're not compiling in libc, define those
+ names to be the normal ones instead. */
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-402-enable_yasm_in_ffmpeg-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-402-enable_yasm_in_ffmpeg-0.1.patch
new file mode 100644
index 0000000000..b8f5b8afcf
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-402-enable_yasm_in_ffmpeg-0.1.patch
@@ -0,0 +1,21 @@
+diff -Naur xbmc-pvr-3513480/configure.in xbmc-pvr-3513480.patch/configure.in
+--- xbmc-pvr-3513480/configure.in 2011-04-25 02:36:33.000000000 +0200
++++ xbmc-pvr-3513480.patch/configure.in 2011-04-25 05:14:49.220848143 +0200
+@@ -885,6 +885,9 @@
+ AC_MSG_NOTICE($external_ffmpeg_disabled)
+ USE_EXTERNAL_FFMPEG=0
+ AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1], [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.])
++
++ # check for yasm
++ AC_CHECK_PROG(HAVE_YASM,yasm,"yes","no",)
+ fi
+
+ # Python
+@@ -1547,6 +1550,7 @@
+ `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
+ `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
+ --target-os=$(tolower $(uname -s)) \
++ `if test "$HAVE_YASM" = "yes"; then echo --enable-yasm; fi` \
+ --disable-muxers \
+ --enable-muxer=spdif \
+ --enable-muxer=adts \
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch
new file mode 100644
index 0000000000..821c1cc7bd
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch
@@ -0,0 +1,18 @@
+diff -Naur xbmc-a3c804b/xbmc/interfaces/python/XBPython.cpp xbmc-a3c804b.patch/xbmc/interfaces/python/XBPython.cpp
+--- xbmc-a3c804b/xbmc/interfaces/python/XBPython.cpp 2011-08-17 23:40:00.000000000 +0200
++++ xbmc-a3c804b.patch/xbmc/interfaces/python/XBPython.cpp 2011-08-18 03:50:49.652475572 +0200
+@@ -335,11 +335,9 @@
+ // at http://docs.python.org/using/cmdline.html#environment-variables
+
+ #if !defined(_WIN32)
+- /* PYTHONOPTIMIZE is set off intentionally when using external Python.
+- Reason for this is because we cannot be sure what version of Python
+- was used to compile the various Python object files (i.e. .pyo,
+- .pyc, etc.). */
+- // check if we are running as real xbmc.app or just binary
++ // Required for python to find optimized code (pyo) files
++ setenv("PYTHONOPTIMIZE", "1", 1);
++ // check if we are running as real xbmc.app or just binary
+ if (!CUtil::GetFrameworksPath(true).IsEmpty())
+ {
+ // using external python, it's build looking for xxx/lib/python2.6
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-452-change_lcd_content-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-452-change_lcd_content-0.1.patch
new file mode 100644
index 0000000000..0427b534f9
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-452-change_lcd_content-0.1.patch
@@ -0,0 +1,12 @@
+diff -Naur xbmc-pvr-3513480/userdata/LCD.xml xbmc-pvr-3513480.patch/userdata/LCD.xml
+--- xbmc-pvr-3513480/userdata/LCD.xml 2011-04-25 02:36:33.000000000 +0200
++++ xbmc-pvr-3513480.patch/userdata/LCD.xml 2011-04-25 05:27:34.956125133 +0200
+@@ -21,7 +21,7 @@
+ Freemem: $INFO[System.FreeMemory]
+
+
+- XBMC running...
++ *** OpenELEC ***
+ $INFO[System.Time] $INFO[System.Date]
+ Freemem: $INFO[System.FreeMemory]
+ $INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-453-add_openelec.tv_RSS_news-0.1.patch
new file mode 100644
index 0000000000..5b32c0cce7
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-453-add_openelec.tv_RSS_news-0.1.patch
@@ -0,0 +1,11 @@
+diff -Naur xbmc-10.1-Dharma/userdata/RssFeeds.xml xbmc-10.1-Dharma.patch/userdata/RssFeeds.xml
+--- xbmc-10.1-Dharma/userdata/RssFeeds.xml 2011-03-08 02:49:24.000000000 +0100
++++ xbmc-10.1-Dharma.patch/userdata/RssFeeds.xml 2011-06-14 17:07:08.450880123 +0200
+@@ -3,6 +3,7 @@
+
+
+
++ http://openelec.tv/news?format=feed&type=rss
+ http://feeds.feedburner.com/xbmc
+
+
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-454-disable_backslash-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-454-disable_backslash-0.1.patch
new file mode 100644
index 0000000000..0888920258
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-454-disable_backslash-0.1.patch
@@ -0,0 +1,12 @@
+diff -Naur xbmc-30a9070/system/keymaps/keyboard.xml xbmc-30a9070.patch/system/keymaps/keyboard.xml
+--- xbmc-30a9070/system/keymaps/keyboard.xml 2011-07-28 06:20:13.000000000 +0200
++++ xbmc-30a9070.patch/system/keymaps/keyboard.xml 2011-07-28 09:39:57.210973380 +0200
+@@ -90,7 +90,7 @@
+ Number7
+ Number8
+ Number9
+- ToggleFullScreen
++
+ FirstPage
+ LastPage
+
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-457-fix_connection_check-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-457-fix_connection_check-0.1.patch
new file mode 100644
index 0000000000..9488def289
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-457-fix_connection_check-0.1.patch
@@ -0,0 +1,15 @@
+diff -Naur a/xbmc/filesystem/CurlFile.cpp b/xbmc/filesystem/CurlFile.cpp
+--- a/xbmc/filesystem/CurlFile.cpp 2011-03-08 02:49:14.000000000 +0100
++++ b/xbmc/filesystem/CurlFile.cpp 2011-10-17 19:21:04.180783870 +0200
+@@ -803,9 +803,9 @@
+ // Detect whether we are "online" or not! Very simple and dirty!
+ bool CFileCurl::IsInternet(bool checkDNS /* = true */)
+ {
+- CStdString strURL = "http://www.google.com";
++ CStdString strURL = "http://www.openelec.tv";
+ if (!checkDNS)
+- strURL = "http://74.125.19.103"; // www.google.com ip
++ strURL = "http://212.101.13.10"; // www.openelec.tv ip
+
+ bool found = Exists(strURL);
+ Close();
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-462-add_remote_irtrans_mediacenter-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-462-add_remote_irtrans_mediacenter-0.1.patch
new file mode 100644
index 0000000000..0edef5a7a5
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-462-add_remote_irtrans_mediacenter-0.1.patch
@@ -0,0 +1,52 @@
+diff -Naur xbmc-pvr-3513480/system/Lircmap.xml xbmc-pvr-3513480.patch/system/Lircmap.xml
+--- xbmc-pvr-3513480/system/Lircmap.xml 2011-04-25 02:36:33.000000000 +0200
++++ xbmc-pvr-3513480.patch/system/Lircmap.xml 2011-04-25 05:31:39.632429078 +0200
+@@ -409,4 +409,48 @@
+ KEY_YELLOW
+ KEY_BLUE
+
++
++ pause
++ stop
++ fwd
++ rew
++ left
++ right
++ up
++ down
++
++ ch+
++ ch-
++ back
++
++ play
++ info
++ next
++ prev
++ teletext
++ ehome
++ rec
++ vol+
++ vol-
++ mute
++ power
++ video
++ music
++ pictures
++ tv
++ 1
++ 2
++ 3
++ 4
++ 5
++ 6
++ 7
++ 8
++ 9
++ 0
++ red
++ green
++ yellow
++ blue
++
+
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-463-add_remote_devinput-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-463-add_remote_devinput-0.1.patch
new file mode 100644
index 0000000000..85d635b61b
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-463-add_remote_devinput-0.1.patch
@@ -0,0 +1,71 @@
+diff -Naur xbmc-10.1-Dharma/system/Lircmap.xml xbmc-10.1-Dharma.patch/system/Lircmap.xml
+--- xbmc-10.1-Dharma/system/Lircmap.xml 2011-06-18 01:43:43.132101246 +0200
++++ xbmc-10.1-Dharma.patch/system/Lircmap.xml 2011-06-18 01:44:53.777025290 +0200
+@@ -365,7 +365,6 @@
+
+
+ cx23885_remote
+- devinput
+ KEY_LEFT
+ KEY_RIGHT
+ KEY_UP
+@@ -452,4 +451,59 @@
+ yellow
+ blue
+
++
++
++ KEY_LEFT
++ KEY_RIGHT
++ KEY_UP
++ KEY_DOWN
++
++ KEY_ENTER
++ KEY_DELETE
++ KEY_PROG1
++ KEY_EXIT
++ KEY_RECORD
++ KEY_PLAY
++ KEY_PAUSE
++ KEY_STOP
++ KEY_FASTFORWARD
++ KEY_REWIND
++ KEY_VOLUMEUP
++ KEY_VOLUMEDOWN
++ KEY_CHANNELUP
++ KEY_CHANNELDOWN
++ KEY_NEXT
++ KEY_PREVIOUS
++ KEY_EPG
++ KEY_SUBTITLE
++ KEY_LANGUAGE
++ KEY_INFO
++ KEY_ZOOM
++ KEY_MUTE
++ KEY_POWER
++ KEY_EJECT
++
++
++ KEY_VIDEO
++ KEY_AUDIO
++ KEY_CAMERA
++ KEY_TUNER
++ KEY_TEXT
++ KEY_NUMERIC_1
++ KEY_NUMERIC_2
++ KEY_NUMERIC_3
++ KEY_NUMERIC_4
++ KEY_NUMERIC_5
++ KEY_NUMERIC_6
++ KEY_NUMERIC_7
++ KEY_NUMERIC_8
++ KEY_NUMERIC_9
++ KEY_NUMERIC_0
++ KEY_NUMERIC_STAR
++ KEY_NUMERIC_POUND
++ KEY_RED
++ KEY_GREEN
++ KEY_YELLOW
++ KEY_BLUE
++
+
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-464-add_eject_keymapping_for_lirc-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-464-add_eject_keymapping_for_lirc-0.1.patch
new file mode 100644
index 0000000000..56c56016b5
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-464-add_eject_keymapping_for_lirc-0.1.patch
@@ -0,0 +1,11 @@
+diff -Naur xbmc-10.1-Dharma/system/keymaps/remote.xml xbmc-10.1-Dharma.patch/system/keymaps/remote.xml
+--- xbmc-10.1-Dharma/system/keymaps/remote.xml 2011-03-08 02:49:23.000000000 +0100
++++ xbmc-10.1-Dharma.patch/system/keymaps/remote.xml 2011-06-18 01:48:26.887811969 +0200
+@@ -63,6 +63,7 @@
+ VolumeDown
+ Mute
+ XBMC.ShutDown()
++ XBMC.EjectTray()
+ XBMC.ActivateWindow(MyVideos)
+ XBMC.ActivateWindow(MyMusic)
+ XBMC.ActivateWindow(MyPictures)
diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-981-toggleButtonState.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-981-toggleButtonState.patch
new file mode 100644
index 0000000000..17a606f1b1
--- /dev/null
+++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-pvr-3486b24-981-toggleButtonState.patch
@@ -0,0 +1,304 @@
+diff -Naur xbmc-f3b0020/xbmc/guilib/GUIToggleButtonControl.h xbmc-f3b0020.patch/xbmc/guilib/GUIToggleButtonControl.h
+--- xbmc-f3b0020/xbmc/guilib/GUIToggleButtonControl.h 2011-12-10 22:16:22.000000000 +0100
++++ xbmc-f3b0020.patch/xbmc/guilib/GUIToggleButtonControl.h 2011-12-17 18:43:42.183704449 +0100
+@@ -57,6 +57,7 @@
+ virtual CStdString GetDescription() const;
+ void SetToggleSelect(const CStdString &toggleSelect);
+ void SetAltClickActions(const CGUIAction &clickActions);
++ bool IsSelected() const { return m_bSelected; };
+
+ protected:
+ virtual bool UpdateColors();
+diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/control.h xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/control.h
+--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/control.h 2011-12-10 22:16:21.000000000 +0100
++++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/control.h 2011-12-17 18:43:42.216705084 +0100
+@@ -135,6 +135,11 @@
+
+ typedef struct {
+ PyObject_HEAD_XBMC_CONTROL
++ bool bIsSelected;
++ } ControlToggle;
++
++ typedef struct {
++ PyObject_HEAD_XBMC_CONTROL
+ std::string strFont;
+ color_t textColor;
+ std::vector vecLabels;
+@@ -263,7 +268,8 @@
+ extern PyTypeObject ControlRadioButton_Type;
+ extern PyTypeObject ControlSlider_Type;
+ extern PyTypeObject ControlEdit_Type;
+-
++ extern PyTypeObject ControlToggle_Type;
++
+ CGUIControl* ControlLabel_Create(ControlLabel* pControl);
+ CGUIControl* ControlFadeLabel_Create(ControlFadeLabel* pControl);
+ CGUIControl* ControlTextBox_Create(ControlTextBox* pControl);
+@@ -276,6 +282,7 @@
+ CGUIControl* ControlRadioButton_Create(ControlRadioButton* pControl);
+ CGUIControl* ControlSlider_Create(ControlSlider* pControl);
+ CGUIControl* ControlEdit_Create(ControlEdit* pControl);
++ CGUIControl* ControlToggle_Create(ControlToggle* pControl);
+
+ void initControl_Type();
+ void initControlSpin_Type();
+@@ -291,6 +298,7 @@
+ void initControlRadioButton_Type();
+ void initControlSlider_Type();
+ void initControlEdit_Type();
++ void initControlToggle_Type();
+ }
+
+ #ifdef __cplusplus
+diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp
+--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp 1970-01-01 01:00:00.000000000 +0100
++++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp 2011-12-17 18:43:42.217705104 +0100
+@@ -0,0 +1,181 @@
++/*
++ * Copyright (C) 2005-2011 Team XBMC
++ * http://www.xbmc.org
++ *
++ * This Program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2, or (at your option)
++ * any later version.
++ *
++ * This Program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with XBMC; see the file COPYING. If not, write to
++ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
++ * http://www.gnu.org/copyleft/gpl.html
++ *
++ */
++
++#include
++
++#include "guilib/GUIToggleButtonControl.h"
++#include "guilib/GUIFontManager.h"
++#include "control.h"
++#include "pyutil.h"
++
++using namespace std;
++
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++namespace PYXBMC
++{
++ PyObject* ControlToggle_New(
++ PyTypeObject *type,
++ PyObject *args,
++ PyObject *kwds )
++ {
++ static const char *keywords[] = {
++ "x", "y", "width", "height", "label",
++ "focusTexture", "noFocusTexture",
++ "textOffsetX", "textOffsetY", "alignment",
++ "font", "textColor", "disabledColor", "angle", "shadowColor", "focusedColor", NULL };
++ ControlToggle *self;
++ char* cFont = NULL;
++ char* cTextureFocus = NULL;
++ char* cTextureNoFocus = NULL;
++ char* cTextColor = NULL;
++ char* cDisabledColor = NULL;
++ char* cShadowColor = NULL;
++ char* cFocusedColor = NULL;
++
++ PyObject* pObjectText;
++
++ self = (ControlToggle*)type->tp_alloc(type, 0);
++ if (!self) return NULL;
++ new(&self->bIsSelected) bool();
++
++ if (!PyArg_ParseTupleAndKeywords(
++ args,
++ kwds,
++ (char*)"llllO|sslllssslss",
++ (char**)keywords,
++ &self->dwPosX,
++ &self->dwPosY,
++ &self->dwWidth,
++ &self->dwHeight,
++ &pObjectText,
++ &cTextureFocus,
++ &cTextureNoFocus,
++ &cFont,
++ &cTextColor,
++ &cDisabledColor,
++ &cShadowColor,
++ &cFocusedColor))
++ {
++ Py_DECREF( self );
++ return NULL;
++ }
++
++
++ cTextureFocus :
++ PyXBMCGetDefaultImage((char*)"button", (char*)"texturefocus", (char*)"button-focus.png");
++ cTextureNoFocus :
++ PyXBMCGetDefaultImage((char*)"button", (char*)"texturenofocus", (char*)"button-nofocus.jpg");
++
++ return (PyObject*)self;
++ }
++
++ void ControlToggle_Dealloc(ControlToggle* self)
++ {
++ self->ob_type->tp_free((PyObject*)self);
++ }
++
++
++ // isSelected() Method
++ PyDoc_STRVAR(isSelected__doc__,
++ "isSelected() -- Returns the toggle buttons's selected status.\n"
++ "\n"
++ "example:\n"
++ " - is = self.togglebutton.isSelected()\n");
++
++ PyObject* ControlToggle_IsSelected(ControlToggle *self, PyObject *args)
++ {
++ bool isSelected = false;
++
++ PyXBMCGUILock();
++ if (self->pGUIControl)
++ isSelected = ((CGUIToggleButtonControl*)self->pGUIControl)->IsSelected();
++ PyXBMCGUIUnlock();
++
++ return Py_BuildValue((char*)"b", isSelected);
++ }
++
++
++ PyMethodDef ControlToggle_methods[] = {
++ {(char*)"isSelected", (PyCFunction)ControlToggle_IsSelected, METH_VARARGS, isSelected__doc__},
++ {NULL, NULL, 0, NULL}
++ };
++
++ // ControlRadioButton class
++ PyDoc_STRVAR(ControlToggle__doc__,
++ "ControlRadioButton class.\n"
++ "\n"
++ "ControlRadioButton(x, y, width, height, label[, focusTexture, noFocusTexture, textOffsetX, textOffsetY,\n"
++ " alignment, font, textColor, disabledColor, angle, shadowColor, focusedColor,\n"
++ " radioFocusTexture, noRadioFocusTexture])\n"
++ "\n"
++ "x : integer - x coordinate of control.\n"
++ "y : integer - y coordinate of control.\n"
++ "width : integer - width of control.\n"
++ "height : integer - height of control.\n"
++ "label : string or unicode - text string.\n"
++ "focusTexture : [opt] string - filename for focus texture.\n"
++ "noFocusTexture : [opt] string - filename for no focus texture.\n"
++ "textOffsetX : [opt] integer - x offset of label.\n"
++ "textOffsetY : [opt] integer - y offset of label.\n"
++ "alignment : [opt] integer - alignment of label - *Note, see xbfont.h\n"
++ "font : [opt] string - font used for label text. (e.g. 'font13')\n"
++ "textColor : [opt] hexstring - color of enabled radio button's label. (e.g. '0xFFFFFFFF')\n"
++ "disabledColor : [opt] hexstring - color of disabled radio button's label. (e.g. '0xFFFF3300')\n"
++ "angle : [opt] integer - angle of control. (+ rotates CCW, - rotates CW)\n"
++ "shadowColor : [opt] hexstring - color of radio button's label's shadow. (e.g. '0xFF000000')\n"
++ "focusedColor : [opt] hexstring - color of focused radio button's label. (e.g. '0xFF00FFFF')\n"
++ "radioFocusTexture : [opt] string - filename for radio focus texture.\n"
++ "noRadioFocusTexture : [opt] string - filename for radio no focus texture.\n"
++ "\n"
++ "*Note, You can use the above as keywords for arguments and skip certain optional arguments.\n"
++ " Once you use a keyword, all following arguments require the keyword.\n"
++ " After you create the control, you need to add it to the window with addControl().\n"
++ "\n"
++ "example:\n"
++ " - self.radiobutton = xbmcgui.ControlToggleButton(100, 250, 200, 50, 'Status', font='font14')\n");
++
++ // Restore code and data sections to normal.
++
++ PyTypeObject ControlToggle_Type;
++
++ void initControlToggle_Type()
++ {
++ PyXBMCInitializeTypeObject(&ControlToggle_Type);
++
++ ControlToggle_Type.tp_name = (char*)"xbmcgui.ControlToggleButton";
++ ControlToggle_Type.tp_basicsize = sizeof(ControlToggle);
++ ControlToggle_Type.tp_dealloc = (destructor)ControlToggle_Dealloc;
++ ControlToggle_Type.tp_compare = 0;
++ ControlToggle_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;
++ ControlToggle_Type.tp_doc = ControlToggle__doc__;
++ ControlToggle_Type.tp_methods = ControlToggle_methods;
++ ControlToggle_Type.tp_base = &Control_Type;
++ ControlToggle_Type.tp_new = ControlToggle_New;
++ }
++}
++
++#ifdef __cplusplus
++}
++#endif
+diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/Makefile.in xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/Makefile.in
+--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/Makefile.in 2011-12-10 22:16:21.000000000 +0100
++++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/Makefile.in 2011-12-17 18:44:47.447960296 +0100
+@@ -13,6 +13,7 @@
+ controlslider.cpp \
+ controlspin.cpp \
+ controltextbox.cpp \
++ controltogglebutton.cpp \
+ dialog.cpp \
+ GUIPythonWindow.cpp \
+ GUIPythonWindowDialog.cpp \
+diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/window.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/window.cpp
+--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/window.cpp 2011-12-10 22:16:21.000000000 +0100
++++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/window.cpp 2011-12-17 18:43:42.218705123 +0100
+@@ -277,6 +277,12 @@
+ if (li.font) ((ControlEdit*)pControl)->strFont = li.font->GetFontName();
+ ((ControlButton*)pControl)->align = li.align;
+ break;
++ case CGUIControl::GUICONTROL_TOGGLEBUTTON:
++ pControl = (Control*)ControlToggle_Type.tp_alloc(&ControlToggle_Type, 0);
++ new(&((ControlToggle*)pControl)->bIsSelected) bool();
++
++ break;
++
+ default:
+ break;
+ }
+diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp
+--- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp 2011-12-10 22:16:21.000000000 +0100
++++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp 2011-12-17 18:43:42.219705142 +0100
+@@ -138,6 +138,7 @@
+ initAction_Type();
+ initControlRadioButton_Type();
+ initControlEdit_Type();
++ initControlToggle_Type();
+
+ if (PyType_Ready(&Window_Type) < 0 ||
+ PyType_Ready(&WindowDialog_Type) < 0 ||
+@@ -160,7 +161,8 @@
+ PyType_Ready(&ControlSlider_Type) < 0 ||
+ PyType_Ready(&ControlRadioButton_Type) < 0 ||
+ PyType_Ready(&ControlEdit_Type) < 0 ||
+- PyType_Ready(&Action_Type) < 0)
++ PyType_Ready(&Action_Type) < 0 ||
++ PyType_Ready(&ControlToggle_Type) < 0)
+ return;
+
+ }
+@@ -200,6 +202,7 @@
+ Py_INCREF(&Action_Type);
+ Py_INCREF(&ControlRadioButton_Type);
+ Py_INCREF(&ControlEdit_Type);
++ Py_INCREF(&ControlToggle_Type);
+
+ pXbmcGuiModule = Py_InitModule3((char*)"xbmcgui", xbmcGuiMethods, xbmcgui_module_documentation);
+
+@@ -227,7 +230,8 @@
+ PyModule_AddObject(pXbmcGuiModule, (char*)"Action", (PyObject *)&Action_Type);
+ PyModule_AddObject(pXbmcGuiModule, (char*)"ControlRadioButton", (PyObject*)&ControlRadioButton_Type);
+ PyModule_AddObject(pXbmcGuiModule, (char*)"ControlEdit", (PyObject*)&ControlEdit_Type);
+-
++ PyModule_AddObject(pXbmcGuiModule, (char*)"ControlToggle", (PyObject*)&ControlToggle_Type);
++
+ PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__author__", (char*)PY_XBMC_AUTHOR);
+ PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__date__", (char*)"14 July 2006");
+ PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__version__", (char*)"1.2");
+diff -Naur xbmc-f3b0020/XBMC.xcodeproj/project.pbxproj xbmc-f3b0020.patch/XBMC.xcodeproj/project.pbxproj
diff --git a/projects/ATV/options b/projects/ATV/options
index 36a986925c..283f560712 100755
--- a/projects/ATV/options
+++ b/projects/ATV/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/Fusion/options b/projects/Fusion/options
index 9d29fb8f23..147a5bc4cd 100755
--- a/projects/Fusion/options
+++ b/projects/Fusion/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/Generic/options b/projects/Generic/options
index 91a7511ec5..f4859c3c4a 100755
--- a/projects/Generic/options
+++ b/projects/Generic/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/Generic_OSS/options b/projects/Generic_OSS/options
index 8a7326a8c8..2e556ed665 100755
--- a/projects/Generic_OSS/options
+++ b/projects/Generic_OSS/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/ION/options b/projects/ION/options
index 4681f0c96b..c575b90f25 100755
--- a/projects/ION/options
+++ b/projects/ION/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/Intel/options b/projects/Intel/options
index 12b360038b..5e4553fb49 100755
--- a/projects/Intel/options
+++ b/projects/Intel/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/RPi/options b/projects/RPi/options
index d8311ceba6..c258d160c7 100755
--- a/projects/RPi/options
+++ b/projects/RPi/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
@@ -103,7 +105,8 @@
# Kernel to use. values can be:
# default: default mainline kernel
# ti-omap4: Ti's OMAP4 kernel
- LINUX="3.1.10"
+# LINUX="3.1.10"
+ LINUX="default"
# use linux-next (latest rc) instead latest released version
LINUX_NEXT="no"
diff --git a/projects/Ultra/options b/projects/Ultra/options
index 6cf4e20821..76680e1e0a 100755
--- a/projects/Ultra/options
+++ b/projects/Ultra/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/projects/Virtual/options b/projects/Virtual/options
index 03d23f9111..358195c6c6 100755
--- a/projects/Virtual/options
+++ b/projects/Virtual/options
@@ -1,12 +1,14 @@
# Name of the Distro to build (full name, without special charcters)
if [ "$XBMC" = frodo ]; then
DISTRONAME="OpenELEC_frodo"
- elif [ "$PVR" = yes ]; then
- DISTRONAME="OpenELEC_PVR"
else
DISTRONAME="OpenELEC"
fi
+ if [ "$PVR" = yes ]; then
+ DISTRONAME="${DISTRONAME}_PVR"
+ fi
+
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC - The living room PC for everyone #"
diff --git a/tools/mkpkg/mkpkg_xbmc-frodo b/tools/mkpkg/mkpkg_xbmc-frodo
index c4909c05dc..391ac0ddb6 100755
--- a/tools/mkpkg/mkpkg_xbmc-frodo
+++ b/tools/mkpkg/mkpkg_xbmc-frodo
@@ -20,6 +20,7 @@
################################################################################
PKG_NAME="xbmc-frodo"
+PKG_VERSION=""
GIT_REPO="-b master git://github.com/xbmc/xbmc.git"
DEST_DIR="$PKG_NAME"
@@ -35,42 +36,43 @@ echo "getting version..."
GIT_REV=`git log -n1 --format=%h`
echo $GIT_REV
cd ..
+ PKG_VERSION="$GIT_REV"
echo "copying sources..."
- rm -rf $PKG_NAME-$GIT_REV
- cp -R $DEST_DIR-latest $PKG_NAME-$GIT_REV
- echo "$GIT_REV" > $PKG_NAME-$GIT_REV/git.version
+ rm -rf $PKG_NAME-$PKG_VERSION
+ cp -R $DEST_DIR-latest $PKG_NAME-$PKG_VERSION
+ echo "$GIT_REV" > $PKG_NAME-$PKG_VERSION/git.version
echo "cleaning sources..."
- rm -rf $PKG_NAME-$GIT_REV/.git
+ rm -rf $PKG_NAME-$PKG_VERSION/.git
echo "seperating theme..."
- rm -rf $PKG_NAME-theme-Confluence-$GIT_REV
- mv $PKG_NAME-$GIT_REV/addons/skin.confluence $PKG_NAME-theme-Confluence-$GIT_REV
+ rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION
+ mv $PKG_NAME-$PKG_VERSION/addons/skin.confluence $PKG_NAME-theme-Confluence-$PKG_VERSION
echo "cleaning sources..."
- rm -rf $PKG_NAME-$GIT_REV/visualisations
- rm -rf $PKG_NAME-$GIT_REV/lib/libSDL-*
- rm -rf $PKG_NAME-$GIT_REV/lib/libcurl-*
- rm -rf $PKG_NAME-$GIT_REV/project
+ rm -rf $PKG_NAME-$PKG_VERSION/visualisations
+ rm -rf $PKG_NAME-$PKG_VERSION/lib/libSDL-*
+ rm -rf $PKG_NAME-$PKG_VERSION/lib/libcurl-*
+ rm -rf $PKG_NAME-$PKG_VERSION/project
for i in "Changelog" "Fake\ Episode\ Maker" "MingwBuildEnvironment" \
"PackageMaker" "Translator" "XBMCLive" "XprPack" \
"HardwareConfigure" "Mach5" "osx" "UpdateThumbs.py" "XBMCTex"; do
- rm -rf $PKG_NAME-$GIT_REV/tools/$i
+ rm -rf $PKG_NAME-$PKG_VERSION/tools/$i
done
for i in dll a lib so bat; do
- find $PKG_NAME-$GIT_REV -name *.$i -exec rm -rf {} ";"
+ find $PKG_NAME-$PKG_VERSION -name *.$i -exec rm -rf {} ";"
done
# bundled win32 binaries
- rm -r $PKG_NAME-$GIT_REV/xbmc/visualizations/XBMCProjectM/win32
+ rm -r $PKG_NAME-$PKG_VERSION/xbmc/visualizations/XBMCProjectM/win32
echo "packing sources..."
- tar cvJf $PKG_NAME-$GIT_REV.tar.xz $PKG_NAME-$GIT_REV
- tar cvJf $PKG_NAME-theme-Confluence-$GIT_REV.tar.xz $PKG_NAME-theme-Confluence-$GIT_REV
+ tar cvJf $PKG_NAME-$PKG_VERSION.tar.xz $PKG_NAME-$PKG_VERSION
+ tar cvJf $PKG_NAME-theme-Confluence-$PKG_VERSION.tar.xz $PKG_NAME-theme-Confluence-$PKG_VERSION
echo "remove temporary sourcedir..."
- rm -rf $PKG_NAME-$GIT_REV
- rm -rf $PKG_NAME-theme-Confluence-$GIT_REV
+ rm -rf $PKG_NAME-$PKG_VERSION
+ rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION
diff --git a/tools/mkpkg/mkpkg_xbmc-pvr b/tools/mkpkg/mkpkg_xbmc-frodo-pvr
similarity index 59%
rename from tools/mkpkg/mkpkg_xbmc-pvr
rename to tools/mkpkg/mkpkg_xbmc-frodo-pvr
index bd9cc2b555..8d93733912 100755
--- a/tools/mkpkg/mkpkg_xbmc-pvr
+++ b/tools/mkpkg/mkpkg_xbmc-frodo-pvr
@@ -19,9 +19,10 @@
# http://www.gnu.org/copyleft/gpl.html
################################################################################
-PKG_NAME="xbmc-pvr"
-GIT_REPO="-b pvr-ppa git://github.com/opdenkamp/xbmc.git"
-DEST_DIR="$PKG_NAME"
+PKG_NAME="xbmc-frodo"
+PKG_VERSION="pvr"
+GIT_REPO="-b master git://github.com/opdenkamp/xbmc.git"
+DEST_DIR="$PKG_NAME-pvr"
echo "getting sources..."
if [ ! -d $DEST_DIR-latest ]; then
@@ -35,46 +36,43 @@ echo "getting version..."
GIT_REV=`git log -n1 --format=%h`
echo $GIT_REV
cd ..
+ PKG_VERSION="$PKG_VERSION-$GIT_REV"
echo "copying sources..."
- rm -rf $PKG_NAME-$GIT_REV
- cp -R $DEST_DIR-latest $PKG_NAME-$GIT_REV
- echo "$GIT_REV" > $PKG_NAME-$GIT_REV/git.version
+ rm -rf $PKG_NAME-$PKG_VERSION
+ cp -R $DEST_DIR-latest $PKG_NAME-$PKG_VERSION
+ echo "$GIT_REV" > $PKG_NAME-$PKG_VERSION/git.version
echo "cleaning sources..."
- rm -rf $PKG_NAME-$GIT_REV/.git
+ rm -rf $PKG_NAME-$PKG_VERSION/.git
echo "seperating theme..."
- rm -rf $PKG_NAME-theme-Confluence-$GIT_REV
- mv $PKG_NAME-$GIT_REV/addons/skin.confluence $PKG_NAME-theme-Confluence-$GIT_REV
-# rm -rf $PKG_NAME-theme-Touched-$GIT_REV
-# mv $PKG_NAME-$GIT_REV/addons/skin.touched $PKG_NAME-theme-Touched-$GIT_REV
+ rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION
+ mv $PKG_NAME-$PKG_VERSION/addons/skin.confluence $PKG_NAME-theme-Confluence-$PKG_VERSION
echo "cleaning sources..."
- rm -rf $PKG_NAME-$GIT_REV/visualisations
- rm -rf $PKG_NAME-$GIT_REV/lib/libSDL-*
- rm -rf $PKG_NAME-$GIT_REV/lib/libcurl-*
- rm -rf $PKG_NAME-$GIT_REV/project
+ rm -rf $PKG_NAME-$PKG_VERSION/visualisations
+ rm -rf $PKG_NAME-$PKG_VERSION/lib/libSDL-*
+ rm -rf $PKG_NAME-$PKG_VERSION/lib/libcurl-*
+ rm -rf $PKG_NAME-$PKG_VERSION/project
for i in "Changelog" "Fake\ Episode\ Maker" "MingwBuildEnvironment" \
"PackageMaker" "Translator" "XBMCLive" "XprPack" \
"HardwareConfigure" "Mach5" "osx" "UpdateThumbs.py" "XBMCTex"; do
- rm -rf $PKG_NAME-$GIT_REV/tools/$i
+ rm -rf $PKG_NAME-$PKG_VERSION/tools/$i
done
for i in dll a lib so bat; do
- find $PKG_NAME-$GIT_REV -name *.$i -exec rm -rf {} ";"
+ find $PKG_NAME-$PKG_VERSION -name *.$i -exec rm -rf {} ";"
done
# bundled win32 binaries
- rm -r $PKG_NAME-$GIT_REV/xbmc/visualizations/XBMCProjectM/win32
+ rm -r $PKG_NAME-$PKG_VERSION/xbmc/visualizations/XBMCProjectM/win32
echo "packing sources..."
- tar cvJf $PKG_NAME-$GIT_REV.tar.xz $PKG_NAME-$GIT_REV
- tar cvJf $PKG_NAME-theme-Confluence-$GIT_REV.tar.xz $PKG_NAME-theme-Confluence-$GIT_REV
-# tar cvJf $PKG_NAME-theme-Touched-$GIT_REV.tar.xz $PKG_NAME-theme-Touched-$GIT_REV
+ tar cvJf $PKG_NAME-$PKG_VERSION.tar.xz $PKG_NAME-$PKG_VERSION
+ tar cvJf $PKG_NAME-theme-Confluence-$PKG_VERSION.tar.xz $PKG_NAME-theme-Confluence-$PKG_VERSION
echo "remove temporary sourcedir..."
- rm -rf $PKG_NAME-$GIT_REV
- rm -rf $PKG_NAME-theme-Confluence-$GIT_REV
-# rm -rf $PKG_NAME-theme-Touched-$GIT_REV
+ rm -rf $PKG_NAME-$PKG_VERSION
+ rm -rf $PKG_NAME-theme-Confluence-$PKG_VERSION