# Contributors : Richard Atkinson atkinsonr-at-gmail # Ralf Barth # # Original credits go to Edgar Hucek # for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD pkgname=xbmc-svn pkgver=20231 pkgrel=3 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' 'x-server' 'libcdio' 'libsamplerate') makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf' 'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip') 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' \ 'libfaad2-enable-AC_PROG_CXX.patch' \ 'xbmc-safe-fullscreen.patch') noextract=('libcurl-not-in-lib64.patch' \ 'libfaad2-enable-AC_PROG_CXX.patch' \ 'xbmc-safe-fullscreen.patch') md5sums=('96636ee964e37b78ca62235eb10d29c1' \ '6864778d6adc3ccc79130c294f2fffd9' \ 'c4d53522773846d8670884cc38f94aa0') 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 --quiet -R . && svn up --quiet -r $pkgver) || return 1 else msg "Checking out SVN tree of -r$pkgver" svn co $_svntrunk --config-dir ./ --quiet -r $pkgver $_svnmod || return 1 fi msg "Done. Starting make..." # Apply patches cd "$srcdir/$_svnmod" # Experimental safe fullscreen patch from the forums (by motd2k) msg "Patching with xbmc-safe-fullscreen.patch" patch --quiet -p0 < "$srcdir/xbmc-safe-fullscreen.patch" || return 1 # Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path: msg "Patching with libcurl-not-in-lib64.patch" patch --quiet -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1 # libfaad2 complains about a missing AC_PROG_CXX - add it and bootstrap: msg "Patching with libfaad2-enable-AC_PROG_CXX.patch" patch --quiet -p0 < "$srcdir/libfaad2-enable-AC_PROG_CXX.patch" || return 1 autoreconf -vif xbmc/cores/dvdplayer/Codecs/libfaad2 # libass needs a bootstrap due to newer autotools in Arch Linux autoreconf -vif xbmc/lib/libass # Another autotools mismatch between Arch and Ubuntu (xbmc-linuxport is developed against Ubuntu) autoreconf -vif "$srcdir/$_svnmod/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss" # 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 # Configure XBMC cd "$srcdir/$_svnmod" make distclean ./configure --prefix=${_prefix} \ --disable-debug --disable-pulse --enable-vdpau || 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 installed if linked to OpenGL sed -e 's/-lGLU -lGLEW -lGL//' \ -i ${srcdir}/$_svnmod/tools/XBMCTex/Makefile # Now (finally) build make || return 1 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 }