#!/bin/sh
if [ "$(id -u)" = "0" ]; then
 grep -q lh_chroot_apt /etc/apt/preferences 2>/dev/null && rm -f /etc/apt/preferences
 echo "Installing depends..." >&2
 export DEBIAN_FRONTEND=noninteractive
 apt-get update
 apt-get --allow-unauthenticated --yes install libboost1.35-dev libboost-thread1.35-dev
 [ -d /usr/include/boost ] || apt-get --allow-unauthenticated --yes install libboost-dev
 [ -f /usr/lib/libboost_thread.so ] || apt-get --allow-unauthenticated --yes install libboost-thread-dev
 [ -f /usr/include/GL/glew.h ] || apt-get --allow-unauthenticated --yes install libglew1.6-dev
 apt-get --allow-unauthenticated --yes install libhal-storage-dev
 apt-get --allow-unauthenticated --yes install automake cmake cvs g++ gawk gperf libasound2-dev libbz2-dev libcdio-dev libcurl4-gnutls-dev libenca-dev libfaad-dev libflac-dev libfontconfig1-dev libfribidi-dev libglew-dev libiso9660-dev libjasper-dev liblzo2-dev libmad0-dev libmicrohttpd-dev libmms-dev libmodplug-dev libmpeg2-4-dev libmysqlclient15-dev libpcre3-dev libsamplerate-dev libsmbclient-dev libsqlite3-dev libssl-dev libtiff4-dev libtool libwavpack-dev libxinerama-dev libxrandr-dev libxmu-dev libxt-dev libxslt1-dev libxtst-dev libass-dev libyajl-dev libpng12-dev python-dev libtinyxml-dev libssh-dev libdrm-dev uuid-dev libegl1-mesa-dev mesa-utils nasm patch time curl swig git
 [ -x /usr/bin/autopoint ] || apt-get --allow-unauthenticated --yes install autopoint
 apt-get --allow-unauthenticated --yes install libvdpau-dev
 apt-get --allow-unauthenticated --yes install ccache
 apt-get --allow-unauthenticated --yes install libltdl-dev
 apt-get --allow-unauthenticated --yes install libplist-dev
 apt-get --allow-unauthenticated --yes install libbluray-dev
 apt-get --allow-unauthenticated --yes install i965-va-driver vainfo libva-dev
 apt-get --allow-unauthenticated --yes build-dep xbmc
 apt-get --yes remove --purge $(dpkg -l|awk '/xbmc|kodi/{print $2}')
 echo "Hint: Run as user to compile/build/install in the home!" >&2
 exit 1
fi
target=$HOME/dist
mkdir -p $target/src
if ! grep -qs $target/bin $HOME/.bashrc; then
 echo "export PATH=$target/bin:$PATH" >> $HOME/.bashrc
 export PATH=$target/bin:$PATH
fi
if ! grep -qs $target/lib $HOME/.bashrc; then
 echo "export LD_LIBRARY_PATH=$target/lib" >> $HOME/.bashrc
 export LD_LIBRARY_PATH=$target/lib
fi
if false; then
cd $target/src
rm -rf libbluray*
wget -Olibbluray.tar.gz http://git.videolan.org$(wget -qO- http://git.videolan.org/?p=libbluray.git|awk -F\" '/snapshot/{print $12}'|head -1)
tar zxf libbluray.tar.gz
cd libbluray-*
./bootstrap
./configure --prefix=$target PKG_CONFIG_PATH=$target/lib/pkgconfig
time make -j`grep -c ^processor /proc/cpuinfo 2>/dev/null||echo 1`
make install
fi
cd $target/src
rm -rf xbmc-*
#wget -Oxbmc.tar.gz http://xbmc.git.sourceforge.net$(wget -qO- http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/xbmc|awk -F\" '/snapshot/{print $12}'|head -1)
#wget -Oxbmc.tar.gz --no-check-certificate https://github.com/xbmc/xbmc/tarball/master
wget -Oxbmc.tar.gz https://github.com/xbmc/xbmc/archive/Jarvis.tar.gz
tar zxf xbmc.tar.gz
#wget -O ffmpeg.vaapi.mpeg4.bframes.patch http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100413/79f5efee/attachment-0001.obj
#wget -O ffmpeg.vaapi.gma500.mpeg4.bframes.patch http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100413/79f5efee/attachment.obj
#cd xbmc*
cd xbmc-*
#wget -qO- "http://trac.xbmc.org/changeset/31085?format=diff&new=31085"|patch -Rp2
#perl -pi -e 's|.*VDP_DECODER_PROFILE_MPEG4_PART2_SP.*\n||' xbmc/cores/dvdplayer/Codecs/ffmpeg/configure
#[ "$(uname -m)" = "x86_64" ] || sed -i 's/^\(DEFAULT_COMPILE_FLAGS\)/#\1/' configure.in
#cd xbmc/cores/dvdplayer/Codecs/ffmpeg
#patch -p1 < ../../../../../../ffmpeg.vaapi.mpeg4.bframes.patch
#patch -p1 < ../../../../../../ffmpeg.vaapi.gma500.mpeg4.bframes.patch
#cd -
if false; then
sed -i s%/usr/local%$target% lib/taglib/Makefile
make -C lib/taglib -j`grep -c ^processor /proc/cpuinfo 2>/dev/null||echo 1`
make -C lib/taglib install
sed -i s%taglib/%% xbmc/music/tags/* xbmc/network/cddb.cpp
fi
./bootstrap
./configure --prefix=$target PKG_CONFIG_PATH=$target/lib/pkgconfig --disable-libcec
time make -j`grep -c ^processor /proc/cpuinfo 2>/dev/null||echo 1`
make install
mkdir -p ~/Desktop
rm -f ~/Desktop/xbmc.desktop ~/.local/share/applications/xbmc.desktop
rm -f ~/Desktop/kodi.desktop ~/.local/share/applications/kodi.desktop
if [ -f $target/share/applications/kodi.desktop ]; then
 echo '#!/usr/bin/env xdg-open' > ~/Desktop/kodi.desktop
 # sed 's|\(Exec=\)\(.*\)|\1'$target'/bin/\2|;
 # s|\(Icon=\)\(.*\)|\1'$target'/share/pixmaps/\2|' \
 sed 's|\(Exec=\)\(.*\)|\1killall -9 kodi.bin 2>/dev/null;LD_LIBRARY_PATH='$LD_LIBRARY_PATH' '$target'/bin/\2|;
      s|\(Icon=\)\(.*\)|\1'$target'/share/icons/hicolor/48x48/apps/\2.png|' \
  $target/share/applications/kodi.desktop >> ~/Desktop/kodi.desktop
 [ "$KDE_FULL_SESSION" = "true" ] || sed -i 's|killall -9 kodi.bin 2>/dev/null;||' ~/Desktop/xbmc.desktop
 mkdir -p ~/.local/share/applications
 cp -v ~/Desktop/kodi.desktop ~/.local/share/applications/
 chmod 744 ~/Desktop/kodi.desktop
fi
#if [ -f /etc/init.d/vdr -o -f /etc/init.d/vdrdevel ]; then
# mkdir -p ~/.xbmc/scripts
# rm -f ~/.xbmc/scripts/VDR.py
# cat > ~/.xbmc/scripts/VDR.py << 'EOT'
#import os
#os.system('xine -f -g -D --no-splash xvdr:/')
#EOT
# rm -f ~/.xbmc/scripts/VDR_window.py
# cat > ~/.xbmc/scripts/VDR_window.py << 'EOT'
#import os
#os.system('xine -g -D --no-splash xvdr:/')
#EOT
#fi
#if ! [ -e ~/.xbmc/scripts/Navi-X ]; then
# mkdir -p ~/.xbmc/scripts
# cd ~/.xbmc/scripts
# NAVI_X=$(wget -qO- http://code.google.com/p/navi-x/downloads/list|awk -F\' '/Navi-X/&&/zip/{print $2}'|head -1)
# wget -N $NAVI_X
# unzip ${NAVI_X##*/}
# rm -f ${NAVI_X##*/}
#fi
#if ! [ -e ~/.xbmc/plugins/programs/SVN\ Repo\ Installer ]; then
# mkdir -p ~/.xbmc/plugins/programs
# cd ~/.xbmc/plugins/programs
# wget -N http://xbmc-addons.googlecode.com/svn/packages/plugins/programs/SVN_Repo_Installer.zip
# unzip SVN_Repo_Installer.zip
# rm -f SVN_Repo_Installer.zip
#fi
cat <<EOF


to start open a new console, then: xbmc

for shortcuts look into: $target/share/xbmc/system/keymaps/keyboard.xml

vdr live channels: vtp://localhost

nice script (extract into ~/.xbmc/scripts): http://website.navi-x.org

best change function of poweroff button:

SYSTEM/System/Power saving/Shutdown function: Quit

german:

SYSTEM/System/Energiesparen/Funktion für 'Ausschalten': Beenden
EOF
