diff options
author | martyg | 2015-07-31 14:00:19 -0700 |
---|---|---|
committer | martyg | 2015-07-31 14:00:19 -0700 |
commit | 03213833e1e0cdfccfea45eb1ccbf561cae54c30 (patch) | |
tree | 90536d92519b14100815a5aacdfbf7039b96229e | |
download | aur-03213833e1e0cdfccfea45eb1ccbf561cae54c30.tar.gz |
Initial commit for building mythtv-0.28 developemnt branch
There are a few minor rough edges, but this is good enough to get a FE/BE pair online for testing.
If you get a compile error, a fix is in the works - Ref. https://github.com/MythTV/mythtv/pull/96
-rw-r--r-- | .SRCINFO | 59 | ||||
-rw-r--r-- | PKGBUILD | 64 | ||||
-rw-r--r-- | mythbackend.service | 15 | ||||
-rw-r--r-- | mythtv.install | 22 |
4 files changed, 160 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..22cc0c3ca811 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,59 @@ +pkgbase = mythtv-git + pkgdesc = Free Open Source software digital video recorder (DVR) project + pkgver = v0.28.pre.r2987.g52c8a9d + pkgrel = 1 + url = http://www.mythtv.org/ + install = mythtv.install + arch = i686 + arch = x86_64 + license = GPL2 + makedepends = glew + makedepends = libcec + makedepends = libxml2 + makedepends = openssl + makedepends = mesa + makedepends = mesa-libgl + makedepends = yasm + makedepends = x264 + makedepends = gdb + depends = avahi + depends = fftw + depends = lame + depends = libass + depends = libavc1394 + depends = libcdio + depends = libiec61883 + depends = libgl + depends = libpulse + depends = libva + depends = libvpx + depends = libxinerama + depends = lirc-utils + depends = mariadb-clients + depends = mysql-python + depends = perl-dbd-mysql + depends = perl-io-socket-inet6 + depends = perl-libwww + depends = perl-net-upnp + depends = python2-lxml + depends = qt5-webkit + depends = qt5-script + depends = taglib + depends = urlgrabber + depends = libx264 + depends = exiv2 + optdepends = glew: for GPU commercial flagging + optdepends = libcec: for consumer electronics control capabilities + optdepends = libxml2: to read blu-ray metadata + optdepends = openssl: for AirTunes (RAOP) support + optdepends = udisks: detect changes to removable media + optdepends = xmltv: to download tv listings + conflicts = mythtv + replaces = mythtv + source = git://github.com/MythTV/mythtv.git#branch=master + source = mythbackend.service + sha256sums = SKIP + sha256sums = ecfde779ded8332cc62c86fac6b432b09cbf5d254135798287ada688af9a1302 + +pkgname = mythtv-git + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..bbf39aab63aa --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,64 @@ +# Maintainer: Martin Gallant <arch-linux@goodbit.net> +# Based on /var/abs/community/mythtv/PKGBUILD version 0.27.4 + +pkgname=mythtv-git +pkgver=v0.28.pre.r2987.g52c8a9d +pkgrel=1 +pkgdesc='Free Open Source software digital video recorder (DVR) project' +arch=('i686' 'x86_64') +url='http://www.mythtv.org/' +license=('GPL2') + +# These dependencies have not been recently reviewed to cull unnecessary entries +depends=('avahi' 'fftw' 'lame' 'libass' 'libavc1394' 'libcdio' 'libiec61883' 'libgl' + 'libpulse' 'libva' 'libvpx' 'libxinerama' 'lirc-utils' 'mariadb-clients' + 'mysql-python' 'perl-dbd-mysql' 'perl-io-socket-inet6' 'perl-libwww' + 'perl-net-upnp' 'python2-lxml' 'qt5-webkit' 'qt5-script' 'taglib' 'urlgrabber' 'libx264' + 'exiv2') +makedepends=('glew' 'libcec' 'libxml2' 'openssl' 'mesa' 'mesa-libgl' 'yasm' 'x264' 'gdb') +optdepends=('glew: for GPU commercial flagging' + 'libcec: for consumer electronics control capabilities' + 'libxml2: to read blu-ray metadata' + 'openssl: for AirTunes (RAOP) support' + 'udisks: detect changes to removable media' + 'xmltv: to download tv listings') +conflicts=('mythtv') +replaces=('mythtv') + +install='mythtv.install' +source=('git://github.com/MythTV/mythtv.git#branch=master' + 'mythbackend.service') +sha256sums=('SKIP' + 'ecfde779ded8332cc62c86fac6b432b09cbf5d254135798287ada688af9a1302') + +pkgver() { + cd "$srcdir/mythtv" + git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g' +} + +prepare() { + # Tweak sources to point to python2 instead of python3 (Arch default) + # Ref. https://wiki.archlinux.org/index.php/Python + + cd "$srcdir/mythtv/mythtv" + find bindings/python contrib -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@' +} + +build() { + cd "$srcdir/mythtv/mythtv" + ./configure --prefix=/usr --python=/usr/bin/python2 --disable-distcc + make +} + +package() { + cd "$srcdir/mythtv/mythtv" + make INSTALL_ROOT="$pkgdir" install + + install -D -m644 "$srcdir/mythbackend.service" "$pkgdir/usr/lib/systemd/system/mythbackend.service" + install -D -m644 'database/mc.sql' "$pkgdir/usr/share/mythtv/mc.sql" + + mkdir -p "$pkgdir/usr/share/mythtv" + cp -R 'contrib' "$pkgdir/usr/share/mythtv" + # I think the following is obsoleted by systemd/journald replacing syslog/mythlogserver + mkdir -p "$pkgdir/var/log/mythtv" +} diff --git a/mythbackend.service b/mythbackend.service new file mode 100644 index 000000000000..aa9427ced11d --- /dev/null +++ b/mythbackend.service @@ -0,0 +1,15 @@ +[Unit] +Description=MythTV Backend +Wants=network-online.target +After=network.target mysqld.service + +[Service] +Type=simple +Environment=HOME=/var/lib/mythtv +User=mythtv +ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv +ExecStop=/usr/bin/mythshutdown --setscheduledwakeup +#ExecStop=/usr/bin/mythshutdown --shutdown + +[Install] +WantedBy=multi-user.target diff --git a/mythtv.install b/mythtv.install new file mode 100644 index 000000000000..90ad79d28c57 --- /dev/null +++ b/mythtv.install @@ -0,0 +1,22 @@ +post_upgrade() { + if ! getent passwd mythtv &>/dev/null; then + getent group mythtv &>/dev/null || groupadd -r mythtv >/dev/null + useradd -rmd /var/lib/mythtv -g mythtv -G video,audio,optical -s /bin/bash mythtv >/dev/null + fi + + echo -e "You may need to load time zone tables in MySQL.\nSee http://www.mythtv.org/wiki/MySQL_Time_Zone_Tables" +} + +post_install() { + echo -e "For installation information, visit:\nhttps://wiki.archlinux.org/index.php/MythTV" + + post_upgrade +} + +post_remove() { + echo -e "The MythTV database was not removed. To remove it, run:\n mysql -u root -e 'drop database mythconverg;'" + [ -d var/lib/mythtv ] && echo "The MythTV home directory /var/lib/mythtv can also be removed." + + getent passwd mythtv &>/dev/null && userdel mythtv >/dev/null + getent group mythtv &>/dev/null && groupdel mythtv >/dev/null +} |