summaryrefslogtreecommitdiffstats
path: root/linhes/mythtv/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'linhes/mythtv/PKGBUILD')
-rw-r--r--linhes/mythtv/PKGBUILD193
1 files changed, 193 insertions, 0 deletions
diff --git a/linhes/mythtv/PKGBUILD b/linhes/mythtv/PKGBUILD
new file mode 100644
index 0000000..2f9733f
--- /dev/null
+++ b/linhes/mythtv/PKGBUILD
@@ -0,0 +1,193 @@
+# 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=34+fixes.20240311.5590d0d5
+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'
+ 'lzo'
+ 'qt5-script'
+ 'soundtouch'
+ 'taglib'
+ 'x264'
+ 'x265'
+ 'glew'
+ 'libcec'
+ 'mariadb'
+ 'mariadb-clients'
+ 'perl-dbd-mysql'
+ 'perl-io-socket-inet6'
+ 'perl-json-xs'
+ 'perl-libwww'
+ 'perl-net-upnp'
+ 'perl-xml-simple'
+ 'perl-xml-xpath'
+ 'python-future'
+ 'python-lxml'
+ 'python-mysqlclient'
+ 'python-pyqt5-webengine'
+ 'python-requests'
+ 'python-requests-cache'
+ 'python-simplejson'
+ 'xmltv'
+)
+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'
+ 'qt5-tools'
+ 'yasm'
+)
+
+options=(!lto)
+conflicts=('myththemes' 'mythplugins-mythvideo' 'mythtv-git')
+replaces=('myththemes' 'mythplugins-mythvideo' 'mythtv-git')
+
+patches="0031-UPnP-Reduce-startup-latency-by-moving-blocking-code-to-own-thread.patch
+ 0059-portchecker-speedup.patch
+ 0227-OSD-Add-interlaced-status-to-OSD-debug-screen.patch
+ autoskip_reduce_commskip_jumpback.patch
+ defaultThemeLinHES.patch"
+
+source=(
+ "git+https://github.com/MythTV/mythtv#branch=fixes/34"
+ 'mythbackend.service'
+ 'mythfrontend.desktop'
+ 'mythtv-setup.desktop'
+ 'mythtv.png'
+ '99-mythbackend.rules'
+ 'sysusers.d'
+ $patches
+)
+
+sha256sums=('SKIP'
+ '6adb9d3370111c7d0000b215ae2d83a07a19c1bef5c22657f8caa9593c8efda5'
+ 'ec4f2330f77f0ac92acf228a4afa3b480cdd2de913cdabedfd43d40b03507557'
+ 'e7965a0d232aefcf8e5e89a96f46b7582a9590d2ae9b4f5b8ee9ab2baa913527'
+ '12cb52bf9b084a4f16419c9370fef0450ce6a11308b0c3f7240f4f83df7e2ab6'
+ 'ecfd02bbbef5de9773f4de2c52e9b2b382ce8137735f249d7900270d304fd333'
+ '470de0a4050c16c7af11a0e5cfe2810b7daae42df4acf5456c7eae274dc7c5ae'
+ '276f87058edc6197ab3a53faf6b4c485ef0d2b8447b9caa02ca7234f09ab473f'
+ '1ed4be912cd1ebd73553306958b7a2bc98e466b947dfb5d90ad7c0590a5a3747'
+ '630c80c588a9b278c4421d356c5cbaa0debf149524bc896656b580b89d8fae88'
+ '8a81e724d902976056dc824e7304df343c230ce67ec6ce1d18e110c5ef818ef6'
+ '3ff9f48ead83a8dd7a87cc08df066c00813b48b9171cc7bf74ba0e3cb2570d00')
+
+prepare() {
+ msg2 "PKGBUILD pkgver: $pkgver"
+ cd "${srcdir}/mythtv/mythtv"
+ gitsrcver=`echo "34+fixes.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)"`
+ msg2 "GIT SOURCE pkgver: $gitsrcver"
+ if [ $pkgver = $gitsrcver ]; then
+ warning "pkgver did NOT change. Consider increasing pkgrel ($pkgrel)."
+ fi
+ echo $srcdir
+ msg "--------------------------applying patches------------------------------"
+ for i in `echo ${patches[@]:0}`
+ do
+ echo applying $i
+ patch -Np2 -i ${srcdir}/$i || return 1
+ echo "-----------------------------"
+ done
+ msg "--------------------------done applying patches-------------------------"
+
+# msg "Updating en_us Translation"
+# lrelease -removeidentical i18n/mythfrontend_en_us.ts
+}
+
+pkgver() {
+ cd "${srcdir}/mythtv/mythtv"
+ echo -n "34+fixes.$(git show -s --format=%cd --date=short | tr -d -).$(git rev-parse --short=8 HEAD)"
+}
+
+build() {
+ cd "${srcdir}/mythtv/mythtv"
+
+#CFLAGS="-march=x86-64 -mtune=amdfam10 -O2 -pipe -fno-plt -fexceptions \
+# -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
+# -fstack-clash-protection -fcf-protection"
+# CFLAGS="${CFLAGS/flto=auto/fPIC}"
+# CXXFLAGS="${CXXFLAGS/flto=auto/fPIC}"
+# LDFLAGS="${LDFLAGS/flto=auto/fPIC}"
+
+ ARCH="${CARCH/_/-}"
+ ./configure --prefix=/usr \
+ --cpu="$ARCH" \
+ --disable-altivec \
+ --disable-audio-jack \
+ --disable-distcc \
+ --enable-libdav1d \
+ --enable-libmp3lame \
+ --enable-libvpx \
+ --enable-libx264 \
+ --enable-libx265 \
+ --enable-vaapi \
+ --with-bindings=python \
+ --with-bindings=perl \
+ --perl-config-opts=INSTALLDIRS=vendor
+ echo "###### STARTING MAKE ####"
+ 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/mythfrontend.desktop" "$pkgdir/usr/share/applications/mythfrontend.desktop"
+ install -Dm644 "$srcdir/mythtv-setup.desktop" "$pkgdir/usr/share/applications/mythtv-setup.desktop"
+}