summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authormartyg2015-07-31 14:00:19 -0700
committermartyg2015-07-31 14:00:19 -0700
commit03213833e1e0cdfccfea45eb1ccbf561cae54c30 (patch)
tree90536d92519b14100815a5aacdfbf7039b96229e
downloadaur-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--.SRCINFO59
-rw-r--r--PKGBUILD64
-rw-r--r--mythbackend.service15
-rw-r--r--mythtv.install22
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
+}