From e63c189835c9d9b4dffddf461e7f2bb5134cb1a3 Mon Sep 17 00:00:00 2001 From: Nathan Harris <nharris@eoimaging.com> Date: Fri, 15 Jan 2010 16:38:19 -0500 Subject: xbmc: bumped to 9.11-5 (plus /usr as prefix) --- abs/extra-testing/xbmc/FEH.sh | 47 +++++++ abs/extra-testing/xbmc/PKGBUILD | 156 ++++++++++++--------- .../use_cdio_system_headers_on_non_win32.patch | 130 +++++++++++++++++ 3 files changed, 270 insertions(+), 63 deletions(-) create mode 100644 abs/extra-testing/xbmc/FEH.sh create mode 100644 abs/extra-testing/xbmc/use_cdio_system_headers_on_non_win32.patch diff --git a/abs/extra-testing/xbmc/FEH.sh b/abs/extra-testing/xbmc/FEH.sh new file mode 100644 index 0000000..9cbec63 --- /dev/null +++ b/abs/extra-testing/xbmc/FEH.sh @@ -0,0 +1,47 @@ +#!/bin/bash +function directRendering() { +out=$(glxinfo | grep "direct rendering") +direct=${out#"direct rendering: "} +if [ "$direct" = "Yes" ]; then + return 0 +else + return 1 +fi +} + +function colorDepth() { +out=$(xdpyinfo | grep "depth of root") +color=${out:27:2} +if [ "$color" = "24" ]; then + return 0 +else + return 1 +fi +} + +directRendering +direct_ok=$? + +colorDepth +color_ok=$? + +exit_val=0 + +if [ $direct_ok -ne 0 ]; then + echo "XBMC needs hardware accelerated OpenGL rendering." + echo "Install an appropriate graphics driver." + echo " " + echo "Please consult XBMC Wiki for supported hardware" + echo "http://xbmc.org/wiki/?title=Supported_hardware" + exit_val=1 +fi + +if [ $color_ok -ne 0 ]; then + echo "XBMC cannot run unless the" + echo "screen color depth is atleast 24 bit." + echo " " + echo "Please reconfigure your screen." + exit_val=1 +fi + +exit $exit_val diff --git a/abs/extra-testing/xbmc/PKGBUILD b/abs/extra-testing/xbmc/PKGBUILD index 81755b3..fc068d4 100644 --- a/abs/extra-testing/xbmc/PKGBUILD +++ b/abs/extra-testing/xbmc/PKGBUILD @@ -1,86 +1,116 @@ # Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> # Contributor: Zeqadious <zeqadious.at.gmail.dot.com> +# Contributor: BlackEagle < ike DOT devolder AT herecura DOT be > + +# python dependency or not +_ext_python="disable" pkgname=xbmc pkgver=9.11 -pkgrel=2 +pkgrel=5 pkgdesc="XBMC Media Center" arch=('i686' 'x86_64') url="http://xbmc.org" license=('GPL' 'custom') conflicts=('xbmc-svn') depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' - 'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient' + 'hal' 'jasper' 'libgl' 'libjpeg' 'libmad' 'libmysqlclient' 'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' 'tre' 'unzip' 'x-server' 'libcdio' 'wavpack' 'libmpeg2' 'a52dec' - 'smbclient' 'faad2' 'libsamplerate' 'libmms' 'xorg-utils') + 'libdca' 'smbclient' 'faad2' 'libsamplerate' 'libmms' 'xorg-utils') +if [ "$_ext_python" != "disable" ]; then + depends=( '${depends[@]}' 'python' ) +fi makedepends=('autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' - 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' - 'libvdpau') -optdepends=('libcdio: optical disc support' - 'lirc: remote controller support' - 'pmount: mount removable devices as normal user' + 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' + 'libvdpau') +optdepends=('lirc: remote controller support' 'smbclient: access windows shares' 'unrar: access compressed files without unpacking them') -install=("${pkgname}.install") +install=${pkgname}.install options=(force) -source=("http://downloads.sourceforge.net/project/xbmc/XBMC%20Source%20Code/Camelot%20-%20$pkgver/xbmc-${pkgver/_/-}.tar.gz" \ - 'Lircmap.xml') -md5sums=('9a68ac1e2f44a54cc3803fcdb1265767') +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 + Lircmap.xml) build() { - cd "${srcdir}/xbmc-${pkgver/_/-}" - _xbmcprefix=/opt/xbmc + cd "${srcdir}/xbmc-${pkgver/_/-}" + _xbmcprefix=/usr + + patch -N -p1 -i ../use_cdio_system_headers_on_non_win32.patch || return 1 + # fix lsb_release dependency + sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp || return 1 + # fix faulty declaration in DllLaoder wrapper + sed -i 's: ftell64: dll_ftell64:' xbmc/cores/DllLoader/exports/wrapper.c || return 1 + # 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 + # Archlinux Branding by SVN_REV + export SVN_REV="-ARCH" - if [ $NOEXTRACT -ne 1 ]; then -# if true; then ./bootstrap ./configure --prefix=${_xbmcprefix} \ - --enable-vdpau \ - --disable-pulse \ - --disable-avahi \ - --enable-external-liba52 \ - --enable-external-libdts \ - --enable-external-libmpeg2 \ - --enable-external-libogg \ - --enable-external-libwavpack \ - --disable-external-libass \ - --disable-external-ffmpeg \ - --disable-external-python \ - --disable-debug || return 1 - fi - - make || return 1 - make prefix=${pkgdir}${_xbmcprefix} install || return 1 - - # Fix the shell script - sed -i '3iexport SDL_AUDIODRIVER=alsa' ${pkgdir}${_xbmcprefix}/bin/xbmc - - # Menu item - install -Dm644 ${srcdir}/xbmc-${pkgver/_/-}/tools/Linux/xbmc.desktop \ - ${pkgdir}/usr/share/applications/xbmc.desktop || return 1 - install -Dm644 ${srcdir}/xbmc-${pkgver/_/-}/tools/Linux/xbmc.png \ - ${pkgdir}/usr/share/pixmaps/xbmc.png || return 1 - - # XBMCTex -# install -Dm755 ${srcdir}/xbmc-${pkgver/_/-}/tools/XBMCTex/XBMCTex \ -# ${pkgdir}${_xbmcprefix}/share/xbmc/tools/xbmctex || return 1 - - # License(s) - install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} - for licensef in LICENSE.GPL README.linux copying.txt; do - mv ${pkgdir}${_xbmcprefix}/share/xbmc/${licensef} \ - ${pkgdir}/usr/share/licenses/${pkgname} || return 1 - done - - # profile.d - mkdir -p $pkgdir/etc/profile.d/ && \ - echo "export PATH=\$PATH:${_xbmcprefix}/bin" >$pkgdir/etc/profile.d/xbmc.sh && \ - chmod 0755 $pkgdir/etc/profile.d/xbmc.sh || return 1 - - # fix .desktop - sed -i 's#Exec=xbmc#Exec=/opt/xbmc/bin/xbmc#' $pkgdir/opt/xbmc/share/xsessions/XBMC.desktop $pkgdir/usr/share/applications/xbmc.desktop - - # Use custom Lircmap to support StreamZap remote - cp ${srcdir}/Lircmap.xml ${pkgdir}${_xbmcprefix}/share/xbmc/system/Lircmap.xml + --enable-vdpau \ + --disable-pulse \ + --disable-avahi \ + --enable-external-liba52 \ + --enable-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 + make prefix=${pkgdir}${_xbmcprefix} install || return 1 + + # Fix the shell script + sed -i '3iexport SDL_AUDIODRIVER=alsa' ${pkgdir}${_xbmcprefix}/bin/xbmc + + # if disabled external python install bash script and fix startup script + if [ "$_ext_python" = "disable" ]; then + install -Dm755 ${srcdir}/FEH.sh \ + ${pkgdir}${_xbmcprefix}/share/xbmc/FEH.sh || return 1 + sed -i -e "s/python \\${_xbmcprefix}\/share\/xbmc\/FEH.py \"\$@\"/\\${_xbmcprefix}\/share\/xbmc\/FEH.sh/g" ${pkgdir}${_xbmcprefix}/bin/xbmc || return 1 + fi + + # bin/xbmc lsb_release fix in xmbc startup script + sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' ${pkgdir}${_xbmcprefix}/bin/xbmc || return 1 + sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" ${pkgdir}${_xbmcprefix}/bin/xbmc || return 1 + + # Menu item + install -Dm644 ${srcdir}/xbmc-${pkgver/_/-}/tools/Linux/xbmc.desktop \ + ${pkgdir}/usr/share/applications/xbmc.desktop || return 1 + install -Dm644 ${srcdir}/xbmc-${pkgver/_/-}/tools/Linux/xbmc.png \ + ${pkgdir}/usr/share/pixmaps/xbmc.png || return 1 + + # XBMCTex + # install -Dm755 ${srcdir}/xbmc-${pkgver/_/-}/tools/XBMCTex/XBMCTex \ + # ${pkgdir}${_xbmcprefix}/share/xbmc/tools/xbmctex || return 1 + + # License(s) + install -dm755 ${pkgdir}/usr/share/licenses/${pkgname} + for licensef in LICENSE.GPL README.linux copying.txt; do + mv ${pkgdir}${_xbmcprefix}/share/xbmc/${licensef} \ + ${pkgdir}/usr/share/licenses/${pkgname} || return 1 + done + + # profile.d + mkdir -p $pkgdir/etc/profile.d/ && \ + echo "export PATH=\$PATH:${_xbmcprefix}/bin" >$pkgdir/etc/profile.d/xbmc.sh && \ + chmod 0755 $pkgdir/etc/profile.d/xbmc.sh || return 1 + + # fix .desktop + sed -i "s#Exec=xbmc#Exec=${_xbmcprefix}/bin/xbmc#" $pkgdir/usr/share/xsessions/XBMC.desktop $pkgdir/usr/share/applications/xbmc.desktop + + # Use custom Lircmap to support StreamZap remote + cp ${srcdir}/Lircmap.xml ${pkgdir}${_xbmcprefix}/share/xbmc/system/Lircmap.xml } +md5sums=('9a68ac1e2f44a54cc3803fcdb1265767' + '7b7403cdde791330b5ab70697d2054f2' + '0aa669eebaaf2a9f6e000e1f43869a7b') diff --git a/abs/extra-testing/xbmc/use_cdio_system_headers_on_non_win32.patch b/abs/extra-testing/xbmc/use_cdio_system_headers_on_non_win32.patch new file mode 100644 index 0000000..71f3885 --- /dev/null +++ b/abs/extra-testing/xbmc/use_cdio_system_headers_on_non_win32.patch @@ -0,0 +1,130 @@ +diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp +index 9097519..9b6418d 100644 +--- a/xbmc/Application.cpp ++++ b/xbmc/Application.cpp +@@ -236,7 +236,11 @@ + #endif + + #ifdef HAS_DVD_DRIVE ++#ifdef _WIN32 + #include "lib/libcdio/logging.h" ++#else ++#include <cdio/logging.h> ++#endif + #endif + + #ifdef HAS_HAL +diff --git a/xbmc/FileSystem/Makefile b/xbmc/FileSystem/Makefile +index 782d57a..1e524ed 100644 +--- a/xbmc/FileSystem/Makefile ++++ b/xbmc/FileSystem/Makefile +@@ -1,5 +1,4 @@ +-INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include +-INCLUDES+=-I../lib/libcdio/libcdio/include ++INCLUDES=-I. -I../ -I../cores -I../linux -I../../guilib -I../lib/UnrarXLib -I../utils -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I../lib + + CXXFLAGS+=-D__STDC_FORMAT_MACROS \ + +diff --git a/xbmc/FileSystem/cdioSupport.cpp b/xbmc/FileSystem/cdioSupport.cpp +index 00e5fdd..21a0b67 100644 +--- a/xbmc/FileSystem/cdioSupport.cpp ++++ b/xbmc/FileSystem/cdioSupport.cpp +@@ -26,7 +26,7 @@ + #include "cdioSupport.h" + #include "utils/SingleLock.h" + #include "utils/log.h" +-#ifndef _LINUX ++#ifdef _WIN32 + #include "lib/libcdio/logging.h" + #include "lib/libcdio/util.h" + #include "lib/libcdio/mmc.h" +diff --git a/xbmc/FileSystem/iso9660.cpp b/xbmc/FileSystem/iso9660.cpp +index 6e1633f..58fbc50 100644 +--- a/xbmc/FileSystem/iso9660.cpp ++++ b/xbmc/FileSystem/iso9660.cpp +@@ -44,7 +44,7 @@ ISO9660 + #include "utils/CharsetConverter.h" + + #include "DetectDVDType.h" // for MODE2_DATA_SIZE etc. +-#ifdef _LINUX ++#ifndef _WIN32 + #include <cdio/bytesex.h> + #else + #include "lib/libcdio/bytesex.h" // for from_723 & from_733 +diff --git a/xbmc/Makefile b/xbmc/Makefile +index abfbdcb..f55381a 100644 +--- a/xbmc/Makefile ++++ b/xbmc/Makefile +@@ -8,8 +8,6 @@ INCLUDES+=-Ilib/libUPnP/Platinum/Source/Core \ + -Ilib/libUPnP/Neptune/Source/System/Posix \ + -Ilib/libUPnP/Neptune/Source/Core + +-INCLUDES+=-Ilib/libcdio/libcdio/include +- + SRCS=Application.cpp \ + CueDocument.cpp \ + GUISettings.cpp \ +diff --git a/xbmc/cdrip/CDDAReader.cpp b/xbmc/cdrip/CDDAReader.cpp +index c8b37b2..e3e9c0b 100644 +--- a/xbmc/cdrip/CDDAReader.cpp ++++ b/xbmc/cdrip/CDDAReader.cpp +@@ -24,7 +24,11 @@ + #ifdef HAS_CDDA_RIPPER + + #include "CDDAReader.h" ++#ifdef _WIN32 + #include "lib/libcdio/cdio.h" ++#else ++#include <cdio/cdio.h> ++#endif + #include "utils/log.h" + + #define SECTOR_COUNT 52 +diff --git a/xbmc/cores/paplayer/AC3CDDACodec.cpp b/xbmc/cores/paplayer/AC3CDDACodec.cpp +index 20cded7..f2a077a 100644 +--- a/xbmc/cores/paplayer/AC3CDDACodec.cpp ++++ b/xbmc/cores/paplayer/AC3CDDACodec.cpp +@@ -22,7 +22,11 @@ + #include "system.h" + #include "AC3CDDACodec.h" + #ifdef HAS_AC3_CDDA_CODEC ++#ifdef _WIN32 + #include "lib/libcdio/sector.h" ++#else ++#include <cdio/sector.h> ++#endif + + AC3CDDACodec::AC3CDDACodec() : AC3Codec() + { +diff --git a/xbmc/cores/paplayer/CDDAcodec.cpp b/xbmc/cores/paplayer/CDDAcodec.cpp +index ca8f1be..42460dc 100644 +--- a/xbmc/cores/paplayer/CDDAcodec.cpp ++++ b/xbmc/cores/paplayer/CDDAcodec.cpp +@@ -20,7 +20,11 @@ + */ + + #include "CDDAcodec.h" ++#ifdef _WIN32 + #include "lib/libcdio/sector.h" ++#else ++#include <cdio/sector.h> ++#endif + + #define SECTOR_COUNT 55 // max. sectors that can be read at once + #define MAX_BUFFER_SIZE 2*SECTOR_COUNT*CDIO_CD_FRAMESIZE_RAW +diff --git a/xbmc/cores/paplayer/DTSCDDACodec.cpp b/xbmc/cores/paplayer/DTSCDDACodec.cpp +index e64cc2e..9bc46c6 100644 +--- a/xbmc/cores/paplayer/DTSCDDACodec.cpp ++++ b/xbmc/cores/paplayer/DTSCDDACodec.cpp +@@ -22,7 +22,11 @@ + #include "system.h" + #include "DTSCDDACodec.h" + #ifdef HAS_DTS_CODEC ++#ifdef _WIN32 + #include "lib/libcdio/sector.h" ++#else ++#include <cdio/sector.h> ++#endif + + DTSCDDACodec::DTSCDDACodec() : DTSCodec() + { -- cgit v0.12