diff options
Diffstat (limited to 'abs/extra/xbmc-svn/PKGBUILD')
-rw-r--r-- | abs/extra/xbmc-svn/PKGBUILD | 147 |
1 files changed, 91 insertions, 56 deletions
diff --git a/abs/extra/xbmc-svn/PKGBUILD b/abs/extra/xbmc-svn/PKGBUILD index d7debbe..fa2be23 100644 --- a/abs/extra/xbmc-svn/PKGBUILD +++ b/abs/extra/xbmc-svn/PKGBUILD @@ -1,49 +1,55 @@ -# Contributors : Ralf Barth <archlinux dot org at haggy dot org> -# Richard Atkinson atkinsonr-at-gmail +# Maintainer: DonVla <donvla@users.sourceforge.net> +# Contributor: BlackEagle < ike DOT devolder AT herecura DOT be > +# Contributor: Ulf Winkelvos <ulf [at] winkelvos [dot] de> +# Contributor: Ralf Barth <archlinux dot org at haggy dot org> +# Contributor: B - Thanks for your hints :) # # 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=25089 +pkgver=35648 pkgrel=1 pkgdesc="XBMC Media Center from SVN" provides=('xbmc') -conflicts=('xbmc') +conflicts=('xbmc' 'xbmc-pulse') arch=('i686' 'x86_64') -url="http://xbmc.org" +url="http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk" license=('GPL' 'LGPL') -depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' - 'hal' 'jasper' 'libgl' 'libmad' 'libmysqlclient' 'libjpeg' - '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' 'smbclient' 'libvdpau') -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' +depends=('bzip2' 'faac' 'faad2' 'fribidi' 'glew' 'jasper' 'libass' 'libcdio' 'libgl' 'libmad' + 'libmicrohttpd-xbmc' 'libmms' 'libmodplug' 'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libxrandr' + 'libxinerama' 'libxtst' 'lzo2' 'sdl_image>=1.2.10' 'sdl_mixer' 'smbclient' 'unzip' 'wavpack' 'mesa-demos') +makedepends=('cvs' 'boost' 'cmake' 'gperf' 'nasm' 'python2' 'subversion' 'zip') +optdepends=('avahi: to use zerconf features (remote, etc...)' + 'gdb: for meaningful backtraces in case of trouble - STRONGLY RECOMMENDED' + 'libssh: support for sshfs' + 'libvdpau: accelerated video playback for nvidia cards' + 'libva: accelerated video playback for nvidia, ati/amd and some intel cards' + 'lirc: remote controller support' + 'pulseaudio: pulseaudio support' + 'udisks: automount external drives' + 'upower: used to trigger suspend functionality' 'unrar: access compressed files without unpacking them') -install=("${pkgname}.install") -source=(Lircmap.xml) -noextract=() -md5sums=() -options=(makeflags) +options=('makeflags') +install="${pkgname}.install" +source=("FEH.sh") +md5sums=('c3e2ab79b9965f1a4a048275d5f222c4') +sha256sums=('1b391dfbaa07f81e5a5a7dfd1288bf2bdeab8dc50bbb6dbf39a80d8797dfaeb0') _svnmod=XBMC _prefix=/usr build() { - _svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk + #_svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/Dharma - cd ${srcdir}/ - if [ -d $_svnmod/.svn ]; then + 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 + (cd "$_svnmod" && svn revert -R . && (make distclean || :); svn up -r "$pkgver") else msg "Checking out SVN tree of -r$pkgver" - svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1 + svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod" fi # Configure XBMC @@ -51,47 +57,76 @@ build() { # 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 Arch's libass because it's incompatible with XBMC's - # subtitle rendering - # - We cannot use external ffmpeg because we would loose VDPAU functionality - cd "$srcdir/$_svnmod" - msg "Configuring XBMC" + cd "${srcdir}/${_svnmod}" + + # Archlinux Branding by SVN_REV + export SVN_REV="${pkgver}-ARCH" + # fix lsb_release dependency + sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp + + # remove "--as-needed" from LDFLAGS + unset LDFLAGS; LDFLAGS="-Wl,--hash-style=gnu" + + msg "Bootstrapping XBMC" ./bootstrap - ./configure --prefix=${_prefix} \ - --enable-external-liba52 \ - --enable-external-libdts \ - --enable-external-libmpeg2 \ - --enable-external-libogg \ - --enable-external-libwavpack \ - --disable-external-libass \ + + msg "Configuring XBMC" + ./configure --prefix="${_prefix}" --disable-hal \ + --enable-external-libraries \ --disable-external-ffmpeg \ --disable-external-python \ - --disable-debug || return 1 - + --enable-webserver \ + --enable-debug \ +# --disable-rtmp + # Now (finally) build msg "Running make" - make || return 1 + make ${MAKEFLAGS} + make -C lib/addons/script.module.pil + make -C lib/addons/script.module.pysqlite +} + +package() { - cd "$srcdir/$_svnmod" + cd "${srcdir}/${_svnmod}" msg "Running make install" - make prefix=${pkgdir}${_prefix} install || return 1 + make prefix="${pkgdir}${_prefix}" install + +# Replace FEH.py with FEH.sh (and thus remove external python dependency) + install -D -m 0755 "${srcdir}/FEH.sh" "${pkgdir}${_prefix}/share/xbmc/FEH.sh" + sed -i -e 's/^python \(.*\)FEH.py \(.*\)$/\1FEH.sh \2/' "${pkgdir}${_prefix}/bin/xbmc" + +# lsb_release fix + sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc" + sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc" + +# .desktop files + install -D -m 0644 "${srcdir}/${_svnmod}/tools/Linux/xbmc.desktop" "${pkgdir}${_prefix}/share/applications/xbmc.desktop" + install -D -m 0644 "${srcdir}/${_svnmod}/tools/Linux/xbmc-48x48.png" "${pkgdir}${_prefix}/share/pixmaps/xbmc.png" - # Install - install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \ - ${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1 +# Tools + install -D -m 0755 "${srcdir}/${_svnmod}/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" + install -D -m 0755 "${srcdir}/${_svnmod}/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" - install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \ - ${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1 +# Licenses + install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}" + for licensef in LICENSE.GPL copying.txt; do + mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}" + done - install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \ - ${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1 +# Docs + install -d -m 0755 "${pkgdir}${_prefix}/share/doc/${pkgname}" + for docsf in keymapping.txt README.linux; do + mv "${pkgdir}${_prefix}/share/doc/xbmc/${docsf}" "${pkgdir}${_prefix}/share/doc/${pkgname}" + done - 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 +# cleanup some stuff + msg "Cleanup unneeded files" + rm -rf "${pkgdir}/usr/share/xsessions" + rm -f "${pkgdir}/usr/share/xbmc/FEH.py" + rm -f "${pkgdir}/usr/share/icons/hicolor/icon-theme.cache" - # Use custom Lircmap to support StreamZap remote - cp ${srcdir}/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml +# strip + msg "Stripping binaries" + find "$pkgdir" -type f -exec strip {} \; >/dev/null 2>/dev/null } |