diff options
author | James Bunton | 2018-08-25 17:21:03 +1000 |
---|---|---|
committer | James Bunton | 2018-08-25 17:21:03 +1000 |
commit | c91f9387d36e7dde565d0ca88e46aa3a179e9706 (patch) | |
tree | 7d505e9943deae29c680f5bc3f5e891cbd31d4b3 | |
parent | c76db3db99084bb3f0902a1625ae12b3c15efc2a (diff) | |
download | aur-c91f9387d36e7dde565d0ca88e46aa3a179e9706.tar.gz |
Reset to mythtv commit 16b734acb4281bbab251f94697c1f33f9f3fe4fb
-rw-r--r-- | .SRCINFO | 100 | ||||
-rw-r--r-- | 99-mythbackend.rules | 6 | ||||
-rw-r--r-- | PKGBUILD | 109 | ||||
-rw-r--r-- | freetype2.patch | 89 | ||||
-rw-r--r-- | mythbackend.service | 6 | ||||
-rw-r--r-- | mythtv.install | 22 | ||||
-rw-r--r-- | sysusers.d | 5 |
7 files changed, 217 insertions, 120 deletions
@@ -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" @@ -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 |