summaryrefslogtreecommitdiffstats
path: root/abs/extra/community/xbmc-svn/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/community/xbmc-svn/PKGBUILD')
-rw-r--r--abs/extra/community/xbmc-svn/PKGBUILD139
1 files changed, 139 insertions, 0 deletions
diff --git a/abs/extra/community/xbmc-svn/PKGBUILD b/abs/extra/community/xbmc-svn/PKGBUILD
new file mode 100644
index 0000000..45d6671
--- /dev/null
+++ b/abs/extra/community/xbmc-svn/PKGBUILD
@@ -0,0 +1,139 @@
+# Contributors : Richard Atkinson atkinsonr-at-gmail
+# Ralf Barth <archlinux dot org at haggy dot org>
+#
+# Original credits go to Edgar Hucek <gimli at dark-green dot com>
+# for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD
+
+pkgname=xbmc-svn
+pkgver=21748
+pkgrel=1
+pkgdesc="XBMC Media Center from SVN (linuxport branch)"
+provides=('xbmc')
+conflicts=('xbmc' 'xbmc-smoothvideo' 'xbmc-vdpau')
+arch=('i686' 'x86_64')
+url="http://xbmc.org"
+license=('GPL' 'LGPL')
+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' 'libcdio' 'libsamplerate' 'python' 'avahi' 'libmad'
+ 'a52dec' 'libdca' 'faad2' 'libmpeg2' 'libvorbis' 'libogg' 'libmms'
+ 'libmpcdec' 'flac' 'wavpack' 'xorg-utils')
+makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf'
+ 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' 'flex' 'bison')
+optdepends=('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=('libcurl-not-in-lib64.patch'
+ 'Lircmap.xml')
+noextract=('libcurl-not-in-lib64.patch'
+ 'Lircmap.xml')
+md5sums=('c5e808703d0c9e392e1c2837fea1a5ef'
+ '3f93186f1ea4aad73011d00754c7265a')
+
+options=(!makeflags)
+
+build() {
+
+ _svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
+ _svnmod=XBMC
+ _prefix=/usr
+
+ cd ${srcdir}/
+ if [ -d $_svnmod/.svn ]; then
+ msg "SVN tree found, reverting changes and updating to -r$pkgver"
+ (cd $_svnmod && svn revert -R . && svn up -r $pkgver) || return 1
+ else
+ msg "Checking out SVN tree of -r$pkgver"
+ svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1
+ fi
+
+ # Apply patches
+ cd "$srcdir/$_svnmod"
+
+ # Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path:
+ msg "Patching with libcurl-not-in-lib64.patch"
+ patch -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1
+
+ # Goom also needs a fixup due to newer autotools
+ cd "$srcdir/$_svnmod/xbmc/visualizations/Goom/goom2k4-0"
+ aclocal
+ libtoolize --copy --force
+ ./autogen.sh --enable-static --with-pic
+
+ cd "$srcdir/$_svnmod"
+
+ # Configure XBMC
+ #
+ # Note on external-libs:
+ # - We cannot use external python because Arch's python was built with
+ # UCS2 unicode support, whereas xbmc expects UCS4 support
+ # - We cannot use external ffmpeg as we would loose VDPAU functionality
+ # because Arch's ffmpeg package does not support VDPAU
+ # - We don't want to rely on AUR packages, so we also don't use libass
+ # as long as it's in AUR
+ msg "Configuring XBMC"
+ make clean
+ ./configure --prefix=${_prefix} \
+ --enable-external-libmad \
+ --enable-external-liba52 \
+ --enable-external-libdts \
+ --enable-external-libfaad \
+ --enable-external-libmpeg2 \
+ --enable-external-libvorbis \
+ --enable-external-libogg \
+ --enable-external-libmpcdec \
+ --enable-external-libflac \
+ --enable-external-libwavpack \
+ --disable-external-libass \
+ --disable-external-python \
+ --disable-external-ffmpeg \
+ --disable-pulse \
+ --disable-debug || return 1
+
+ # Fix false negative detections of realloc that happens some times
+ msg "Fixing false negative detections of realloc"
+ 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 installed if linked to OpenGL
+ msg "Fixing XBMCTex on systems using the nvidia driver blob"
+ sed -e 's/-lGLU -lGLEW -lGL//' \
+ -i ${srcdir}/$_svnmod/tools/XBMCTex/Makefile
+
+ # Now (finally) build
+ msg "Running make"
+ make || return 1
+ msg "Running make install"
+ make prefix=${pkgdir}${_prefix} install || return 1
+
+ # Install
+ install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \
+ ${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1
+
+ install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \
+ ${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1
+
+ install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \
+ ${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1
+
+ install -Dm755 ${srcdir}/$_svnmod/tools/XBMCTex/XBMCTex \
+ ${pkgdir}${_prefix}/share/xbmc/tools/xbmctex || return 1
+
+ # Skins often use build.sh that looks for /usr/bin/XBMCTex
+ ln -s "${_prefix}/share/xbmc/tools/xbmctex" "$pkgdir/usr/bin/XBMCTex"
+
+ install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
+ for licensef in LICENSE.GPL README.linux copying.txt; do
+ mv ${pkgdir}${_prefix}/share/xbmc/${licensef} \
+ ${pkgdir}${_prefix}/share/licenses/${pkgname} || return 1
+ done
+
+ # Use custom Lircmap to support StreamZap remote
+ cp ${srcdir}/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml
+}