# # Chakra Packages for Chakra, part of chakra-project.org # # maintainer (i686): Phil Miller # maintainer (x86_64): Manuel Tortosa # include global config source ../_buildscripts/${current_repo}-${_arch}-cfg.conf # python dependency or not _ext_python="disable" pkgname=xbmc pkgver=9.11 pkgrel=1 pkgdesc="XBMC Media Center" arch=('i686' 'x86_64') url="http://xbmc.org" license=('GPL' 'custom') depends=( 'bzip2' 'curl' 'enca' 'faac' 'faad2' 'fontconfig' 'fribidi' 'glew' 'hal' 'jasper' 'libcdio' 'libgl' 'libmad' 'libmms' 'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libxinerama' 'libxrandr' 'libxtst' 'lzo2' 'sdl_image' 'sdl_mixer' 'smbclient' 'wavpack' ) if [ "$_ext_python" != "disable" ]; then depends=( '${depends[@]}' 'python' ) fi makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libvdpau' 'unzip' 'zip') optdepends=('lirc: remote controller support' 'unrar: access compressed files without unpacking them' 'devicekit-power: used to trigger suspend functionality') install=("${pkgname}.install") options=(makeflags) source=("http://downloads.sourceforge.net/project/xbmc/XBMC%20Source%20Code/Camelot%20-%20$pkgver/xbmc-${pkgver/_/-}.tar.gz" "use_cdio_system_headers_on_non_win32.patch" "FEH.sh" "libpng14.patch" "xbmc-9.11-wavpack.patch" "xbmc-9.11-TexturePacker-parallel-build.patch") md5sums=('9a68ac1e2f44a54cc3803fcdb1265767' '7b7403cdde791330b5ab70697d2054f2' 'c3e2ab79b9965f1a4a048275d5f222c4' '3f93cfc8aa21723ca3246dc5f9122177' '062c5f61cd3bb27de66c861fd2c79de1' '4b9f89e5ade45142dfb001fbc563b5a6') build() { # fix build export MAKEFLAGS="-j1" cd "${srcdir}/xbmc-${pkgver/_/-}" # dash the next two lines if U use intel cpu for compiling msg "Applying patch for old SSE" patch xbmc/lib/libsquish/Makefile.in < ${srcdir}/../sse1.patch msg "fix libcdio faults" patch -N -p1 -i ${srcdir}/use_cdio_system_headers_on_non_win32.patch || return 1 msg "fix libpng 1.4 problems" patch -Np1 -i ${srcdir}/libpng14.patch || return 1 msg "fix wavpack builderror" patch -Np1 -i ${srcdir}/xbmc-9.11-wavpack.patch || return 1 msg "fix texture packer builderror" patch -Np1 -i ${srcdir}/xbmc-9.11-TexturePacker-parallel-build.patch || return 1 msg "fix lsb_release dependency" sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/chakra-release:' xbmc/utils/SystemInfo.cpp || return 1 msg "fix faulty declaration in DllLaoder wrapper" sed -i 's: ftell64: dll_ftell64:' xbmc/cores/DllLoader/exports/wrapper.c || return 1 msg "fix libjpeg7 delays" sed -i 's|cinfo.scale_denom = GetJpegScale();|cinfo.scale_denom = GetJpegScale(); cinfo.scale_num = 1;|' xbmc/lib/cximage-6.0/CxImage/ximajpg.cpp || return 1 if [ $NOEXTRACT -ne 1 ]; then # Chakralinux Branding by SVN_REV export SVN_REV="-CHAKRA" ./bootstrap ./configure --prefix=/usr \ --enable-vdpau \ --disable-pulse \ --disable-avahi \ --disable-external-liba52 \ --disable-external-libdts \ --enable-external-libmpeg2 \ --enable-external-libogg \ --enable-external-libwavpack \ --disable-external-libass \ --disable-external-ffmpeg \ --${_ext_python}-external-python \ --disable-debug || return 1 fi make || return 1 } package() { cd "${srcdir}/xbmc-${pkgver/_/-}" make prefix=${pkgdir}/usr install || return 1 # Fix the shell script # sed -i '3iexport SDL_AUDIODRIVER=alsa' ${pkgdir}/usr/bin/xbmc msg "bin/xbmc mods for chakra package" sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/chakra-release ]/g' ${pkgdir}/usr/bin/xbmc || return 1 sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/chakra-release/g" ${pkgdir}/usr/bin/xbmc || return 1 sed -i -e 's/\/usr\/share\/xbmc/\/opt\/xbmc/' ${pkgdir}/usr/bin/xbmc || return 1 msg "if disabled external python install bash script and fix startup script" if [ "$_ext_python" = "disable" ]; then install -Dm755 ${srcdir}/FEH.sh \ ${pkgdir}/usr/share/xbmc/FEH.sh || return 1 sed -i -e "s/python \/opt\/xbmc\/FEH.py \"\$@\"/\/opt\/xbmc\/FEH.sh/g" ${pkgdir}/usr/bin/xbmc || return 1 fi # License(s) msg "copy licences" install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} for licensef in LICENSE.GPL README.linux copying.txt; do mv ${pkgdir}/usr/share/xbmc/${licensef} \ ${pkgdir}/usr/share/licenses/${pkgname} || return 1 done # cleanup some stuff msg "cleanup unneeded dirs" rm -r ${pkgdir}/usr/share/xsessions # fix .desktop msg "fix .desktop" sed -i "s#Exec=xbmc#Exec=/usr/bin/xbmc#" $pkgdir/usr/share/applications/xbmc.desktop || return 1 msg "Move Faulty xbmc dir to /opt" mkdir $pkgdir/opt/ mv $pkgdir/usr/share/xbmc $pkgdir/opt msg "Remove old PM3.HD skin" rm -r ${pkgdir}/opt/xbmc/skin/PM3.HD || return 1 # strip msg "strip binaries" find $pkgdir -type f -exec strip {} \; >/dev/null 2>/dev/null }