diff options
Diffstat (limited to 'abs/extra/community/xbmc-svn/PKGBUILD')
-rw-r--r-- | abs/extra/community/xbmc-svn/PKGBUILD | 139 |
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 +} |