diff options
-rw-r--r-- | linhes/mythplugins/001-mythnetvision-configure.patch | 11 | ||||
-rw-r--r-- | linhes/mythplugins/PKGBUILD | 142 | ||||
-rw-r--r-- | linhes/mythtv/99-mythbackend.rules | 6 | ||||
-rw-r--r-- | linhes/mythtv/PKGBUILD | 143 | ||||
-rw-r--r-- | linhes/mythtv/__changelog | 2 | ||||
-rw-r--r-- | linhes/mythtv/mythbackend.service | 13 | ||||
-rw-r--r-- | linhes/mythtv/mythtv.desktop | 6 | ||||
-rw-r--r-- | linhes/mythtv/mythtv.png | bin | 0 -> 39528 bytes | |||
-rw-r--r-- | linhes/mythtv/sysusers.d | 5 |
9 files changed, 328 insertions, 0 deletions
diff --git a/linhes/mythplugins/001-mythnetvision-configure.patch b/linhes/mythplugins/001-mythnetvision-configure.patch new file mode 100644 index 0000000..6ccdb8d --- /dev/null +++ b/linhes/mythplugins/001-mythnetvision-configure.patch @@ -0,0 +1,11 @@ +--- a/configure ++++ b/configure +@@ -630,7 +630,7 @@ + check_py_lib xml || disable_netvision "Python XML library (xml)" + check_py_lib urllib || disable_netvision "Python URL library (urllib)" +- check_py_lib oauth || disable_netvision "Python OAuth library (oauth)" ++ check_py_lib oauthlib || disable_netvision "Python OAuth library (oauth)" + + disabled netvision && echo "Disabling MythNetvision due to missing dependencies." + fi + diff --git a/linhes/mythplugins/PKGBUILD b/linhes/mythplugins/PKGBUILD new file mode 100644 index 0000000..72b8caf --- /dev/null +++ b/linhes/mythplugins/PKGBUILD @@ -0,0 +1,142 @@ +# Maintainer: pvdp <pvdp@email.com> +# Contributor: Taijian <taijian@posteo.de> +# Contributor: Jonathan Conder <jonno.conder@gmail.com> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> + +pkgbase=mythplugins +pkgname=('mythplugins-mytharchive' + 'mythplugins-mythbrowser' + 'mythplugins-mythgame' + 'mythplugins-mythmusic' + 'mythplugins-mythnetvision' + 'mythplugins-mythnews' + 'mythplugins-mythweather' + 'mythplugins-mythweb' + 'mythplugins-mythzoneminder') +br=fixes/32 +t="${br#*/}+${br%/[0-9][0-9]}" +pkgver=32+fixes.20221122.987da09e +pkgrel=1 +epoch=0 +arch=('any') +url="http://www.mythtv.org" +license=('GPL') +makedepends=('dvdauthor' 'dvd+rw-tools' 'mesa-libgl' "mythtv>=$pkgver" 'git' + 'perl-datetime-format-iso8601' 'perl-date-manip' 'perl-image-size' 'perl-cgi' + 'perl-json' 'perl-libwww' 'perl-soap-lite' 'perl-xml-simple' 'perl-xml-xpath' 'libhdhomerun' + 'python-pillow' 'python-pycurl' 'python-oauthlib' 'gdb' 'mariadb-libs' 'minizip' + 'python-lxml' 'perl-xml-xpath' 'python-urllib3' 'libcdio-paranoia') +source=("git+https://github.com/MythTV/mythweb#branch=$br" + "git+https://github.com/MythTV/mythtv#branch=$br" + '001-mythnetvision-configure.patch' +) +sha256sums=('SKIP' + 'SKIP' + '51c9fb042a3f2acf4ab9682cb48e9a123cf8f0e312fd8b25dd187bb56e0d701a') + +pkgver() { + cd "${srcdir}/mythtv/$pkgbase" + echo -n "$t.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)" +} + +prepare() { + cd "$srcdir/mythtv/$pkgbase" + + patch -Np1 < "../../001-mythnetvision-configure.patch" + + cd "$srcdir/mythweb" + + sed -re 's@/usr/local.*/usr/share@/usr/share@' -i 'mythweb.php' +} + +build() { + cd "$srcdir/mythtv/$pkgbase" + + ./configure --prefix=/usr \ + --enable-all + qmake-qt5 mythplugins.pro + make -s +} + +package_mythplugins-mytharchive() { + pkgdesc="Create DVDs or archive recorded shows in MythTV" + depends=('dvdauthor' 'dvd+rw-tools' 'mythtv' 'python-pillow') + + cd "$srcdir/mythtv/$pkgbase/mytharchive" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythbrowser() { + pkgdesc="Mini web browser for MythTV" + depends=('mythtv') + + cd "$srcdir/mythtv/$pkgbase/mythbrowser" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythgame() { + pkgdesc="Game emulator plugin for MythTV" + depends=('mythtv' 'minizip') + + cd "$srcdir/mythtv/$pkgbase/mythgame" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythmusic() { + pkgdesc="Music playing plugin for MythTV" + depends=('mythtv' 'libcdio-paranoia') + + cd "$srcdir/mythtv/$pkgbase/mythmusic" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythnetvision() { + pkgdesc="MythNetvision plugin for MythTV" + depends=('mythtv' 'python-oauthlib' 'python-urllib3') + + cd "$srcdir/mythtv/$pkgbase/mythnetvision" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythnews() { + pkgdesc="News checking plugin for MythTV" + depends=('mythtv') + + cd "$srcdir/mythtv/$pkgbase/mythnews" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythweather() { + pkgdesc="Weather checking plugin for MythTV" + depends=('mythtv' 'perl-date-manip' 'perl-json' 'perl-soap-lite' + 'perl-xml-simple' 'perl-xml-xpath' 'perl-image-size' + 'perl-datetime-format-iso8601') + + cd "$srcdir/mythtv/$pkgbase/mythweather" + make INSTALL_ROOT="$pkgdir" install +} + +package_mythplugins-mythweb() { + pkgdesc="Web interface for the MythTV scheduler" + depends=('mythtv' 'perl-cgi') + optdepends=('lighttpd' + 'php7-apache' + 'php7-fpm' + 'nginx') + + sed -i 's/unix.*-fpm\.sock;/unix:\/var\/run\/php-fpm7\/php-fpm\.sock;/' "$srcdir/mythweb/mythweb.conf.nginx" + + mkdir -p "$pkgdir/var/lib/mythtv/mythweb"/{image_cache,php_sessions} + cp -R "$srcdir/mythweb"/* "$pkgdir/var/lib/mythtv/mythweb" + chown -R http:http "$pkgdir/var/lib/mythtv/mythweb" + chmod g+rw "$pkgdir/var/lib/mythtv/mythweb"/{image_cache,php_sessions} + +} + +package_mythplugins-mythzoneminder() { + pkgdesc="View CCTV footage from zoneminder in MythTV" + depends=('mythtv' 'mariadb-libs' 'zoneminder') + + cd "$srcdir/mythtv/$pkgbase/mythzoneminder" + make INSTALL_ROOT="$pkgdir" install +} diff --git a/linhes/mythtv/99-mythbackend.rules b/linhes/mythtv/99-mythbackend.rules new file mode 100644 index 0000000..0c7cb1b --- /dev/null +++ b/linhes/mythtv/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/linhes/mythtv/PKGBUILD b/linhes/mythtv/PKGBUILD new file mode 100644 index 0000000..fbf3dcc --- /dev/null +++ b/linhes/mythtv/PKGBUILD @@ -0,0 +1,143 @@ +# Maintainer: James Bunton <jamesbunton@delx.net.au> +# Contributor: 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 +pkgver=32+fixes.20221122.987da09e +pkgrel=1 +pkgdesc="A Homebrew PVR project" +arch=('x86_64') +url="https://www.mythtv.org/" +license=('GPL') +depends=( + 'exiv2' + 'fftw' + 'lame' + 'libass' + 'libavc1394' + 'libbluray' + 'libhdhomerun' + 'libiec61883' + 'libpulse' + 'libsamplerate' + 'libva' + 'libvdpau' + 'libvpx' + 'libxinerama' + 'libxml2' + 'libxrandr' + 'libzip' + 'qt5-script' + 'qt5-webkit' + 'soundtouch' + 'taglib' + 'x264' + 'x265' + 'glew' + 'libcec' + 'mariadb' + 'mariadb-clients' + 'perl-dbd-mysql' + 'perl-io-socket-inet6' + 'perl-libwww' + 'perl-net-upnp' + 'perl-xml-simple' + 'perl-xml-xpath' + 'python-future' + 'python-lxml' + 'python-mysqlclient' + 'python-requests' + 'python-requests-cache' + 'python-simplejson' +) +makedepends=( + 'git' + 'help2man' + 'libcdio' + 'libcec' + 'libmariadbclient' + 'libxml2' + 'lirc' + 'perl-dbd-mysql' + 'perl-io-socket-inet6' + 'perl-libwww' + 'perl-net-upnp' + 'perl-xml-simple' + 'perl-xml-xpath' + 'python-future' + 'python-lxml' + 'python-mysqlclient' + 'python-requests' + 'python-setuptools' + 'python-simplejson' + 'yasm' +) + +conflicts=('myththemes' 'mythplugins-mythvideo' 'mythtv-git') +replaces=('myththemes' 'mythplugins-mythvideo' 'mythtv-git') +source=( + "git+https://github.com/MythTV/mythtv#branch=fixes/32" + 'mythbackend.service' + 'mythtv.desktop' + 'mythtv.png' + '99-mythbackend.rules' + 'sysusers.d' +) +sha256sums=( + 'SKIP' + '3c356d030c8e5fb8cbe7bc01041848c4e8073b0a696c0f34a3e3cc0fd83ecf0b' + '3fd2018d0d5aaa7d530835305dac80d4ca7d8fc991cdf9e1cebadebd86e25c03' + '12cb52bf9b084a4f16419c9370fef0450ce6a11308b0c3f7240f4f83df7e2ab6' + 'ecfd02bbbef5de9773f4de2c52e9b2b382ce8137735f249d7900270d304fd333' + '470de0a4050c16c7af11a0e5cfe2810b7daae42df4acf5456c7eae274dc7c5ae' +) + +pkgver() { + cd "${srcdir}/mythtv/mythtv" + echo -n "32+fixes.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)" +} + +build() { + cd "${srcdir}/mythtv/mythtv" + + ARCH="${CARCH/_/-}" + ./configure --prefix=/usr \ + --cpu="$ARCH" \ + --disable-altivec \ + --disable-audio-jack \ + --disable-distcc \ + --enable-libfftw3 \ + --enable-libmp3lame \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libx265 \ + --enable-vaapi \ + --with-bindings=python \ + --with-bindings=perl \ + --perl-config-opts=INSTALLDIRS=vendor + 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" + install -D -m644 "$srcdir/sysusers.d" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf" + + mkdir -p "$pkgdir/usr/share/mythtv" + cp -R 'contrib' "$pkgdir/usr/share/mythtv" + 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" + + # Install desktop file + install -Dm644 "$srcdir/mythtv.png" "$pkgdir/usr/share/pixmaps/mythtv.png" + install -Dm644 "$srcdir/mythtv.desktop" "$pkgdir/usr/share/applications/mythtv.desktop" +} diff --git a/linhes/mythtv/__changelog b/linhes/mythtv/__changelog new file mode 100644 index 0000000..4e69f0c --- /dev/null +++ b/linhes/mythtv/__changelog @@ -0,0 +1,2 @@ +PKGBUILD: disable jack and remove dep +PKGBUILD: move all opt deps to deps diff --git a/linhes/mythtv/mythbackend.service b/linhes/mythtv/mythbackend.service new file mode 100644 index 0000000..e760e77 --- /dev/null +++ b/linhes/mythtv/mythbackend.service @@ -0,0 +1,13 @@ +[Unit] +Description=MythTV Backend +Wants=network-online.target mysqld.service systemd-udev-settle.service +After=network.target mysqld.service systemd-udev-settle.service + +[Service] +Type=simple +User=mythtv +ExecStart=/usr/bin/mythbackend +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/linhes/mythtv/mythtv.desktop b/linhes/mythtv/mythtv.desktop new file mode 100644 index 0000000..bf5b2f1 --- /dev/null +++ b/linhes/mythtv/mythtv.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Name=MythTV +Comment=A frontend for all content on a mythtv-backend +Exec=mythfrontend --syslog local7 --noupnp +Type=Application +Icon=mythtv diff --git a/linhes/mythtv/mythtv.png b/linhes/mythtv/mythtv.png Binary files differnew file mode 100644 index 0000000..0648d28 --- /dev/null +++ b/linhes/mythtv/mythtv.png diff --git a/linhes/mythtv/sysusers.d b/linhes/mythtv/sysusers.d new file mode 100644 index 0000000..3f0c05c --- /dev/null +++ b/linhes/mythtv/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 |