summaryrefslogtreecommitdiffstats
path: root/abs/core/mythtv/stable-0.27/mythtv/PKGBUILD
blob: 70eed29ed02268c1cfa5924775818650d1a5004a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
pkgname=mythtv
pkgver=0.27
pkgrel=14
commit_hash=`cat ../git_src/git_hash`
pkgdesc="A Homebrew PVR project $commit_hash"
arch=('i686' 'x86_64')
url="http://www.mythtv.org/"
license=('GPL')
depends=('avahi' 'faad2' 'fftw' 'glew' 'lame' 'libass' 'libavc1394' 'libcdio'
         'libcec' 'libcrystalhd-git' 'libiec61883' 'libva' 'libvdpau' 'libvpx'
         'libxinerama' 'libxrandr' 'libxml2' 'LinHES-config>=8.1-6' 'lirc-utils'
         'mysql-clients' 'mysql-python' 'openssl' 'perl-date-manip' 'perl-dbd-mysql'
         'perl-io-socket-inet6' 'perl-libwww' 'perl-math-round'
         'perl-net-upnp' 'perl-soap-lite' 'perl-xml-sax' 'python-pycurl'
         'python2-lxml' 'qt' 'qtwebkit' 'taglib' 'urlgrabber' 'wget' 'x264' 'xmltv')
makedepends=('mesa' 'libgl' 'yasm' 'git' 'rsync')
replaces=()
groups=('pvr')
backup=()
install='mythtv.install'

patches=('myth_settings.patch' 
         '0001-protect-metadata-loads-from-multiple-threads.patch'
         #http://code.mythtv.org/trac/ticket/10825   thread safety in video metadata load
         'suggestedstarttime.patch.v1')
         #http://code.mythtv.org/trac/ticket/11562   next mythfilldatabase run in mythweb

optdepends=()
replaces=('mythvideo' 'myththemes')
conflicts=('mythvideo' 'myththemes')
source=(`echo ${patches[@]:0}` 'recordings')

build() {
    if [ -e ${srcdir}/mythtv ]
    then
        msg "Removing old mythtv src"
        rm -rf ${srcdir}/mythtv
    fi

    cd ${startdir}
    msg "Copying in mythtv git_src"
    cp -rp ../git_src/mythtv/mythtv $srcdir
    cd ${srcdir}/$pkgname
    echo "#!/bin/bash" > version.sh

    msg "--------------------------applying patches------------------------------"
    for i in `echo ${patches[@]:0}`
    do
        echo applying $i
        patch -Np2  -i ${startdir}/src/$i  || return 1
        echo "-----------------------------"
    done
    msg "--------------------------done applying patches-------------------------"

    msg "Configuring mythtv"
    ARCH=${CARCH/_/-}
    #disable mythlogserver due to http://code.mythtv.org/trac/ticket/11230
    ./configure --prefix=/usr \
                --cpu=${ARCH} \
                --disable-altivec \
                --disable-audio-jack \
                --disable-audio-pulse \
                --disable-ccache \
                --disable-distcc \
                --disable-mythlogserver \
                --dvb-path=/usr/include \
                --enable-libfftw3 \
                --enable-libmp3lame \
                --enable-libvpx \
                --enable-libx264 \
                --enable-vaapi \
                --python=python2 \
                --with-bindings=perl,python || return 1
    msg "Compiling mythtv"
    make all || return 1
}

package() {
    cd "${srcdir}/${pkgname}"
    # basic install
    make INSTALL_ROOT="${pkgdir}" install
    # install contrib files
    rsync -arp --exclude .svn --delete-excluded contrib ${pkgdir}/usr/share/mythtv/ || return 1
    # install database structure
    rsync -arp --exclude .svn --delete-excluded database ${pkgdir}/usr/share/mythtv/ || return 1
    # install docs
    rsync -arp --exclude .svn --delete-excluded docs ${pkgdir}/usr/share/mythtv/ || return 1

    # patch the xml LinHES style
    cp -r ${startdir}/menu-xml/*.xml ${pkgdir}/usr/share/mythtv/themes/defaultmenu/
    cd ${pkgdir}/usr/share/mythtv
    patch -p0 < ${startdir}/menu-xml/mainmenu.xml.patch || return 1
    patch -p0 < ${startdir}/menu-xml/optical_menu.xml.patch || return 1
    patch -p0 < ${startdir}/menu-xml/library.xml.patch || return 1

    # make mythtv log dir for old scripts that use it
    mkdir -p ${pkgdir}/var/log/mythtv
    chown 1000.1000 ${pkgdir}/var/log/mythtv

    #install recordings (was pretty)
    mkdir -p ${pkgdir}/etc/cron.hourly/
    install -m0755 ${srcdir}/recordings ${pkgdir}/etc/cron.hourly/
}

md5sums=('5f3e43567e62afe17bad39f5a9b604cf'
         '67f7316c750fba17fa578d10840b9dbd'
         '35a7fd3e3057691e3b1bf355bb9e8b16'
         '65a08d8949431ecdeb51a686dc6f9c21')