From 84760faab95e00fdce438a78fdbed8c589a58f74 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Thu, 1 Dec 2022 16:28:36 -0500
Subject: mythtv: initial inclusion

---
 linhes/mythtv/99-mythbackend.rules |   6 ++
 linhes/mythtv/PKGBUILD             | 143 +++++++++++++++++++++++++++++++++++++
 linhes/mythtv/__changelog          |   2 +
 linhes/mythtv/mythbackend.service  |  13 ++++
 linhes/mythtv/mythtv.desktop       |   6 ++
 linhes/mythtv/mythtv.png           | Bin 0 -> 39528 bytes
 linhes/mythtv/sysusers.d           |   5 ++
 7 files changed, 175 insertions(+)
 create mode 100644 linhes/mythtv/99-mythbackend.rules
 create mode 100644 linhes/mythtv/PKGBUILD
 create mode 100644 linhes/mythtv/__changelog
 create mode 100644 linhes/mythtv/mythbackend.service
 create mode 100644 linhes/mythtv/mythtv.desktop
 create mode 100644 linhes/mythtv/mythtv.png
 create mode 100644 linhes/mythtv/sysusers.d

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
new file mode 100644
index 0000000..0648d28
Binary files /dev/null and b/linhes/mythtv/mythtv.png differ
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
-- 
cgit v0.12

