summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Bunton2018-08-25 17:21:03 +1000
committerJames Bunton2018-08-25 17:21:03 +1000
commitc91f9387d36e7dde565d0ca88e46aa3a179e9706 (patch)
tree7d505e9943deae29c680f5bc3f5e891cbd31d4b3
parentc76db3db99084bb3f0902a1625ae12b3c15efc2a (diff)
downloadaur-c91f9387d36e7dde565d0ca88e46aa3a179e9706.tar.gz
Reset to mythtv commit 16b734acb4281bbab251f94697c1f33f9f3fe4fb
-rw-r--r--.SRCINFO100
-rw-r--r--99-mythbackend.rules6
-rw-r--r--PKGBUILD109
-rw-r--r--freetype2.patch89
-rw-r--r--mythbackend.service6
-rw-r--r--mythtv.install22
-rw-r--r--sysusers.d5
7 files changed, 217 insertions, 120 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f921015a9aab..1c68cebba241 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,63 +1,67 @@
-# Generated by mksrcinfo v8
-# Tue Mar 1 22:25:58 UTC 2016
-pkgbase = mythtv-git
- pkgdesc = Free Open Source software digital video recorder (DVR) project
- pkgver = v0.28.pre.r3648.g7cd8149
- pkgrel = 1
- url = http://www.mythtv.org/
- install = mythtv.install
- arch = i686
+pkgbase = mythtv
+ pkgdesc = A Homebrew PVR project
+ pkgver = 29.1
+ pkgrel = 9
+ epoch = 1
+ url = https://www.mythtv.org/
arch = x86_64
- license = GPL2
- makedepends = glew
- makedepends = libcec
- makedepends = libxml2
- makedepends = openssl
- makedepends = mesa
- makedepends = mesa-libgl
+ license = GPL
+ makedepends = git
+ makedepends = help2man
makedepends = yasm
+ makedepends = libmariadbclient
+ makedepends = libxml2
+ makedepends = libcec
makedepends = x264
- makedepends = gdb
- depends = avahi
- depends = fftw
- depends = lame
+ makedepends = libcdio
+ makedepends = lirc
+ makedepends = perl-io-socket-inet6
+ makedepends = perl-libwww
+ makedepends = perl-dbd-mysql
+ makedepends = python2-lxml
depends = libass
+ depends = qt5-script
depends = libavc1394
- depends = libcdio
- depends = libiec61883
- depends = libgl
- depends = libpulse
+ depends = fftw
+ depends = exiv2
+ depends = taglib
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 = libiec61883
depends = perl-net-upnp
- depends = python2-lxml
- depends = qt5-webkit
- depends = qt5-script
- depends = taglib
depends = urlgrabber
+ depends = qt5-webkit
+ depends = x265
depends = libx264
- depends = exiv2
- depends = sdl
- depends = xvidcore
+ depends = jack
+ depends = libvpx
+ depends = libvdpau
+ depends = lame
+ depends = libxinerama
+ depends = libpulse
+ depends = libxrandr
+ depends = mysql-python
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=fixes/0.28
+ optdepends = mariadb: Database-Backend for server deployment
+ optdepends = mariadb-clients: Database-Frontend for client deployment
+ optdepends = python2-future: for metadata-lookup / cover art
+ optdepends = python2-requests: for metadata-lookup / cover art
+ optdepends = python2-requests-cache: for metadata-lookup / cover art
+ conflicts = myththemes
+ conflicts = mythplugins-mythvideo
+ replaces = myththemes
+ replaces = mythplugins-mythvideo
+ source = mythtv-29.1.tar.gz::https://github.com/MythTV/mythtv/archive/v29.1.tar.gz
source = mythbackend.service
- sha256sums = SKIP
- sha256sums = 0b26da03c76192579debc185802f2850335dc45e518c923c3c70935d3c5715e3
+ source = 99-mythbackend.rules
+ source = sysusers.d
+ source = freetype2.patch
+ sha256sums = e40ec8111d39fd059a9ec741b10016683bcc66ee3b33c4cdaab93d60851f5d3e
+ sha256sums = ed5ca54de26b7cd8a64e09626eed6e09f35d677daf88c530bb24cc4252bcce6d
+ sha256sums = ecfd02bbbef5de9773f4de2c52e9b2b382ce8137735f249d7900270d304fd333
+ sha256sums = 470de0a4050c16c7af11a0e5cfe2810b7daae42df4acf5456c7eae274dc7c5ae
+ sha256sums = 4451cbb28513e03cc2f62c50581daeb436d027f8a0968ba5d99a3b05da103343
-pkgname = mythtv-git
+pkgname = mythtv
diff --git a/99-mythbackend.rules b/99-mythbackend.rules
new file mode 100644
index 000000000000..0c7cb1b59110
--- /dev/null
+++ b/99-mythbackend.rules
@@ -0,0 +1,6 @@
+#
+# Create systemd device units for capture devices
+#
+SUBSYSTEM=="video4linux", TAG+="systemd"
+SUBSYSTEM=="dvb", TAG+="systemd"
+SUBSYSTEM=="firewire", TAG+="systemd"
diff --git a/PKGBUILD b/PKGBUILD
index 8e4d6b41eae6..75db45613ad8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,69 +1,84 @@
-# Maintainer: Martin Gallant <arch-linux@goodbit.net>
-# Based on /var/abs/community/mythtv/PKGBUILD version 0.27.4
+# Maintainer: Taijian <taijian@posteo.de>
+# Contributor: Jonathan Conder <jonno.conder@gmail.com>
+# Contributor: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: <kleptophobiac@gmail.com>
+# Contributor: dorphell <dorphell@archlinux.org>
-pkgname=mythtv-git
-pkgver=v0.28.pre.r3648.g7cd8149
-pkgrel=1
-pkgdesc='Free Open Source software digital video recorder (DVR) project'
-url='http://www.mythtv.org/'
-license=('GPL2')
-
-# I am leaving in i686 for convenience, but have no way to properly test it
-arch=('i686' 'x86_64')
-
-# 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' 'sdl' 'xvidcore')
-makedepends=('glew' 'libcec' 'libxml2' 'openssl' 'mesa' 'mesa-libgl' 'yasm' 'x264' 'gdb')
+pkgname=mythtv
+pkgver=29.1
+pkgrel=9
+epoch=1
+pkgdesc="A Homebrew PVR project"
+arch=('x86_64')
+url="https://www.mythtv.org/"
+license=('GPL')
+depends=('libass' 'qt5-script' 'libavc1394' 'fftw' 'exiv2' 'taglib' 'libva' 'libiec61883' 'perl-net-upnp' 'urlgrabber'
+ 'qt5-webkit' 'x265' 'libx264' 'jack' 'libvpx' 'libvdpau' 'lame' 'libxinerama' 'libpulse' 'libxrandr' 'mysql-python')
+makedepends=('git' 'help2man' 'yasm' 'libmariadbclient' 'libxml2' 'libcec' 'x264' 'libcdio' 'lirc' 'perl-io-socket-inet6' 'perl-libwww'
+ 'perl-dbd-mysql' 'python2-lxml')
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 file creates mythtv user - I don't think it needs to be in all these groups
-install='mythtv.install'
-source=('git://github.com/MythTV/mythtv.git#branch=fixes/0.28'
- 'mythbackend.service')
-sha256sums=('SKIP'
- '0b26da03c76192579debc185802f2850335dc45e518c923c3c70935d3c5715e3')
-
-pkgver() {
- cd "$srcdir/mythtv/mythtv"
- git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
-}
+ 'mariadb: Database-Backend for server deployment'
+ 'mariadb-clients: Database-Frontend for client deployment'
+ 'python2-future: for metadata-lookup / cover art'
+ 'python2-requests: for metadata-lookup / cover art'
+ 'python2-requests-cache: for metadata-lookup / cover art')
+conflicts=('myththemes' 'mythplugins-mythvideo')
+replaces=('myththemes' 'mythplugins-mythvideo')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/MythTV/$pkgname/archive/v$pkgver.tar.gz"
+ 'mythbackend.service'
+ '99-mythbackend.rules'
+ 'sysusers.d'
+ 'freetype2.patch')
+sha256sums=('e40ec8111d39fd059a9ec741b10016683bcc66ee3b33c4cdaab93d60851f5d3e'
+ 'ed5ca54de26b7cd8a64e09626eed6e09f35d677daf88c530bb24cc4252bcce6d'
+ 'ecfd02bbbef5de9773f4de2c52e9b2b382ce8137735f249d7900270d304fd333'
+ '470de0a4050c16c7af11a0e5cfe2810b7daae42df4acf5456c7eae274dc7c5ae'
+ '4451cbb28513e03cc2f62c50581daeb436d027f8a0968ba5d99a3b05da103343')
prepare() {
- # Tweak sources to point to python2 instead of python3 (Arch default)
- # Ref. https://wiki.archlinux.org/index.php/Python
+ cd $pkgname-$pkgver/$pkgname
+
+ find 'bindings/python' 'contrib' 'programs/scripts' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
- cd "$srcdir/mythtv/mythtv"
- find bindings/python programs/scripts contrib -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+ #apply freetype2.patch to fix configure error
+ patch -Np1 -i ../../freetype2.patch
}
build() {
- cd "$srcdir/mythtv/mythtv"
- ./configure --compile-type=debug --prefix=/usr --disable-distcc \
- --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-sdl \
- --python=python2 --perl-config-opts=INSTALLDIRS=vendor
+ cd $pkgname-$pkgver/$pkgname
+
+ ARCH="${CARCH/_/-}"
+ ./configure --prefix=/usr \
+ --cpu="$ARCH" \
+ --disable-altivec \
+ --enable-audio-jack \
+ --disable-distcc \
+ --enable-libfftw3 \
+ --enable-libmp3lame \
+ --enable-libvpx \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-vaapi \
+ --python=python2 \
+ --perl-config-opts=INSTALLDIRS=vendor
make
}
package() {
- cd "$srcdir/mythtv/mythtv"
+ cd $pkgname-$pkgver/$pkgname
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"
+ install -D -m644 "$srcdir/sysusers.d" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
- mkdir -p "$pkgdir/usr/share/mythtv"
+# 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"
+
+# Install udev rules https://www.mythtv.org/wiki/Systemd_mythbackend_Configuration#Delay_starting_the_backend_until_tuners_have_initialized
+ install -Dm644 "$srcdir/99-mythbackend.rules" "$pkgdir/usr/lib/udev/rules.d/99-mythbackend.rules"
}
diff --git a/freetype2.patch b/freetype2.patch
new file mode 100644
index 000000000000..c28b5806a1ce
--- /dev/null
+++ b/freetype2.patch
@@ -0,0 +1,89 @@
+--- a/configure
++++ b/configure
+@@ -1452,26 +1452,6 @@
+ use_pkg_config "$@" || die "ERROR: $pkg not found using pkg-config$pkg_config_fail_message"
+ }
+
+-require_libfreetype(){
+- log require_libfreetype "$@"
+- pkg="freetype2"
+- check_cmd $pkg_config --exists --print-errors $pkg \
+- || die "ERROR: $pkg not found"
+- pkg_cflags=$($pkg_config --cflags $pkg_config_flags $pkg)
+- pkg_libs=$($pkg_config --libs $pkg_config_flags $pkg)
+- {
+- echo "#include <ft2build.h>"
+- echo "#include FT_FREETYPE_H"
+- echo "long check_func(void) { return (long) FT_Init_FreeType; }"
+- echo "int main(void) { return 0; }"
+- } | check_ld "cc" $pkg_cflags $pkg_libs \
+- && set_safe "${pkg}_cflags" $pkg_cflags \
+- && set_safe "${pkg}_libs" $pkg_libs \
+- || die "ERROR: $pkg not found"
+- add_cflags $(get_safe "${pkg}_cflags")
+- add_extralibs $(get_safe "${pkg}_libs")
+-}
+-
+ hostcc_e(){
+ eval printf '%s\\n' $HOSTCC_E
+ }
+@@ -1626,25 +1606,6 @@
+
+ check_exec_cxx(){
+ check_ld_cxx "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; }
+-}
+-
+-check_foo_config(){
+- cfg=$1
+- pkg=$2
+- header=$3
+- func=$4
+- shift 4
+- disable $cfg
+- check_cmd ${pkg}-config --version
+- err=$?
+- if test "$err" = 0; then
+- backup_cflags=$CFLAGS
+- temp_extralibs=$(${pkg}-config --libs)
+- add_cflags $(${pkg}-config --cflags)
+- check_lib "$@" $header $func $temp_extralibs && enable $cfg
+- CFLAGS=$backup_cflags
+- fi
+- return $err
+ }
+
+ non_standard_header(){
+@@ -6921,7 +6882,7 @@
+ enabled libflite && require2 libflite "flite/flite.h" flite_init $flite_libs
+ enabled fontconfig && enable libfontconfig
+ enabled libfontconfig && require_pkg_config fontconfig "fontconfig/fontconfig.h" FcInit
+-enabled libfreetype && require_libfreetype
++enabled libfreetype && require_pkg_config freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType
+ enabled libfribidi && require_pkg_config fribidi fribidi.h fribidi_version_info
+ enabled libgme && require libgme gme/gme.h gme_new_emu -lgme -lstdc++
+ enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
+@@ -7134,7 +7095,11 @@
+ EOF
+ done
+
+-check_foo_config freetype2 freetype ft2build.h FT_Init_FreeType
++if require_pkg_config freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType ; then
++ enable freetype2
++else
++ disable freetype2
++fi
+
+ enabled freetype2 ||
+ die "ERROR! You must have FreeType installed to compile MythTV."
+@@ -8571,8 +8536,8 @@
+ fi
+
+ if enabled freetype2; then
+- echo "FREETYPE_CFLAGS=`freetype-config --cflags`" >> $TMPMAK
+- echo "FREETYPE_LIBS=`freetype-config --libs`" >> $TMPMAK
++ echo "FREETYPE_CFLAGS=$($pkg_config --cflags $pkg_config_flags freetype2)" >> $TMPMAK
++ echo "FREETYPE_LIBS=$($pkg_config --libs $pkg_config_flags freetype2)" >> $TMPMAK
+ fi
+
+ if test $target_os = darwin; then
+
diff --git a/mythbackend.service b/mythbackend.service
index be2bf06e1333..2adbc3d07d2b 100644
--- a/mythbackend.service
+++ b/mythbackend.service
@@ -1,16 +1,16 @@
[Unit]
Description=MythTV Backend
Wants=network-online.target
-After=network-online.target mysqld.service
+After=network.target mysqld.service
[Service]
Type=simple
Environment=HOME=/var/lib/mythtv
User=mythtv
-ExecStart=/usr/bin/mythbackend --loglevel notice
+ExecStart=/usr/bin/mythbackend --logpath /var/log/mythtv
ExecStop=/usr/bin/mythshutdown --setscheduledwakeup
#ExecStop=/usr/bin/mythshutdown --shutdown
-#Restart=on-failure
+Restart=on-failure
[Install]
WantedBy=multi-user.target
diff --git a/mythtv.install b/mythtv.install
deleted file mode 100644
index 90ad79d28c57..000000000000
--- a/mythtv.install
+++ /dev/null
@@ -1,22 +0,0 @@
-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
-}
diff --git a/sysusers.d b/sysusers.d
new file mode 100644
index 000000000000..3f0c05c14720
--- /dev/null
+++ b/sysusers.d
@@ -0,0 +1,5 @@
+#Type Name ID GECOS Home directory Shell
+u mythtv - "MythTV user" /var/lib/mythtv
+m mythtv video
+m mythtv audio
+m mythtv optical