summaryrefslogtreecommitdiffstats
path: root/abs/extra/community/xbmc/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/community/xbmc/PKGBUILD')
-rw-r--r--abs/extra/community/xbmc/PKGBUILD118
1 files changed, 118 insertions, 0 deletions
diff --git a/abs/extra/community/xbmc/PKGBUILD b/abs/extra/community/xbmc/PKGBUILD
new file mode 100644
index 0000000..950d704
--- /dev/null
+++ b/abs/extra/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
+}