diff options
author | shackra <elcorreo@deshackra.com> | 2014-05-18 23:19:29 -0600 |
---|---|---|
committer | shackra <elcorreo@deshackra.com> | 2014-05-18 23:19:29 -0600 |
commit | 113793e5d19301552423a95947efc704424a7167 (patch) | |
tree | c1804e43e11d5f9a152436b42a7ce182e88d500b /libre/xbmc-libre-lts | |
parent | 01011325d60e0262ba0d5a51c4d3b2be57f5924c (diff) | |
parent | 1287ab2629ed3997b6ec6e603847eafb1e6aa199 (diff) |
Merge branch 'master' of ssh://projects.parabolagnulinux.org:1863/srv/git/abslibre
Diffstat (limited to 'libre/xbmc-libre-lts')
-rw-r--r-- | libre/xbmc-libre-lts/PKGBUILD | 138 | ||||
-rw-r--r-- | libre/xbmc-libre-lts/polkit.rules | 12 | ||||
-rw-r--r-- | libre/xbmc-libre-lts/xbmc.install | 19 | ||||
-rw-r--r-- | libre/xbmc-libre-lts/xbmc.service | 16 |
4 files changed, 185 insertions, 0 deletions
diff --git a/libre/xbmc-libre-lts/PKGBUILD b/libre/xbmc-libre-lts/PKGBUILD new file mode 100644 index 000000000..bd0ab5108 --- /dev/null +++ b/libre/xbmc-libre-lts/PKGBUILD @@ -0,0 +1,138 @@ +# Maintainer (Arch): Sergej Pupykin <pupykin.s+arch@gmail.com> +# Contributor (Arch): Brad Fanella <bradfanella@archlinux.us> +# Contributor (Arch): [vEX] <niechift.dot.vex.at.gmail.dot.com> +# Contributor (Arch): Zeqadious <zeqadious.at.gmail.dot.com> +# Contributor (Arch): BlackIkeEagle < ike DOT devolder AT gmail DOT com > +# Maintainer: André Silva <emulatorman@parabola.nu> + +_prefix=/usr + +_pkgname=xbmc +pkgname=xbmc-libre-lts +pkgver=12.3 +_codename=Frodo +pkgrel=1 +pkgdesc="A software media player and entertainment hub for digital media (Frodo version), without nonfree addons and unrar support" +arch=('i686' 'x86_64') +url="http://xbmc.org" +license=('GPL' 'custom') +conflicts=($_pkgname) +provides=($_pkgname) +depends=('hicolor-icon-theme' 'fribidi' 'lzo2' 'smbclient' 'libtiff' 'libva' + 'libpng' 'libcdio' 'yajl' 'libmariadbclient' 'libjpeg-turbo' 'libsamplerate' + 'glew' 'libssh' 'libmicrohttpd' 'libxrandr' 'sdl_mixer' 'sdl_image' 'python2' + 'libass' 'libmpeg2' 'libmad' 'libmodplug' 'jasper' 'rtmpdump' 'unzip' 'mesa-demos' + 'xorg-xdpyinfo' 'libbluray' 'libnfs' 'afpfs-ng' 'libshairport' 'avahi' 'bluez-libs' 'glu' + 'tinyxml' 'taglib' 'ffmpeg-compat') +makedepends=('boost' 'cmake' 'gperf' 'nasm' 'libxinerama' 'zip' 'libvdpau' 'libcec' + 'udisks' 'upower' 'mesa' 'doxygen' 'swig' 'java-environment') +optdepends=('libcec: support for Pulse-Eight USB-CEC adapter' + 'lirc: remote controller support' + 'udisks: automount external drives' + 'upower: used to trigger power management functionality' + 'xorg-xinit: autostart xbmc') +install="${_pkgname}.install" +mksource=("http://mirrors.xbmc.org/releases/source/xbmc-$pkgver.tar.gz") +source=("https://repo.parabolagnulinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + "xbmc.service" + "polkit.rules" + "libass.patch::https://bugs.archlinux.org/index.php?getfile=11285") +mkmd5sums=('7ae385ebf8e5cfcb917393235e6efbdb') +md5sums=('7c71af50af55b097e4365a58b70754e8' + 'de331663cc8adc94f2fe44a262cfff58' + '02f7951824ee13103344f36009c0ef2a' + '7fd6399d2ffbdf06b724f0cc2efa0784') + +mksource() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + # remove nonfree unRAR utility files from the source + rm -rv lib/UnrarXLib +} + +prepare() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + patch -p0 <$srcdir/libass.patch + + # fix lsb_release dependency + sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp + sed -i -e 's:#include <libsmbclient.h>:#include <samba-4.0/libsmbclient.h>:' xbmc/filesystem/{SmbFile,SMBDirectory}.cpp + + # use addons.xml from Parabola server (without nonfree addons support) + sed -i -e 's|mirrors[.]xbmc[.]org/addons/frodo/addons.xml|repo.parabolagnulinux.org/other/xbmc-libre-lts/addons/frodo/addons.xml|' addons/repository.xbmc.org/addon.xml +} + +build() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + + # Bootstrapping XBMC + ./bootstrap + + # Configuring XBMC + export PYTHON_VERSION=2 # external python v2 + export PKG_CONFIG_PATH=/usr/lib/ffmpeg-compat/pkgconfig:$PKG_CONFIG_PATH + ./configure --prefix=$_prefix --exec-prefix=$_prefix \ + --disable-debug \ + --enable-optimizations \ + --enable-gl \ + --enable-sdl \ + --enable-vaapi \ + --enable-vdpau \ + --enable-xvba \ + --enable-joystick \ + --enable-xrandr \ + --enable-rsxs \ + --enable-projectm \ + --enable-x11 \ + --enable-rtmp \ + --enable-samba \ + --enable-nfs \ + --enable-afpclient \ + --enable-airplay \ + --enable-airtunes \ + --enable-ffmpeg-libvorbis \ + --enable-dvdcss \ + --disable-hal \ + --enable-avahi \ + --enable-webserver \ + --enable-optical-drive \ + --enable-libbluray \ + --enable-texturepacker \ + --enable-udev \ + --enable-libusb \ + --enable-libcec \ + --enable-external-libraries \ + --enable-external-ffmpeg \ + --disable-non-free + # Now (finally) build + make +} + +package() { + cd "${srcdir}/xbmc-$pkgver-$_codename" + # Running make install + make DESTDIR="${pkgdir}" install + + # run feh with python2 + sed -i -e 's/python/python2/g' ${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" + + # Tools + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr" + install -D -m 0755 "${srcdir}/xbmc-$pkgver-$_codename/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/" + + # 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 -Dm0644 $srcdir/xbmc.service $pkgdir/usr/lib/systemd/system/xbmc.service +# install -Dm0644 $srcdir/polkit.rules $pkgdir/usr/share/polkit-1/rules.d/10-xbmc.rules +# chmod 0700 $pkgdir/usr/share/polkit-1/rules.d/ +} +# vim:set ts=2 sw=2 et: diff --git a/libre/xbmc-libre-lts/polkit.rules b/libre/xbmc-libre-lts/polkit.rules new file mode 100644 index 000000000..4b6d0fda0 --- /dev/null +++ b/libre/xbmc-libre-lts/polkit.rules @@ -0,0 +1,12 @@ +polkit.addRule(function(action, subject) { + if (subject.user == "xbmc") { + polkit.log("action=" + action); + polkit.log("subject=" + subject); + if (action.id.indexOf("org.freedesktop.login1.") == 0) { + return polkit.Result.YES; + } + if (action.id.indexOf("org.freedesktop.udisks.") == 0) { + return polkit.Result.YES; + } + } +}); diff --git a/libre/xbmc-libre-lts/xbmc.install b/libre/xbmc-libre-lts/xbmc.install new file mode 100644 index 000000000..8076fe2d3 --- /dev/null +++ b/libre/xbmc-libre-lts/xbmc.install @@ -0,0 +1,19 @@ +post_install() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent group xbmc > /dev/null || groupadd -r xbmc + getent passwd xbmc > /dev/null || useradd -r -m -d /var/lib/xbmc -g xbmc xbmc + usermod -a -G xbmc,audio,video,network,optical xbmc + mkdir -p var/lib/xbmc + chown -R xbmc:xbmc var/lib/xbmc +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + [[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor + [[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications + getent passwd xbmc > /dev/null && userdel xbmc +} diff --git a/libre/xbmc-libre-lts/xbmc.service b/libre/xbmc-libre-lts/xbmc.service new file mode 100644 index 000000000..d36ddb05a --- /dev/null +++ b/libre/xbmc-libre-lts/xbmc.service @@ -0,0 +1,16 @@ +[Unit] +Description = Starts instance of XBMC using xinit +After = systemd-user-sessions.service +Conflicts=getty@tty7.service + +[Service] +User = xbmc +Group = xbmc +PAMName=login +Type = simple +TTYPath=/dev/tty7 +ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/xbmc-standalone -l /run/lirc/lircd -- :0 -nolisten tcp vt7 +Restart = on-abort + +[Install] +WantedBy = multi-user.target |