diff options
Diffstat (limited to 'abs/extra/xbmc')
| -rw-r--r-- | abs/extra/xbmc/FEH.sh | 47 | ||||
| -rw-r--r-- | abs/extra/xbmc/Lircmap.xml | 233 | ||||
| -rw-r--r-- | abs/extra/xbmc/PKGBUILD | 116 | ||||
| -rw-r--r-- | abs/extra/xbmc/__changelog | 1 | ||||
| -rw-r--r-- | abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch | 130 | ||||
| -rw-r--r-- | abs/extra/xbmc/xbmc.install | 7 | 
6 files changed, 534 insertions, 0 deletions
| diff --git a/abs/extra/xbmc/FEH.sh b/abs/extra/xbmc/FEH.sh new file mode 100644 index 0000000..9cbec63 --- /dev/null +++ b/abs/extra/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/xbmc/Lircmap.xml b/abs/extra/xbmc/Lircmap.xml new file mode 100644 index 0000000..600567f --- /dev/null +++ b/abs/extra/xbmc/Lircmap.xml @@ -0,0 +1,233 @@ +<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  --> +<!--                                                                              --> +<!-- How to add remotes                                                           --> +<!-- <remote device="name_Lirc_calls_the_remote">                                 --> +<!--                                                                              --> +<!-- For the commands the layout following layout is used                         --> +<!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND>                                  --> +<!--                                                                              --> +<!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml   --> + +<lircmap> +	<remote device="mceusb"> +		<pause>Pause</pause> +		<stop>Stop</stop> +		<forward>Forward</forward> +		<reverse>Rewind</reverse> +		<left>Left</left> +		<right>Right</right> +		<up>Up</up> +		<down>Down</down> +		<select>OK</select> +		<pageplus>ChanUp</pageplus> +		<pageminus>ChanDown</pageminus> +		<back>Back</back> +		<menu>PreviousMenu</menu> +		<title>Play</title> +		<info>More</info> +		<skipplus>Skip</skipplus> +		<skipminus>Replay</skipminus> +		<display>Teletext</display> +		<start>Home</start> +		<record>Record</record> +		<volumeplus>VolUp</volumeplus> +		<volumeminus>VolDown</volumeminus> +		<mute>Mute</mute> +		<power>Power</power> +		<myvideo>Videos</myvideo> +		<mymusic>Music</mymusic> +		<mypictures>Pictures</mypictures> +		<mytv>TV</mytv> +		<one>One</one> +		<two>Two</two> +		<three>Three</three> +		<four>Four</four> +		<five>Five</five> +		<six>Six</six> +		<seven>Seven</seven> +		<eight>Eight</eight> +		<nine>Nine</nine> +		<zero>Zero</zero> +		<mytv>Red</mytv> +		<mymusic>Green</mymusic> +		<mypictures>Yellow</mypictures> +		<myvideo>Blue</myvideo> +	</remote> +	 +	<remote device="mceusb2"> +		<pause>Pause</pause> +		<stop>Stop</stop> +		<forward>Forward</forward> +		<reverse>Rewind</reverse> +		<left>Left</left> +		<right>Right</right> +		<up>Up</up> +		<down>Down</down> +		<select>OK</select> +		<pageplus>ChanUp</pageplus> +		<pageminus>ChanDown</pageminus> +		<back>Back</back> +		<menu>PreviousMenu</menu> +		<title>Play</title> +		<info>More</info> +		<skipplus>Skip</skipplus> +		<skipminus>Replay</skipminus> +		<display>Teletext</display> +		<start>Home</start> +		<record>Record</record> +		<volumeplus>VolUp</volumeplus> +		<volumeminus>VolDown</volumeminus> +		<mute>Mute</mute> +		<power>Power</power> +		<myvideo>Videos</myvideo> +		<mymusic>Music</mymusic> +		<mypictures>Pictures</mypictures> +		<mytv>TV</mytv> +		<one>One</one> +		<two>Two</two> +		<three>Three</three> +		<four>Four</four> +		<five>Five</five> +		<six>Six</six> +		<seven>Seven</seven> +		<eight>Eight</eight> +		<nine>Nine</nine> +		<zero>Zero</zero> +		<mytv>Red</mytv> +		<mymusic>Green</mymusic> +		<mypictures>Yellow</mypictures> +		<myvideo>Blue</myvideo> +	</remote> +	 +	<remote device="XboxDVDDongle"> +		<play>PLAY</play> +		<pause>PAUSE</pause> +		<stop>STOP</stop> +		<forward>FORWARD</forward> +		<reverse>REVERSE</reverse> +		<left>LEFT</left> +		<right>RIGHT</right> +		<up>UP</up> +		<down>DOWN</down> +		<select>SELECT</select> +		<back>BACK</back> +		<menu>MENU</menu> +		<title>TITLE</title> +		<info>INFO</info> +		<skipplus>SKIP+</skipplus> +		<skipminus>SKIP-</skipminus> +		<display>DISPLAY</display> +		<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> +	</remote> + +	<remote device="Microsoft_Xbox"> +		<play>PLAY</play> +		<pause>PAUSE</pause> +		<stop>STOP</stop> +		<forward>FORWARD</forward> +		<reverse>REVERSE</reverse> +		<left>LEFT</left> +		<right>RIGHT</right> +		<up>UP</up> +		<down>DOWN</down> +		<select>SELECT</select> +		<back>BACK</back> +		<menu>MENU</menu> +		<title>TITLE</title> +		<info>INFO</info> +		<skipplus>SKIP+</skipplus> +		<skipminus>SKIP-</skipminus> +		<display>DISPLAY</display> +		<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> +	</remote> + +	<remote device="PinnacleSysPCTVRemote"> +		<play>Play</play> +		<pause>pause</pause> +		<stop>Stop</stop> +		<forward>FForward</forward> +		<reverse>Rewind</reverse> +		<left>Vol-Rew</left> +		<right>Vol+FF</right> +		<up>Chan+Play</up> +		<down>Chan-Stop</down> +		<pageplus>channel+</pageplus> +		<pageminus>channel-</pageminus> +		<select>middle</select> +		<back>undo</back> +		<menu>Menu</menu> +		<title>L</title> +		<info>Info</info> +		<skipplus>next</skipplus> +		<display>Fullscreen</display> +		<record>Record</record> +		<volumeplus>vol+</volumeplus> +		<volumeminus>vol-</volumeminus> +		<mute>Mute</mute> +		<power>Power</power> +		<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> +	</remote> + +        <remote device="Streamzap_PC_Remote"> +                <play>PLAY</play> +                <pause>PAUSE</pause> +                <stop>STOP</stop> +                <forward>>></forward> +                <reverse><<</reverse> +                <left>LEFT</left> +                <right>RIGHT</right> +                <up>UP</up> +                <down>DOWN</down> +                <pageplus>CH_UP</pageplus> +                <pageminus>CH_DOWN</pageminus> +                <select>OK</select> +                <back>EXIT</back> +                <menu>MENU</menu> +                <title>RED</title> +                <info>GREEN</info> +                <skipplus>>>|</skipplus> +                <display>YELLOW</display> +                <record>RECORD</record> +                <volumeplus>VOL_UP</volumeplus> +                <volumeminus>VOL_DOWN</volumeminus> +                <mute>MUTE</mute> +                <power>POWER</power> +                <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> +        </remote> +</lircmap> diff --git a/abs/extra/xbmc/PKGBUILD b/abs/extra/xbmc/PKGBUILD new file mode 100644 index 0000000..fc068d4 --- /dev/null +++ b/abs/extra/xbmc/PKGBUILD @@ -0,0 +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=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' 'libmad' 'libmysqlclient' +         'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' +         'tre' 'unzip' 'x-server' 'libcdio' 'wavpack' 'libmpeg2' 'a52dec' +         '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=('lirc: remote controller support' +            'smbclient: access windows shares' +            'unrar: access compressed files without unpacking them') +install=${pkgname}.install +options=(force) +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=/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" + +    ./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 \ +    --${_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/xbmc/__changelog b/abs/extra/xbmc/__changelog new file mode 100644 index 0000000..bbf1705 --- /dev/null +++ b/abs/extra/xbmc/__changelog @@ -0,0 +1 @@ +Added Lircmap.xml to PKGBUILD to support MCE2 and StreamZap remotes diff --git a/abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch b/abs/extra/xbmc/use_cdio_system_headers_on_non_win32.patch new file mode 100644 index 0000000..71f3885 --- /dev/null +++ b/abs/extra/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() + { diff --git a/abs/extra/xbmc/xbmc.install b/abs/extra/xbmc/xbmc.install new file mode 100644 index 0000000..eb4e9d4 --- /dev/null +++ b/abs/extra/xbmc/xbmc.install @@ -0,0 +1,7 @@ +post_install() { +  echo ">> If XBMC won't start, but just segfaults, double check your X.Org config" +  echo ">> so that your display depth is at least 24-bit. Eg: change " +  echo ">> \"DefaultDepth 16\" under the \"Screen\" section so it says 24 instead" +  echo ">> of 16." +  /bin/true +} | 
