new package: add package 'xbmc-rpi'

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2012-02-02 20:05:28 +01:00
parent 663f8261ed
commit 5d4b5f3598
40 changed files with 10664 additions and 0 deletions

View File

@ -0,0 +1,290 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. config/options $1
if [ "$XORG_SUPPORT" = yes ]; then
XBMC_XORG="--enable-x11 --enable-xrandr"
else
XBMC_XORG="--disable-x11 --disable-xrandr"
fi
if [ "$OPENGL_SUPPORT" = yes ]; then
XBMC_OPENGL="--enable-gl"
else
XBMC_OPENGL="--disable-gl"
fi
if [ "$OPENGLES_SUPPORT" = yes ]; then
XBMC_OPENGLES="--enable-gles"
else
XBMC_OPENGLES="--disable-gles"
fi
if [ "$SDL_SUPPORT" = yes ]; then
XBMC_SDL="--enable-sdl"
else
XBMC_SDL="--disable-sdl"
fi
if [ "$XBMC_SCR_RSXS" = yes ]; then
XBMC_RSXS="--enable-rsxs"
# fix build of RSXS Screensaver support if not using libiconv
if [ ! "$ICONV" = "libiconv" ]; then
export jm_cv_func_gettimeofday_clobber=no
fi
else
XBMC_RSXS="--disable-rsxs"
fi
if [ "$XBMC_VIS_PROJECTM" = yes ]; then
XBMC_PROJECTM="--enable-projectm"
else
XBMC_PROJECTM="--disable-projectm"
fi
if [ "$XBMC_VIS_GOOM" = yes ]; then
XBMC_GOOM="--enable-goom"
else
XBMC_GOOM="--disable-goom"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
XBMC_PULSEAUDIO="--enable-pulse"
else
XBMC_PULSEAUDIO="--disable-pulse"
fi
if [ "$CEC_SUPPORT" = yes ]; then
XBMC_CEC="--enable-libcec --enable-external-libcec --enable-udev --disable-libusb"
else
XBMC_CEC="--disable-libcec --disable-udev --disable-libusb"
fi
if [ "$JOYSTICK_SUPPORT" = yes ]; then
XBMC_JOYSTICK="--enable-joystick"
else
XBMC_JOYSTICK="--disable-joystick"
fi
if [ "$NONFREE_SUPPORT" = yes ]; then
XBMC_NONFREE="--enable-non-free"
else
XBMC_NONFREE="--disable-non-free"
fi
if [ "$AIRPLAY_SUPPORT" = yes ]; then
XBMC_AIRPLAY="--enable-airplay"
else
XBMC_AIRPLAY="--disable-airplay"
fi
if [ "$AIRTUNES_SUPPORT" = yes ]; then
XBMC_AIRTUNES="--enable-airtunes"
else
XBMC_AIRTUNES="--disable-airtunes"
fi
if [ "$DVDCSS_SUPPORT" = yes ]; then
XBMC_DVDCSS="--enable-dvdcss"
else
XBMC_DVDCSS="--disable-dvdcss"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
XBMC_BLURAY="--enable-libbluray"
else
XBMC_BLURAY="--disable-libbluray"
fi
if [ "$AVAHI_DAEMON" = yes ]; then
XBMC_AVAHI="--enable-avahi"
else
XBMC_AVAHI="--disable-avahi"
fi
if [ "$NFS_SUPPORT" = yes ]; then
XBMC_NFS="--enable-nfs"
else
XBMC_NFS="--disable-nfs"
fi
if [ "$AFP_SUPPORT" = yes ]; then
XBMC_AFP="--enable-afpclient"
else
XBMC_AFP="--disable-afpclient"
fi
if [ "$SAMBA_CLIENT" = yes ]; then
XBMC_SAMBA="--enable-samba"
else
XBMC_SAMBA="--disable-samba"
fi
if [ "$WEBSERVER" = yes ]; then
XBMC_WEBSERVER="--enable-webserver"
else
XBMC_WEBSERVER="--disable-webserver"
fi
if [ "$OPENMAX_SUPPORT" = yes ]; then
XBMC_OPENMAX="--enable-openmax"
if [ "$OPENMAX" = "bcm2835-driver" ]; then
PLATFORM_SUPPORT_RPI="yes"
fi
else
XBMC_OPENMAX="--disable-openmax"
fi
if [ "$VDPAU" = yes ]; then
XBMC_VDPAU="--enable-vdpau"
else
XBMC_VDPAU="--disable-vdpau"
fi
if [ "$VAAPI" = yes ]; then
XBMC_VAAPI="--enable-vaapi"
else
XBMC_VAAPI="--disable-vaapi"
fi
if [ "$XVBA" = yes ]; then
XBMC_XVBA="--enable-xvba"
else
XBMC_XVBA="--disable-xvba"
fi
if [ "$CRYSTALHD" = yes ]; then
XBMC_CRYSTALHD="--enable-crystalhd"
else
XBMC_CRYSTALHD="--disable-crystalhd"
fi
if [ "$PLATFORM_SUPPORT_RPI" = "yes" ]; then
XBMC_PLATFORM_RPI="--enable-platform-raspberry-pi"
else
XBMC_PLATFORM_RPI="--disable-platform-raspberry-pi"
fi
# dont build parallel
MAKEFLAGS=-j1
# xbmc (ffmpeg) fails to build with LTO optimization
strip_lto
strip_gold
# dont use some optimizations because of problems
# this fixes problems with faac implementation of ffmpeg
LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"`
export PYTHON_VERSION="2.7"
export PYTHON_CPPFLAGS="-I$SYSROOT_PREFIX/usr/include/python$PYTHON_VERSION"
export PYTHON_LDFLAGS="-L$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION -lpython$PYTHON_VERSION"
export PYTHON_SITE_PKG="$SYSROOT_PREFIX/usr/lib/python$PYTHON_VERSION/site-packages"
export ac_python_version="$PYTHON_VERSION"
# setup skin dir from default skin
SKIN_DIR="skin.`tolower $SKIN_DEFAULT`"
cd $PKG_BUILD
# adding fake Makefile for stripped skin
mkdir -p addons/skin.confluence/media
touch addons/skin.confluence/media/Makefile.in
# autoreconf
do_autoreconf
do_autoreconf lib/libid3tag/libid3tag
do_autoreconf xbmc/screensavers/rsxs-0.9
do_autoreconf xbmc/visualizations/Goom/goom2k4-0
do_autoreconf lib/libapetag
do_autoreconf lib/cpluff
# order matters with libdvd and friends
[ -d lib/libdvd/libdvdcss ] && do_autoreconf lib/libdvd/libdvdcss
do_autoreconf lib/libdvd/libdvdread
do_autoreconf lib/libdvd/libdvdnav
# Clean the generated files
find . -depth -type d -name "autom4te.cache" -exec rm -rf {} \;
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--with-arch=$TARGET_ARCH \
--with-cpu=$TARGET_CPU \
--prefix=/usr \
--exec-prefix=/usr \
--sysconfdir=/etc \
--datadir=/usr/share \
GIT_REV=`cat git.version` \
--disable-debug \
--disable-optimizations \
$XBMC_OPENGL \
$XBMC_OPENGLES \
$XBMC_SDL \
$XBMC_OPENMAX \
$XBMC_VDPAU \
$XBMC_VAAPI \
$XBMC_CRYSTALHD \
$XBMC_XVBA \
--disable-vdadecoder \
--disable-vtbdecoder \
--disable-tegra \
--disable-profiling \
$XBMC_JOYSTICK \
$XBMC_CEC \
$XBMC_GOOM \
$XBMC_RSXS \
$XBMC_PROJECTM \
$XBMC_XORG \
--disable-ccache \
$XBMC_PULSEAUDIO \
--enable-rtmp \
$XBMC_SAMBA \
$XBMC_NFS \
$XBMC_AFP \
--enable-ffmpeg-libvorbis \
--enable-lame \
$XBMC_DVDCSS \
--disable-mid \
--disable-hal \
$XBMC_AVAHI \
$XBMC_AIRPLAY \
$XBMC_AIRTUNES \
$XBMC_NONFREE \
--disable-asap-codec \
$XBMC_WEBSERVER \
--enable-optical-drive \
$XBMC_BLURAY \
--enable-texturepacker \
--disable-external-libraries \
--disable-external-ffmpeg \
$XBMC_PLATFORM_RPI \
# setup default skin inside the sources
sed -i -e "s|skin.confluence|$SKIN_DIR|g" xbmc/settings/Settings.h
make externals
make xbmc.bin
if [ "$XORG_SUPPORT" = yes ]; then
make xbmc-xrandr
fi

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<splash>false</splash>
<showexitbutton>false</showexitbutton>
<cputempcommand>cputemp</cputempcommand>
<gputempcommand>gputemp</gputempcommand>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
</advancedsettings>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="os.openelec.tv" version="@ADDON_OS_VERSION@" provider-name="OpenELEC.tv">
<requires>
<import addon="xbmc.addon" version="1.0"/>
</requires>
</addon>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.openelec.tv"
name="OpenELEC.tv Mediacenter OS Add-ons"
version="1.0.0"
provider-name="OpenELEC.tv">
<extension point="xbmc.addon.repository"
name="Official OpenELEC.tv Add-on Repository">
<info>@ADDON_URL@/addons.xml</info>
<checksum>@ADDON_URL@/addons.xml.md5</checksum>
<datadir zip="true">@ADDON_URL@</datadir>
</extension>
<extension point="xbmc.addon.metadata">
<summary>Install Add-ons, Plugins, Games and Programs from OpenELEC.tv</summary>
<description>Download and install Add-ons, Plugins, Games and Programs from the Official OpenELEC.tv addon repository.[CR] By using the official Repository you will be able to take advantage of our extensive file mirror service to help get you faster downloads from a region close to you.[CR] All addons on this repository have under gone basic testing, if you find a broken or not working addon please report it to OpenELEC.tv so we can take any action needed.</description>
<platform>all</platform>
</extension>
</addon>

Binary file not shown.

View File

@ -0,0 +1,123 @@
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# 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 OpenELEC.tv; 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
################################################################################
# setup XBMC
#
# runlevels: openelec
progress "setup XBMC"
#
# clean temp dir
#
rm -rf $HOME/.xbmc/temp/*
#
# add some default settings
#
mkdir -p $HOME/.xbmc/userdata
#
# setup directories for XBMC sources
#
[ ! -d "$HOME/music" ] && mkdir -p $HOME/music
[ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
[ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
[ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
mkdir -p $HOME/.xbmc/userdata
if [ ! -f $HOME/.xbmc/userdata/sources.xml ]; then
if [ -f /usr/share/xbmc/config/sources.xml ]; then
# include project specific sources
cp /usr/share/xbmc/config/sources.xml $HOME/.xbmc/userdata
else
cat > $HOME/.xbmc/userdata/sources.xml << EOF
<sources>
<video>
<default pathversion="1"></default>
<source>
<name>Videos</name>
<path pathversion="1">$HOME/videos/</path>
</source>
<source>
<name>TV Shows</name>
<path pathversion="1">$HOME/tvshows/</path>
</source>
</video>
<music>
<default pathversion="1"></default>
<source>
<name>Music</name>
<path pathversion="1">$HOME/music/</path>
</source>
</music>
<pictures>
<default pathversion="1"></default>
<source>
<name>Pictures</name>
<path pathversion="1">$HOME/pictures/</path>
</source>
</pictures>
</sources>
EOF
fi
fi
#
# common setup guisettings
#
mkdir -p $HOME/.xbmc/userdata
[ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<debug>
<screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath>
</debug>
EOF
#
# include project specific options
#
if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
fi
#
# common setup for amd and nvidia graphic
#
# Always sync to vblank
if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<videoscreen>
<vsync>2</vsync>
</videoscreen>
EOF
fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi

View File

@ -0,0 +1,101 @@
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# 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 OpenELEC.tv; 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
################################################################################
# starting XBMC
#
# runlevels: openelec
LIRCDEV="/var/run/lirc/lircd"
[ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
progress "starting XBMC"
# hack for Boxee Remote
if grep -q "Vendor=0471 Product=20d9" /proc/bus/input/devices; then
export SDL_MOUSE_RELATIVE=0
fi
# hack: make addon-bins executable
chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
# hack: make addon-libs executable
chmod +x /storage/.xbmc/addons/*/lib/* > /dev/null 2>&1
# hack to support user installed fonts
SUBFONTS="/storage/.xbmc/userdata/fonts"
if [ -d "$SUBFONTS" ]; then
files=$(ls $SUBFONTS/*.[tT][tT][fF] 2>/dev/null | wc -l)
if [ "$files" = "0" ]; then
cp /usr/share/xbmc/media/Fonts/*.[tT][tT][fF] $SUBFONTS/
fi
mount --bind $SUBFONTS /usr/share/xbmc/media/Fonts/
fi
# starting autostart script (will be removed later again, dont use it!!!)
AUTOSTART="/storage/.config/autostart.sh"
if [ -f $AUTOSTART ]; then
echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
cat "$AUTOSTART" >> /var/log/messages
echo "!!! -End of autostart script- !!!" >> /var/log/messages
sh $AUTOSTART
fi
# starting autoupdate
[ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
# waiting for Xorg to start
wait_for_xorg
# set cpu's to 'on demand'
( usleep 15000000
progress "set cpu's to 'on demand'"
cpupower frequency-set -g ondemand > /dev/null 2>&1
)&
# starting XBMC
usleep $XBMC_STARTDELAY
while true; do
DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
RET=$?
case "$RET" in
0)
poweroff -f
;;
64)
poweroff -f
;;
66)
reboot
;;
255)
echo "Abnormal Exit. Exited with code $RET"
echo "is Xorg running? check /var/log/Xorg.log"
;;
*)
echo "Abnormal Exit. Exited with code $RET"
;;
esac
usleep 250000
done

View File

@ -0,0 +1,111 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. config/options $1
PYTHON_LIBDIR="`ls -d $INSTALL/usr/lib/python*`"
mkdir -p $INSTALL/usr/bin
cp $PKG_DIR/scripts/cputemp $INSTALL/usr/bin
cp $PKG_DIR/scripts/gputemp $INSTALL/usr/bin
cp $PKG_BUILD/tools/EventClients/Clients/XBMC\ Send/xbmc-send.py $INSTALL/usr/bin/xbmc-send
mkdir -p $INSTALL/usr/lib/xbmc
cp $PKG_BUILD/xbmc.bin $INSTALL/usr/lib/xbmc
if [ "$XORG_SUPPORT" = yes ]; then
cp $PKG_BUILD/xbmc-xrandr $INSTALL/usr/lib/xbmc
fi
cd $PKG_BUILD
find system addons \
-regextype posix-extended -type f \
-not -iregex ".*svn.*|.*win32(dx)?\.vis|.*osx\.vis" \
-iregex ".*-linux.*|.*\.vis|.*\.xbs" \
-exec install -D "{}" $ROOT/$INSTALL/usr/lib/xbmc/"{}" ";"
find addons language media sounds userdata system \
-regextype posix-extended -type f \
-not -iregex ".*-linux.*|.*\.vis|.*\.xbs|.*svn.*|.*\.orig|.*\.so|.*\.dll|.*\.pyd|.*python/.*\.zlib" \
-exec install -D -m 0644 "{}" $ROOT/$INSTALL/usr/share/xbmc/"{}" ";"
cd -
if [ ! "$XBMC_SCR_RSXS" = yes ]; then
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/screensaver.rsxs.*
fi
if [ ! "$XBMC_VIS_PROJECTM" = yes ]; then
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.projectm
fi
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.dxspectrum
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.itunes
rm -rf $ROOT/$INSTALL/usr/share/xbmc/addons/visualization.milkdrop
# overriding Splash image
mkdir -p $INSTALL/usr/share/xbmc/media
rm -rf $INSTALL/usr/share/xbmc/media/Splash.png
# if [ -f $PROJECT_DIR/$PROJECT/splash/splash.png ]; then
# cp $PROJECT_DIR/$PROJECT/splash/splash.png $INSTALL/usr/share/xbmc/media/Splash.png
# else
# cp $PKG_DIR/splash/splash.png $INSTALL/usr/share/xbmc/media/Splash.png
# fi
# cleanup and python addon fixes
mkdir -p $INSTALL/usr/share/xbmc/addons/script.module.pil/lib
ln -s `ls -d $INSTALL/usr/lib/python*/site-packages | sed -e "s,$INSTALL,,"`/PIL \
$INSTALL/usr/share/xbmc/addons/script.module.pil/lib/PIL
rm -rf $INSTALL/usr/share/xbmc/addons/script.module.pysqlite
mkdir -p $INSTALL/usr/share/xbmc/addons
cp -R $PKG_DIR/config/os.openelec.tv $INSTALL/usr/share/xbmc/addons
$SED "s|@ADDON_OS_VERSION@|$OS_VERSION|g" -i $INSTALL/usr/share/xbmc/addons/os.openelec.tv/addon.xml
cp -R $PKG_DIR/config/repository.openelec.tv $INSTALL/usr/share/xbmc/addons
$SED "s|@ADDON_URL@|$ADDON_URL|g" -i $INSTALL/usr/share/xbmc/addons/repository.openelec.tv/addon.xml
mkdir -p $PYTHON_LIBDIR/site-packages/xbmc
cp -R $PKG_BUILD/tools/EventClients/lib/python/* $PYTHON_LIBDIR/site-packages/xbmc
# install powermanagement hooks
mkdir -p $INSTALL/etc/pm/sleep.d
cp $PKG_DIR/sleep.d/* $INSTALL/etc/pm/sleep.d
# install project specific configs
mkdir -p $INSTALL/usr/share/xbmc/config
if [ -f $PROJECT_DIR/$PROJECT/xbmc/guisettings.xml ]; then
cp -R $PROJECT_DIR/$PROJECT/xbmc/guisettings.xml $INSTALL/usr/share/xbmc/config
fi
if [ -f $PROJECT_DIR/$PROJECT/xbmc/sources.xml ]; then
cp -R $PROJECT_DIR/$PROJECT/xbmc/sources.xml $INSTALL/usr/share/xbmc/config
fi
mkdir -p $INSTALL/usr/share/xbmc/system/
if [ -f $PROJECT_DIR/$PROJECT/xbmc/advancedsettings.xml ]; then
cp $PROJECT_DIR/$PROJECT/xbmc/advancedsettings.xml $INSTALL/usr/share/xbmc/system/
else
cp $PKG_DIR/config/advancedsettings.xml $INSTALL/usr/share/xbmc/system/
fi
if [ "$XBMC_EXTRA_FONTS" = yes ]; then
mkdir -p $INSTALL/usr/share/xbmc/media/Fonts
cp $PKG_DIR/fonts/*.ttf $INSTALL/usr/share/xbmc/media/Fonts
fi

View File

@ -0,0 +1,156 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
PKG_NAME="xbmc-rpi"
PKG_VERSION="cc57efc"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.xbmc.org"
PKG_URL="http://sraue.openelec.tv/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS="boost Python zlib bzip2 lzo pcre libass enca curl libssh rtmpdump fontconfig fribidi libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmodplug faad2 flac lame libmpeg2 yajl sqlite mysql bc xbmc-addon-settings"
PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 lzo pcre libass enca curl libssh rtmpdump fontconfig fribidi libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libvorbis libcdio libmodplug faad2 flac lame libmpeg2 yajl sqlite mysql"
PKG_PRIORITY="optional"
PKG_SECTION="mediacenter"
PKG_SHORTDESC="xbmc: XBMC Mediacenter"
PKG_LONGDESC="XBMC Media Center (which was formerly named Xbox Media Center) is a free and open source cross-platform media player and home entertainment system software with a 10-foot user interface designed for the living-room TV. Its graphical user interface allows the user to easily manage video, photos, podcasts, and music from a computer, optical disk, local network, and the internet using a remote control."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
if [ "$XORG_SUPPORT" = yes ]; then
# for libX11 support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libX11 libXext"
PKG_DEPENDS="$PKG_DEPENDS libX11 libXext"
# for libXrandr support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXrandr"
PKG_DEPENDS="$PKG_DEPENDS libXrandr"
# for SDL support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS SDL SDL_mixer SDL_image"
PKG_DEPENDS="$PKG_DEPENDS SDL SDL_mixer SDL_image"
fi
if [ "$OPENGL_SUPPORT" = yes ]; then
# for OpenGL (GLX) support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENGL glew"
PKG_DEPENDS="$PKG_DEPENDS $OPENGL glew"
fi
if [ "$OPENGLES_SUPPORT" = yes ]; then
# for OpenGL-ES support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENGLES"
PKG_DEPENDS="$PKG_DEPENDS $OPENGLES"
fi
# for dbus support
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS dbus"
PKG_DEPENDS="$PKG_DEPENDS dbus"
if [ "$ALSA_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS alsa-lib"
PKG_DEPENDS="$PKG_DEPENDS alsa alsa-lib"
fi
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS pulseaudio"
PKG_DEPENDS="$PKG_DEPENDS pulseaudio"
fi
if [ "$CEC_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libcec"
PKG_DEPENDS="$PKG_DEPENDS libcec"
fi
if [ "$XBMC_SCR_RSXS" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXt libXmu"
PKG_DEPENDS="$PKG_DEPENDS libXt libXmu"
fi
if [ "$FAAC_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS faac"
PKG_DEPENDS="$PKG_DEPENDS faac"
fi
if [ "$BLURAY_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libbluray"
PKG_DEPENDS="$PKG_DEPENDS libbluray"
fi
if [ "$AVAHI_DAEMON" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS avahi"
PKG_DEPENDS="$PKG_DEPENDS avahi"
fi
if [ "$AIRPLAY_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libplist"
PKG_DEPENDS="$PKG_DEPENDS libplist"
fi
if [ "$AIRTUNES_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libshairport"
PKG_DEPENDS="$PKG_DEPENDS libshairport"
fi
if [ "$NFS_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libnfs"
PKG_DEPENDS="$PKG_DEPENDS libnfs"
fi
if [ "$AFP_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS afpfs-ng"
PKG_DEPENDS="$PKG_DEPENDS afpfs-ng"
fi
if [ "$SAMBA_CLIENT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS samba"
PKG_DEPENDS="$PKG_DEPENDS samba"
fi
if [ "$WEBSERVER" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libmicrohttpd"
PKG_DEPENDS="$PKG_DEPENDS libmicrohttpd"
fi
if [ "$OPENMAX_SUPPORT" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS $OPENMAX"
PKG_DEPENDS="$PKG_DEPENDS $OPENMAX"
fi
if [ "$VDPAU" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libvdpau"
PKG_DEPENDS="$PKG_DEPENDS libvdpau"
fi
if [ "$VAAPI" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libva"
PKG_DEPENDS="$PKG_DEPENDS libva"
fi
if [ "$CRYSTALHD" = yes ]; then
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS crystalhd"
PKG_DEPENDS="$PKG_DEPENDS crystalhd"
fi
# some python stuff needed for various addons
PKG_DEPENDS="$PKG_DEPENDS Imaging"
PKG_DEPENDS="$PKG_DEPENDS simplejson"

View File

@ -0,0 +1,26 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
for i in `ls xbmc-*.patch`; do
mv $i `echo $i | sed "s,$1,$2,g"`
done

View File

@ -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

View File

@ -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

View File

@ -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. */

View File

@ -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 \

View File

@ -0,0 +1,125 @@
diff -Naur xbmc-pvr-3513480/configure.in xbmc-pvr-3513480.patch/configure.in
--- xbmc-pvr-3513480/configure.in 2011-04-25 05:46:35.000000000 +0200
+++ xbmc-pvr-3513480.patch/configure.in 2011-04-25 05:50:02.982401390 +0200
@@ -72,6 +72,8 @@
rsxs_disabled="== RSXS disabled. =="
pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
pulse_disabled="== PulseAudio support manually disabled. =="
+lame_not_found="== Could not find libmp3lame. LAME support disabled. =="
+lame_disabled="== LAME support manually disabled. =="
dvdcss_enabled="== DVDCSS support enabled. =="
dvdcss_disabled="== DVDCSS support disabled. =="
hal_not_found="== Could not find hal. HAL support disabled. =="
@@ -244,6 +246,12 @@
[use_ffmpeg_libvorbis=$enableval],
[use_ffmpeg_libvorbis=no])
+AC_ARG_ENABLE([lame],
+ [AS_HELP_STRING([--enable-lame],
+ [enable lame support (default is yes)])],
+ [use_lame=$enableval],
+ [use_lame=yes])
+
AC_ARG_ENABLE([dvdcss],
[AS_HELP_STRING([--enable-dvdcss],
[enable DVDCSS support (default is yes)])],
@@ -758,6 +766,20 @@
USE_PULSE=0
fi
+# LAME
+if test "$use_lame" = "yes"; then
+ AC_CHECK_LIB([mp3lame], [main],
+ AC_DEFINE([HAVE_LIBMP3LAME], [1], [Define to 1 if you have the 'libmp3lame' library (-lmp3lame).]),
+ use_lame=no;AC_MSG_RESULT($lame_not_found))
+else
+ AC_MSG_RESULT($lame_disabled)
+fi
+if test "$use_lame" = "yes"; then
+ AC_SUBST([HAVE_LIBMP3LAME], 1)
+else
+ AC_SUBST([HAVE_LIBMP3LAME], 0)
+fi
+
# HAL
if test "$host_vendor" = "apple" ; then
use_hal="no"
@@ -1311,6 +1333,12 @@
final_message="$final_message\n HAL Support:\tNo"
fi
+if test "$use_lame" = "yes"; then
+ final_message="$final_message\n LAME:\t\tYes"
+else
+ final_message="$final_message\n LAME:\t\tNo"
+fi
+
# DVDCSS
if test "$use_dvdcss" = "yes"; then
AC_MSG_NOTICE($dvdcss_enabled)
diff -Naur xbmc-pvr-3513480/configure.in.orig xbmc-pvr-3513480.patch/configure.in.orig
diff -Naur xbmc-pvr-3513480/Makefile.in.orig xbmc-pvr-3513480.patch/Makefile.in.orig
diff -Naur xbmc-pvr-3513480/xbmc/cdrip/CDDARipper.cpp xbmc-pvr-3513480.patch/xbmc/cdrip/CDDARipper.cpp
--- xbmc-pvr-3513480/xbmc/cdrip/CDDARipper.cpp 2011-04-25 02:36:33.000000000 +0200
+++ xbmc-pvr-3513480.patch/xbmc/cdrip/CDDARipper.cpp 2011-04-25 05:48:10.487548571 +0200
@@ -27,7 +27,11 @@
#include "CDDAReader.h"
#include "utils/StringUtils.h"
#include "Util.h"
+
+#ifdef HAVE_LIBMP3LAME
#include "EncoderLame.h"
+#endif
+
#include "EncoderWav.h"
#include "EncoderVorbis.h"
#include "EncoderFFmpeg.h"
@@ -78,9 +82,16 @@
case CDDARIP_ENCODER_FLAC:
m_pEncoder = new CEncoderFlac();
break;
- default:
+#ifdef HAVE_LIBMP3LAME
+ case CDDARIP_ENCODER_LAME:
m_pEncoder = new CEncoderLame();
break;
+#else
+ default:
+ CLog::Log(LOGERROR,"invalid encoder selected");
+ return false;
+ break;
+#endif
}
// we have to set the tags before we init the Encoder
diff -Naur xbmc-pvr-3513480/xbmc/cdrip/Makefile.in xbmc-pvr-3513480.patch/xbmc/cdrip/Makefile.in
--- xbmc-pvr-3513480/xbmc/cdrip/Makefile.in 2011-04-25 02:36:33.000000000 +0200
+++ xbmc-pvr-3513480.patch/xbmc/cdrip/Makefile.in 2011-04-25 05:51:13.013064387 +0200
@@ -3,10 +3,13 @@
Encoder.cpp \
EncoderFFmpeg.cpp \
EncoderFlac.cpp \
- EncoderLame.cpp \
EncoderVorbis.cpp \
EncoderWav.cpp \
+ifeq (@HAVE_LIBMP3LAME@,1)
+ SRCS+=EncoderLame.cpp
+endif
+
LIB=cdrip.a
include @abs_top_srcdir@/Makefile.include
diff -Naur xbmc-pvr-3513480/xbmc/settings/GUISettings.cpp xbmc-pvr-3513480.patch/xbmc/settings/GUISettings.cpp
--- xbmc-pvr-3513480/xbmc/settings/GUISettings.cpp 2011-04-25 05:47:12.000000000 +0200
+++ xbmc-pvr-3513480.patch/xbmc/settings/GUISettings.cpp 2011-04-25 05:48:47.956833472 +0200
@@ -324,7 +324,9 @@
AddPath(acd,"audiocds.recordingpath",20000,"select writable folder",BUTTON_CONTROL_PATH_INPUT,false,657);
AddString(acd, "audiocds.trackpathformat", 13307, "%A - %B/[%N. ][%A - ]%T", EDIT_CONTROL_INPUT, false, 16016);
map<int,int> encoders;
+#ifdef HAVE_LIBMP3LAME
encoders.insert(make_pair(34000,CDDARIP_ENCODER_LAME));
+#endif
encoders.insert(make_pair(34001,CDDARIP_ENCODER_VORBIS));
encoders.insert(make_pair(34002,CDDARIP_ENCODER_WAV));
encoders.insert(make_pair(34005,CDDARIP_ENCODER_FLAC));

View File

@ -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

View File

@ -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 @@
<line>Freemem: $INFO[System.FreeMemory]</line>
</video>
<general>
- <line>XBMC running...</line>
+ <line>*** OpenELEC ***</line>
<line>$INFO[System.Time] $INFO[System.Date]</line>
<line>Freemem: $INFO[System.FreeMemory]</line>
<line>$INFO[System.ScreenWidth]x$INFO[System.ScreenHeight] $INFO[System.ScreenMode]</line>

View File

@ -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 @@
<!-- RSS feeds. To have multiple feeds, just add a feed to the set. You can also have multiple sets. !-->
<!-- To use different sets in your skin, each must be called from skin with a unique id. !-->
<set id="1">
+ <feed updateinterval="30">http://openelec.tv/news?format=feed&type=rss</feed>
<feed updateinterval="30">http://feeds.feedburner.com/xbmc</feed>
</set>
</rssfeeds>

View File

@ -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 @@
<numpadseven>Number7</numpadseven>
<numpadeight>Number8</numpadeight>
<numpadnine>Number9</numpadnine>
- <backslash>ToggleFullScreen</backslash>
+ <!-- <backslash>ToggleFullScreen</backslash> -->
<home>FirstPage</home>
<end>LastPage</end>
<!-- Multimedia keyboard keys -->

View File

@ -0,0 +1,15 @@
diff -Naur xbmc-10.1-Dharma/xbmc/FileSystem/FileCurl.cpp xbmc-10.1-Dharma.patch/xbmc/FileSystem/FileCurl.cpp
--- xbmc-10.1-Dharma/xbmc/filesystem/FileCurl.cpp 2011-03-08 02:49:14.000000000 +0100
+++ xbmc-10.1-Dharma.patch/xbmc/filesystem/FileCurl.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();

View File

@ -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 @@
<yellow>KEY_YELLOW</yellow>
<blue>KEY_BLUE</blue>
</remote>
+ <remote device="mediacenter">
+ <pause>pause</pause>
+ <stop>stop</stop>
+ <forward>fwd</forward>
+ <reverse>rew</reverse>
+ <left>left</left>
+ <right>right</right>
+ <up>up</up>
+ <down>down</down>
+ <select>ok</select>
+ <pageplus>ch+</pageplus>
+ <pageminus>ch-</pageminus>
+ <back>back</back>
+ <menu>clear</menu>
+ <title>play</title>
+ <info>info</info>
+ <skipplus>next</skipplus>
+ <skipminus>prev</skipminus>
+ <display>teletext</display>
+ <start>ehome</start>
+ <record>rec</record>
+ <volumeplus>vol+</volumeplus>
+ <volumeminus>vol-</volumeminus>
+ <mute>mute</mute>
+ <power>power</power>
+ <myvideo>video</myvideo>
+ <mymusic>music</mymusic>
+ <mypictures>pictures</mypictures>
+ <mytv>tv</mytv>
+ <one>1</one>
+ <two>2</two>
+ <three>3</three>
+ <four>4</four>
+ <five>5</five>
+ <six>6</six>
+ <seven>7</seven>
+ <eight>8</eight>
+ <nine>9</nine>
+ <zero>0</zero>
+ <mytv>red</mytv>
+ <mymusic>green</mymusic>
+ <mypictures>yellow</mypictures>
+ <myvideo>blue</myvideo>
+ </remote>
</lircmap>

View File

@ -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 @@
<remote device="linux-input-layer">
<altname>cx23885_remote</altname>
- <altname>devinput</altname>
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
<up>KEY_UP</up>
@@ -452,4 +451,59 @@
<mypictures>yellow</mypictures>
<myvideo>blue</myvideo>
</remote>
+
+ <remote device="devinput">
+ <left>KEY_LEFT</left>
+ <right>KEY_RIGHT</right>
+ <up>KEY_UP</up>
+ <down>KEY_DOWN</down>
+ <select>KEY_OK</select>
+ <enter>KEY_ENTER</enter>
+ <clear>KEY_DELETE</clear>
+ <start>KEY_PROG1</start>
+ <back>KEY_EXIT</back>
+ <record>KEY_RECORD</record>
+ <play>KEY_PLAY</play>
+ <pause>KEY_PAUSE</pause>
+ <stop>KEY_STOP</stop>
+ <forward>KEY_FASTFORWARD</forward>
+ <reverse>KEY_REWIND</reverse>
+ <volumeplus>KEY_VOLUMEUP</volumeplus>
+ <volumeminus>KEY_VOLUMEDOWN</volumeminus>
+ <channelplus>KEY_CHANNELUP</channelplus>
+ <channelminus>KEY_CHANNELDOWN</channelminus>
+ <skipplus>KEY_NEXT</skipplus>
+ <skipminus>KEY_PREVIOUS</skipminus>
+ <title>KEY_EPG</title>
+ <subtitle>KEY_SUBTITLE</subtitle>
+ <language>KEY_LANGUAGE</language>
+ <info>KEY_INFO</info>
+ <display>KEY_ZOOM</display>
+ <mute>KEY_MUTE</mute>
+ <power>KEY_POWER</power>
+ <eject>KEY_EJECT</eject>
+ <menu>KEY_DVD</menu>
+ <menu>KEY_MENU</menu>
+ <myvideo>KEY_VIDEO</myvideo>
+ <mymusic>KEY_AUDIO</mymusic>
+ <mypictures>KEY_CAMERA</mypictures>
+ <mytv>KEY_TUNER</mytv>
+ <teletext>KEY_TEXT</teletext>
+ <one>KEY_NUMERIC_1</one>
+ <two>KEY_NUMERIC_2</two>
+ <three>KEY_NUMERIC_3</three>
+ <four>KEY_NUMERIC_4</four>
+ <five>KEY_NUMERIC_5</five>
+ <six>KEY_NUMERIC_6</six>
+ <seven>KEY_NUMERIC_7</seven>
+ <eight>KEY_NUMERIC_8</eight>
+ <nine>KEY_NUMERIC_9</nine>
+ <zero>KEY_NUMERIC_0</zero>
+ <star>KEY_NUMERIC_STAR</star>
+ <hash>KEY_NUMERIC_POUND</hash>
+ <red>KEY_RED</red>
+ <green>KEY_GREEN</green>
+ <yellow>KEY_YELLOW</yellow>
+ <blue>KEY_BLUE</blue>
+ </remote>
</lircmap>

View File

@ -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 @@
<volumeminus>VolumeDown</volumeminus>
<mute>Mute</mute>
<power>XBMC.ShutDown()</power>
+ <eject>XBMC.EjectTray()</eject>
<myvideo>XBMC.ActivateWindow(MyVideos)</myvideo>
<mymusic>XBMC.ActivateWindow(MyMusic)</mymusic>
<mypictures>XBMC.ActivateWindow(MyPictures)</mypictures>

File diff suppressed because it is too large Load Diff

View File

@ -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<std::string> 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 <Python.h>
+
+#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

View File

@ -0,0 +1,41 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#      Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
# Mediacenter environment variables.
#
# This file contains non-OpenELEC evironment variables as well as OpenELEC
# evironment variables that are not user defined.
################################################################################
if [ -z "$XBMC_STARTDELAY" ]; then
XBMC_STARTDELAY="1000000"
fi
XBMC_HOME="/usr/share/xbmc"
export XBMC_HOME
GPUDEVICE=$(lspci -n | grep 0300)
GPUTYPE="OTHER"
[ "$(echo $GPUDEVICE | grep 8086)" ] && GPUTYPE="INTEL" # 8086 == INTEL
[ "$(echo $GPUDEVICE | grep 10de)" ] && GPUTYPE="NVIDIA" # 10de == NVIDIA
[ "$(echo $GPUDEVICE | grep 1002)" ] && GPUTYPE="AMD" # 1002 == AMD
export GPUTYPE

View File

@ -0,0 +1,51 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
# inspired by
# https://github.com/xtranophilist/gnome-shell-extension-cpu-temperature/blob/master/extension.js
TEMP=0
if [ -f /sys/devices/platform/coretemp.0/temp1_input ]; then
# used with coretemp
TEMP=`cat /sys/devices/platform/coretemp.0/temp1_input`
elif [ -f /sys/devices/platform/coretemp.0/temp2_input ]; then
# used with coretemp
TEMP=`cat /sys/devices/platform/coretemp.0/temp2_input`
elif [ -f /sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp ]; then
# used on some intel systems
TEMP=`cat /sys/bus/acpi/devices/LNXTHERM\:00/thermal_zone/temp`
elif [ -f /sys/devices/virtual/thermal/thermal_zone0/temp ]; then
# used on some intel systems
TEMP=`cat /sys/devices/virtual/thermal/thermal_zone0/temp`
elif [ -f /sys/class/hwmon/hwmon0/temp1_input ]; then
# hwmon for new 2.6.39, 3.0 linux kernels
TEMP=`cat /sys/class/hwmon/hwmon0/temp1_input`
elif [ -f /sys/class/hwmon/hwmon0/device/temp1_input ]; then
# used on AMD systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp1_input`
elif [ -f /sys/class/hwmon/hwmon0/device/temp2_input ]; then
# used on ION systems
TEMP=`cat /sys/class/hwmon/hwmon0/device/temp2_input`
fi
echo "$(( $TEMP / 1000 )) C"

View File

@ -0,0 +1,38 @@
#!/bin/sh
################################################################################
# Copyright (C) 2009-2010 OpenELEC.tv
# http://www.openelec.tv
#
# 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 OpenELEC.tv; 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
################################################################################
TEMP="0"
if lspci -n | grep 0300 | grep -q 10de; then
[ -f /usr/bin/nvidia-smi ] && TEMP=`/usr/bin/nvidia-smi -q -x | grep 'gpu_temp' | awk '{ print $1 }' | sed 's,<gpu_temp>,,g'`
fi
if lspci -n | grep 0300 | grep -q 1002; then
if [ -f /storage/.config/xorg.conf ]; then
XORG="/storage/.config/xorg.conf"
else
XORG="/etc/X11/xorg-fglrx.conf"
fi
[ -f /usr/bin/aticonfig ] && TEMP=`/usr/bin/aticonfig -i $XORG --od-gettemperature | grep Temperature | cut -f 2 -d "-" | cut -f 1 -d "." | sed -e "s, ,,"`
fi
echo "${TEMP} C"

View File

@ -0,0 +1,28 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. /etc/profile
for script in $HOME/.xbmc/addons/*/sleep.d/*.power; do
progress "running addon sleep script $script ($1)..."
sh $script $1
done

View File

@ -0,0 +1,34 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. /etc/profile
case "$1" in
hibernate|suspend)
xbmc-send --host=127.0.0.1 -a "LIRC.Stop"
;;
thaw|resume)
xbmc-send --host=127.0.0.1 -a "LIRC.Start"
;;
*) exit $NA
;;
esac

View File

@ -0,0 +1,34 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. /etc/profile
case "$1" in
hibernate|suspend)
xbmc-send --host=127.0.0.1 -a "LCD.Suspend"
;;
thaw|resume)
xbmc-send --host=127.0.0.1 -a "LCD.Resume"
;;
*) exit $NA
;;
esac

View File

@ -0,0 +1,31 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. /etc/profile
case "$1" in
thaw|resume)
xbmc-send --host=127.0.0.1 -a "ReloadSkin()" &
;;
*) exit $NA
;;
esac

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View File

@ -0,0 +1,30 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
. config/options $1
echo "### Applying project based patches ###"
for patch in `ls $PROJECT_DIR/$PROJECT/patches/$1`; do
cat $PROJECT_DIR/$PROJECT/patches/$1/$patch | patch -d \
`echo $PKG_BUILD | cut -f1 -d\ ` -p1
done

View File

@ -0,0 +1,13 @@
diff -Naur xbmc-9389dc8/xbmc/settings/GUISettings.cpp xbmc-9389dc8.patch/xbmc/settings/GUISettings.cpp
--- xbmc-9389dc8/xbmc/settings/GUISettings.cpp 2011-09-01 23:34:05.267139356 +0200
+++ xbmc-9389dc8.patch/xbmc/settings/GUISettings.cpp 2011-09-01 23:34:52.098765331 +0200
@@ -423,7 +423,8 @@
AddString(vs, "videoscreen.testpattern",226,"", BUTTON_CONTROL_STANDARD);
#endif
#if defined(_LINUX) && !defined(__APPLE__)
- AddBool(NULL, "videoscreen.haslcd", 4501, false);
+ AddSeparator(vs, "videoscreen.sep2");
+ AddBool(vs, "videoscreen.haslcd", 4501, false);
#endif
CSettingsCategory* ao = AddCategory(4, "audiooutput", 772);

80
tools/mkpkg/mkpkg_xbmc-rpi Executable file
View File

@ -0,0 +1,80 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# 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 OpenELEC.tv; 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
################################################################################
PKG_NAME="xbmc-rpi"
GIT_REPO="-b master git@github.com:xbmc/xbmc-rbp.git"
DEST_DIR="$PKG_NAME"
echo "getting sources..."
if [ ! -d $DEST_DIR-latest ]; then
git clone $GIT_REPO $DEST_DIR-latest
fi
cd $DEST_DIR-latest
git pull
echo "getting version..."
GIT_REV=`git log -n1 --format=%h`
echo $GIT_REV
cd ..
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
echo "cleaning sources..."
rm -rf $PKG_NAME-$GIT_REV/.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
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
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
done
for i in dll a lib so bat; do
find $PKG_NAME-$GIT_REV -name *.$i -exec rm -rf {} ";"
done
# bundled win32 binaries
rm -r $PKG_NAME-$GIT_REV/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
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