# Maintainer: James Bunton # Contributor: Taijian # Contributor: Jonathan Conder # Contributor: Giovanni Scafora # Contributor: Juergen Hoetzel # Contributor: # Contributor: dorphell pkgname=mythtv pkgver=33+fixes.20230219.c273ed0f pkgrel=3 pkgdesc="A Homebrew PVR project" arch=('x86_64') url="https://www.mythtv.org/" license=('GPL') depends=( 'exiv2' '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' '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' ) conflicts=('myththemes' 'mythplugins-mythvideo' 'mythtv-git') replaces=('myththemes' 'mythplugins-mythvideo' 'mythtv-git') patches="defaultThemeLinHES.patch mythfrontend_en_us.ts_Title_Case.patch" source=( "git+https://github.com/MythTV/mythtv#branch=fixes/33" 'mythbackend.service' 'mythfrontend.desktop' 'mythtv-setup.desktop' 'mythtv.png' '99-mythbackend.rules' 'sysusers.d' $patches ) sha256sums=('SKIP' '6adb9d3370111c7d0000b215ae2d83a07a19c1bef5c22657f8caa9593c8efda5' 'eb220f5c8995ced990678559456fc36fdde86c589770fcf390209a05980fc070' 'e7965a0d232aefcf8e5e89a96f46b7582a9590d2ae9b4f5b8ee9ab2baa913527' '12cb52bf9b084a4f16419c9370fef0450ce6a11308b0c3f7240f4f83df7e2ab6' 'ecfd02bbbef5de9773f4de2c52e9b2b382ce8137735f249d7900270d304fd333' '470de0a4050c16c7af11a0e5cfe2810b7daae42df4acf5456c7eae274dc7c5ae' 'ef1d0053d862a9c714093d375e20c96418d665fa504a5b8f30621a271d416dd8' 'eb26e0cbf3ca3554479d19c383666721fbb5fe45c9dd24f2d36cbe29bcc0056f') prepare() { msg2 "PKGBUILD pkgver: $pkgver" cd "${srcdir}/mythtv/mythtv" gitsrcver=`echo "33+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 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 "33+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-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" }