From eec52d338a0034b33d0f6edc14498f1a4fb4240e Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Thu, 12 Apr 2012 08:25:04 -0400 Subject: [PATCH] community/mythtv to 0.25-1 --- community/mythtv/PKGBUILD | 69 +++++++------ community/mythtv/mythbackend.conf | 46 +-------- community/mythtv/mythbackend.rc | 105 +++++++++----------- community/mythtv/mythtv_0.25_gcc_4.7.patch | 107 +++++++++++++++++++++ 4 files changed, 192 insertions(+), 135 deletions(-) create mode 100644 community/mythtv/mythtv_0.25_gcc_4.7.patch diff --git a/community/mythtv/PKGBUILD b/community/mythtv/PKGBUILD index c28d1d2d9..49f4aee9a 100644 --- a/community/mythtv/PKGBUILD +++ b/community/mythtv/PKGBUILD @@ -1,4 +1,4 @@ -# $Id$ +# $Id: PKGBUILD 69261 2012-04-11 06:53:15Z jconder $ # Maintainer: Jonathan Conder # Contributor: Giovanni Scafora # Contributor: Juergen Hoetzel @@ -12,60 +12,56 @@ plugrel=1 pkgname=mythtv -pkgver=0.24.2 -pkgrel=3 +pkgver=0.25 +pkgrel=1 epoch=1 pkgdesc="A Homebrew PVR project" arch=('i686' 'x86_64') url="http://www.mythtv.org/" license=('GPL') -depends=('lame' 'libavc1394' 'libiec61883' 'libpulse' 'libxinerama' - 'libxvmc' 'libxxf86vm' 'lirc-utils' 'mesa' 'mysql-clients' - 'mysql-python' 'perl-dbd-mysql' 'perl-libwww' 'perl-net-upnp' - 'python2-lxml' 'wget' 'qtwebkit') -makedepends=('yasm') -optdepends=('xmltv: to download tv listings') +depends=('avahi' 'fftw' 'lame' 'libass' 'libavc1394' 'libcdio' 'libiec61883' + 'libpulse' 'libva' 'libxinerama' 'lirc-utils' 'mesa' + 'mysql-clients' 'mysql-python' 'perl-dbd-mysql' 'perl-io-socket-inet6' + 'perl-libwww' 'perl-net-upnp' 'python2-lxml' 'qtwebkit' 'urlgrabber' + 'x264') +makedepends=('glew' 'libcec' 'libxml2' 'openssl' 'yasm') +optdepends=('glew: for GPU commercial flagging' + 'libcec: for consumer electronics control capabilities' + 'libxml2: to read blu-ray metadata' + 'openssl: for AirTunes (RAOP) support' + 'xmltv: to download tv listings') backup=('etc/conf.d/mythbackend') install='mythtv.install' source=("ftp://ftp.osuosl.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2" + 'mythtv_0.25_gcc_4.7.patch' 'mythbackend.rc' 'mythbackend.conf') -md5sums=('7259fd24560da77da90b1494492f9550' - 'feadcc9ad064d93d6dceab1efc0bd9ed' - 'bb8e4033d82428d827570fae9ba15e6a') +md5sums=('e49c81de40e279c83dcb1b2aa9a45748' + '6090f5f22a8584db80b76cf19869ee41' + '62fd98347c56b1d9b795792f83269d25' + '1f72db0586f97a7c3fd3155dfa9a6c6f') build() { cd "$srcdir/$pkgname-$pkgver" find 'bindings/python' 'contrib' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@' + #patch -Np1 -i "$srcdir/mythtv_0.25_gcc_4.7.patch" + [[ $CARCH == "arm" ]] && ARCH="armv5te" [[ $CARCH == "armv7" ]] && ARCH="armv7-a" - ./configure --prefix=/usr --cpu="$ARCH" \ + ./configure --prefix=/usr \ + --cpu="$ARCH" \ --disable-mmx \ - --enable-audio-oss \ - --enable-audio-alsa \ - --disable-audio-jack \ - --enable-audio-pulse \ - --disable-altivec \ - --disable-distcc \ - --disable-ccache \ --disable-vdpau \ - --enable-dvb \ - --dvb-path=/usr/include \ - --enable-lirc \ - --enable-joystick-menu \ - --enable-v4l \ - --enable-ivtv \ - --enable-xvmc \ - --enable-xvmcw \ - --enable-xvmc-vld \ - --enable-firewire \ - --enable-opengl-vsync \ - --enable-xrandr \ - --enable-xv \ - --enable-x11 \ - --with-bindings=perl,python \ - --python=python2 + --disable-altivec \ + --disable-audio-jack \ + --disable-ccache \ + --disable-distcc \ + --enable-libfftw3 \ + --enable-libmp3lame \ + --enable-libx264 \ + --enable-vaapi \ + --python=python2 make } @@ -79,4 +75,5 @@ package() { mkdir -p "$pkgdir/usr/share/mythtv" cp -R 'contrib' "$pkgdir/usr/share/mythtv" + mkdir -p "$pkgdir/var/log/mythtv" } diff --git a/community/mythtv/mythbackend.conf b/community/mythtv/mythbackend.conf index e004ae5bd..15a248450 100644 --- a/community/mythtv/mythbackend.conf +++ b/community/mythtv/mythbackend.conf @@ -1,11 +1,5 @@ #!/bin/bash # -# Rename this file to: -# -# /etc/config.d/mythbackend -# -############################################################################### -# # Copyright (c) by the MythTV Development Team. # # Derived from work by: @@ -32,21 +26,7 @@ # ############################################################################### # -# Config variables for the mythbackend startup script, which is usually -# located in /etc/rc.d/mythbackend -# -# When the startup script is executed, it sources this file if it exists, -# otherwise it will fall back on default values. -# -# Leave variables commented out to use default values in init script -# (/etc/rc.d/mythbackend). -# -# To override defaults, uncomment the relevant variable definition and -# edit as required. -# - -# -# User who should start the mythbackend processes +# User who should start the mythbackend process # # Running mythbackend as non-root requires you to ensure that audio/video # devices used for recording have suitable user permissions. One way @@ -59,32 +39,14 @@ # MBE_USER='root' # -# Directory holding the mythbackend binary (empty means autodetect). +# Startup options for mythbackend (see 'mythbackend --help' for a list). # -# MBE_DIR='' - -# -# Name of mythbackend binary. -# -# MBE_PROG='mythbackend' - -# -# Other startup options for mythbackend (see 'mythbackend --help' for a list). -# -# MBE_OPTIONS='' +# MBE_OPTS='' # # Directory holding the mythbackend log file # -# LOG_DIR='/var/log/mythtv' - -# -# Name of mythbackend log file. -# -# NOTE: If you are running as non-root take care to ensure the mythbackend user -# has permission to write to this log file. -# -# LOG_FILE='mythbackend.log' +# LOG_PATH='/var/log/mythtv' # # Logging options for mythbackend (see 'mythbackend -v help' for a list) diff --git a/community/mythtv/mythbackend.rc b/community/mythtv/mythbackend.rc index 410e8de41..2b3c2d52e 100644 --- a/community/mythtv/mythbackend.rc +++ b/community/mythtv/mythbackend.rc @@ -2,81 +2,72 @@ . /etc/rc.conf . /etc/rc.d/functions +. /etc/profile +############################################################################### # Default values to use if none are supplied in the config file. - -# Running mythbackend as non-root requires you to ensure that audio/video -# devices used for recording have suitable user permissions. One way -# to achieve this is to modify existing or create new udev rules which -# assign these devices to a non-root group with rw permissions and add -# your mythbackend user to that group. Be aware that console.perms can -# also affect device permissions and may need additional configuration. -# Running as non-root may also introduce increased process latency. # -# User who should start the mythbackend processes +# User who should start the mythbackend process MBE_USER='root' # Startup options for mythbackend -MBE_OPTIONS='' +MBE_OPTS='' -# Name of mythbackend log file -LOG_FILE='/var/log/mythbackend.log' +# Directory holding the mythbackend log file +LOG_PATH='/var/log/mythtv' -# Logging options for mythbackend (empty means '-v important,general') +# Logging options for mythbackend LOG_OPTS='' - ############################################################################### CONFIG_FILE=/etc/conf.d/mythbackend PIDFILE=/var/run/mythbackend.pid -if [[ -f ${CONFIG_FILE} ]]; then - . ${CONFIG_FILE} +if [[ -r "$CONFIG_FILE" ]]; then + . "$CONFIG_FILE" fi -pid="$(cat ${PIDFILE} 2>/dev/null || pidof mythbackend)"; - -# fix FS#11890 -mbe_user_home="$(getent passwd ${MBE_USER}|cut -d : -f 6)" +PID="$(cat "$PIDFILE" 2> /dev/null || pidof mythbackend)" +export HOME="$(getent passwd "$MBE_USER" | cut -d : -f 6)" case "$1" in - start) - stat_busy "Starting MythTV Backend" + start) + stat_busy "Starting MythTV Backend" - # already running ? - if [[ "${pid}" -gt 0 ]] && kill -0 "${pid}"; then - stat_fail - exit 1; - fi - touch ${PIDFILE} ${LOG_FILE} - chown "$MBE_USER" ${PIDFILE} ${LOG_FILE} - if su "$MBE_USER" -c "HOME=${mbe_user_home} mythbackend \ - --daemon \ - --logfile $LOG_FILE $LOG_OPTS \ - --pidfile ${PIDFILE} $MBE_OPTIONS"; - then - add_daemon mythbackend - stat_done - else - stat_fail - fi - ;; - - stop) - stat_busy "Stopping MythTV Backend" - if [[ "${pid}" -gt 0 ]] && kill $pid &>/dev/null; then - rm_daemon mythbackend - stat_done - rm ${PIDFILE} 2>/dev/null - else - stat_fail - fi - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" + if [[ "$PID" -gt 0 ]] && kill -0 "$PID"; then + stat_fail + exit 0 + fi + + touch "$PIDFILE" + chown "$MBE_USER" "$PIDFILE" "$LOG_PATH" + + MBE_CMD="/usr/bin/mythbackend --daemon \ + --logpath "$LOG_PATH" $LOG_OPTS \ + --pidfile "$PIDFILE" $MBE_OPTS" + if su "$MBE_USER" -c "$MBE_CMD"; then + add_daemon mythbackend + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping MythTV Backend" + if [[ "$PID" -gt 0 ]] && kill "$PID" &> /dev/null; then + rm_daemon mythbackend + stat_done + rm -f "$PIDFILE" + else + stat_fail + fi + ;; + restart) + "$0" stop + "$0" start + ;; + *) + echo "usage: $0 (start|stop|restart)" + ;; esac exit 0 diff --git a/community/mythtv/mythtv_0.25_gcc_4.7.patch b/community/mythtv/mythtv_0.25_gcc_4.7.patch new file mode 100644 index 000000000..83c8244a0 --- /dev/null +++ b/community/mythtv/mythtv_0.25_gcc_4.7.patch @@ -0,0 +1,107 @@ +*** a/libs/libmythbase/compat.h 2012-03-31 20:52:30.430461503 -0400 +--- b/libs/libmythbase/compat.h 2012-03-31 20:59:05.935585911 -0400 +*************** +*** 44,49 **** +--- 44,51 ---- + # include // for setpriority + # include + # include // For WIFEXITED on Mac OS X ++ # include // for snprintf(), used by inline dlerror() ++ # include // for usleep() + #endif + + #ifdef USING_MINGW +*** a/libs/libmyth/rssparse.h 2012-03-31 20:52:30.427453729 -0400 +--- b/libs/libmyth/rssparse.h 2012-03-31 21:51:11.687438044 -0400 +*************** +*** 13,18 **** +--- 13,19 ---- + #include + #include + #include ++ #include + + #include "mythexp.h" + +*** a/libs/libmythtv/audioinput.h 2012-03-31 22:41:55.626923063 -0400 +--- b/libs/libmythtv/audioinput.h 2012-03-31 22:41:22.478248297 -0400 +*************** +*** 22,27 **** +--- 22,28 ---- + #define _AUDIOINPUT_H_ + + #include ++ #include + + class AudioInput + { +*** a/external/FFmpeg/libavcodec/x86/h264_qpel_mmx.c 2012-03-31 20:52:29.923150437 -0400 +--- b/external/FFmpeg/libavcodec/x86/h264_qpel_mmx.c 2012-03-31 21:58:48.422270780 -0400 +*************** +*** 398,404 **** + "2: \n\t"\ + \ + : "+a"(src), "+c"(dst)\ +! : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ + : "memory"\ + );\ + src += 4-(h+5)*srcStride;\ +--- 398,404 ---- + "2: \n\t"\ + \ + : "+a"(src), "+c"(dst)\ +! : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ + : "memory"\ + );\ + src += 4-(h+5)*srcStride;\ +*************** +*** 446,452 **** + QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ + "2: \n\t"\ + : "+a"(src)\ +! : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\ + : "memory"\ + );\ + tmp += 4;\ +--- 446,452 ---- + QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\ + "2: \n\t"\ + : "+a"(src)\ +! : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\ + : "memory"\ + );\ + tmp += 4;\ +*************** +*** 823,829 **** + "2: \n\t"\ + \ + : "+a"(src), "+c"(dst)\ +! : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ +--- 823,829 ---- + "2: \n\t"\ + \ + : "+a"(src), "+c"(dst)\ +! : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\ + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \ + "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\ + "memory"\ +*************** +*** 878,884 **** + QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) + "2: \n\t" + : "+a"(src) +! : "c"(tmp), "S"((x86_reg)srcStride), "g"(size) + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", + "%xmm4", "%xmm5", "%xmm6", "%xmm7",) + "memory" +--- 878,884 ---- + QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48) + "2: \n\t" + : "+a"(src) +! : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size) + : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", + "%xmm4", "%xmm5", "%xmm6", "%xmm7",) + "memory"