diff options
Diffstat (limited to 'abs/extra-testing/community/xbmc/PKGBUILD')
-rw-r--r-- | abs/extra-testing/community/xbmc/PKGBUILD | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/abs/extra-testing/community/xbmc/PKGBUILD b/abs/extra-testing/community/xbmc/PKGBUILD new file mode 100644 index 0000000..950d704 --- /dev/null +++ b/abs/extra-testing/community/xbmc/PKGBUILD @@ -0,0 +1,118 @@ +# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com> +# Contributor: Zeqadious <zeqadious.at.gmail.dot.com> + +pkgname=xbmc +pkgver=8.10 +pkgrel=10 +pkgdesc="XBMC Media Center" +arch=('i686' 'x86_64') +url="http://xbmc.org" +license=('GPL' 'custom') +depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' \ + 'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient' \ + 'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' \ + 'tre' 'unzip' 'x-server') +makedepends=('autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' + 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip') +optdepends=('libcdio: optical disc support' + 'lirc: remote controller support' + 'pmount: mount removable devices as normal user' + 'smbclient: access windows shares' + 'unrar: access compressed files without unpacking them') +install=("${pkgname}.install") +source=("http://downloads.sourceforge.net/${pkgname}/XBMC-${pkgver}.src.tar.gz") +md5sums=('2d20d255a211223eaa47f1c6bcf4be8e') + +build() { + cd "${srcdir}/XBMC" + + # Remove Mac OS X specific files + rm -rf system/python/lib-osx/ + rm system/players/dvdplayer/*-osx* + + # Fix permissions for the configure scripts + find -type f -name "configure"|xargs chmod a+x || return 1 + + # Fix other permissions + find -type f -name "*.pl"|xargs chmod a+x || return 1 + + # Make it gcc 4.3.x compatible + sed '92i#include <stdlib.h>' -i guilib/system.h || return 1 + + # Clean up the configure files and make sure they support C++. + for file in `find . -type f -name configure.in -or -name configure.ac`; do + echo 'AC_PROG_CXX' >> "${file}" + sed -e '/AM_PATH_XMMS/ c\echo' \ + -e '/AM_PATH_SDL2/ c\echo' \ + -i ${file} || return 1 + done + sed -e 's/test_libFLAC++//g' \ + -i "${srcdir}/XBMC/xbmc/cores/paplayer/flac-1.2.1/src/Makefile.am" || return 1 + + # Fix some autoconf issues + touch ${srcdir}/XBMC/xbmc/cores/dvdplayer/Codecs/libmad/{NEWS,AUTHORS,ChangeLog} || return 1 + touch ${srcdir}/XBMC/xbmc/visualizations/Goom/goom2k4-0/ylwrap || return 1 + touch ${srcdir}/XBMC/xbmc/lib/libid3tag/libid3tag/{NEWS,README,AUTHORS,ChangeLog} || return 1 + for dir in \ + . \ + xbmc/cores/dvdplayer/Codecs/libDVDCSS \ + xbmc/cores/dvdplayer/Codecs/libdts \ + xbmc/cores/dvdplayer/Codecs/libdvdnav \ + xbmc/cores/dvdplayer/Codecs/libfaad2 \ + xbmc/cores/dvdplayer/Codecs/libmad \ + xbmc/cores/dvdplayer/Codecs/libmpeg2 \ + xbmc/cores/paplayer/flac-1.2.1 \ + xbmc/cores/paplayer/vorbisfile/libvorbis \ + xbmc/cores/paplayer/vorbisfile/ogg \ + xbmc/visualizations/Goom/goom2k4-0 \ + xbmc/lib/libass \ + xbmc/lib/libid3tag/libid3tag + do + autoreconf --install "${srcdir}/XBMC/${dir}" || return 1 + done + + cd "${srcdir}/XBMC/" + + # Configure XBMC + ./configure --prefix=/usr \ + --disable-debug || return 1 + + # Fix false negative detections of realloc that happens some times + if grep -q 'HAVE_REALLOC 0' config.h; then + sed -e 's|#define HAVE_REALLOC 0|#define HAVE_REALLOC 1|' \ + -e 's|#define realloc rpl_realloc|/* #define realloc rpl_realloc */|' \ + -i config.h || return 1 + fi + + # XBMCTex will segfault on systems with nvidia instaleld if linked to OpenGL + sed -e 's/-lGLU -lGLEW -lGL//' \ + -i ${srcdir}/XBMC/tools/XBMCTex/Makefile + + # Now (finally) build + make || return 1 + make prefix=${pkgdir}/usr install || return 1 + + # Fix the shell script + sed -i '4iexport SDL_AUDIODRIVER=alsa' ${pkgdir}/usr/bin/xbmc + + # Xrandr + install -Dm755 ${srcdir}/XBMC/xbmc-xrandr \ + ${pkgdir}/usr/share/xbmc/xbmc-xrandr || return 1 + + # Menu item + install -Dm644 ${srcdir}/XBMC/tools/Linux/xbmc.desktop \ + ${pkgdir}/usr/share/applications/xbmc.desktop || return 1 + install -Dm644 ${srcdir}/XBMC/tools/Linux/xbmc.png \ + ${pkgdir}/usr/share/pixmaps/xbmc.png || return 1 + + # XBMCTex + install -Dm755 ${srcdir}/XBMC/tools/XBMCTex/XBMCTex \ + ${pkgdir}/usr/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}/usr/share/xbmc/${licensef} \ + ${pkgdir}/usr/share/licenses/${pkgname} || return 1 + done +} |