summaryrefslogtreecommitdiffstats
path: root/abs/extra/xbmc-svn/PKGBUILD
blob: fa2be235d1b436339cb758d3387a3c32988d3b07 (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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Maintainer: DonVla <donvla@users.sourceforge.net>
# Contributor: BlackEagle < ike DOT devolder AT herecura DOT be >
# Contributor: Ulf Winkelvos <ulf [at] winkelvos [dot] de>
# Contributor: Ralf Barth <archlinux dot org at haggy dot org>
# Contributor: B - Thanks for your hints :)
#
# Original credits go to Edgar Hucek <gimli at dark-green dot com>
# for his xbmc-vdpau-vdr PKGBUILD at https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-vdpau-vdr/PKGBUILD

pkgname=xbmc-svn
pkgver=35648
pkgrel=1
pkgdesc="XBMC Media Center from SVN"
provides=('xbmc')
conflicts=('xbmc' 'xbmc-pulse')
arch=('i686' 'x86_64')
url="http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk"
license=('GPL' 'LGPL')
depends=('bzip2' 'faac' 'faad2' 'fribidi' 'glew' 'jasper' 'libass' 'libcdio' 'libgl' 'libmad' 
         'libmicrohttpd-xbmc' 'libmms' 'libmodplug' 'libmpeg2' 'libmysqlclient' 'libsamplerate' 'libxrandr'
         'libxinerama' 'libxtst' 'lzo2' 'sdl_image>=1.2.10' 'sdl_mixer' 'smbclient' 'unzip' 'wavpack' 'mesa-demos')
makedepends=('cvs' 'boost' 'cmake' 'gperf' 'nasm' 'python2' 'subversion' 'zip')
optdepends=('avahi: to use zerconf features (remote, etc...)' 
            'gdb: for meaningful backtraces in case of trouble - STRONGLY RECOMMENDED' 
            'libssh: support for sshfs'
            'libvdpau: accelerated video playback for nvidia cards' 
            'libva: accelerated video playback for nvidia, ati/amd and some intel cards'
            'lirc: remote controller support' 
            'pulseaudio: pulseaudio support'
            'udisks: automount external drives' 
            'upower: used to trigger suspend functionality' 
            'unrar: access compressed files without unpacking them')
options=('makeflags')
install="${pkgname}.install"
source=("FEH.sh") 
md5sums=('c3e2ab79b9965f1a4a048275d5f222c4')
sha256sums=('1b391dfbaa07f81e5a5a7dfd1288bf2bdeab8dc50bbb6dbf39a80d8797dfaeb0')

_svnmod=XBMC
_prefix=/usr

build() {
    _svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk
    #_svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/Dharma

    cd "${srcdir}/"
    if [ -d "$_svnmod/.svn" ]; then
        msg "SVN tree found, reverting changes and updating to -r$pkgver"
        (cd "$_svnmod" && svn revert -R . && (make distclean || :); svn up -r "$pkgver")
    else
        msg "Checking out SVN tree of -r$pkgver"
        svn co "$_svntrunk" --config-dir ./ -r "$pkgver" "$_svnmod"
    fi

    # Configure XBMC
    #
    # Note on external-libs:
    #   - We cannot use external python because Arch's python was built with
    #     UCS2 unicode support, whereas xbmc expects UCS4 support
    cd "${srcdir}/${_svnmod}"

    # Archlinux Branding by SVN_REV
    export SVN_REV="${pkgver}-ARCH"
    # fix lsb_release dependency
    sed -i -e 's:/usr/bin/lsb_release -d:cat /etc/arch-release:' xbmc/utils/SystemInfo.cpp

    # remove "--as-needed" from LDFLAGS
    unset LDFLAGS; LDFLAGS="-Wl,--hash-style=gnu"

    msg "Bootstrapping XBMC"
    ./bootstrap

    msg "Configuring XBMC" 
    ./configure --prefix="${_prefix}" --disable-hal \
                --enable-external-libraries \
                --disable-external-ffmpeg \
                --disable-external-python \
                --enable-webserver \
                --enable-debug \
#                --disable-rtmp

    # Now (finally) build
    msg "Running make" 
    make ${MAKEFLAGS}
    make -C lib/addons/script.module.pil
    make -C lib/addons/script.module.pysqlite
}

package() {

    cd "${srcdir}/${_svnmod}"
    msg "Running make install" 
    make prefix="${pkgdir}${_prefix}" install

# Replace FEH.py with FEH.sh (and thus remove external python dependency)
    install -D -m 0755 "${srcdir}/FEH.sh" "${pkgdir}${_prefix}/share/xbmc/FEH.sh"
    sed -i -e 's/^python \(.*\)FEH.py \(.*\)$/\1FEH.sh \2/' "${pkgdir}${_prefix}/bin/xbmc"

# lsb_release fix
    sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}${_prefix}/bin/xbmc"
    sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/    \/'/cat \/etc\/arch-release/g" "${pkgdir}${_prefix}/bin/xbmc"

# .desktop files
    install -D -m 0644 "${srcdir}/${_svnmod}/tools/Linux/xbmc.desktop" "${pkgdir}${_prefix}/share/applications/xbmc.desktop"
    install -D -m 0644 "${srcdir}/${_svnmod}/tools/Linux/xbmc-48x48.png" "${pkgdir}${_prefix}/share/pixmaps/xbmc.png"

# Tools
    install -D -m 0755 "${srcdir}/${_svnmod}/xbmc-xrandr" "${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr"
    install -D -m 0755 "${srcdir}/${_svnmod}/tools/TexturePacker/TexturePacker" "${pkgdir}${_prefix}/share/xbmc/"

# Licenses
    install -d -m 0755 "${pkgdir}${_prefix}/share/licenses/${pkgname}" 
    for licensef in LICENSE.GPL copying.txt; do 
        mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" "${pkgdir}${_prefix}/share/licenses/${pkgname}" 
    done 

# Docs 
    install -d -m 0755 "${pkgdir}${_prefix}/share/doc/${pkgname}" 
    for docsf in keymapping.txt README.linux; do 
        mv "${pkgdir}${_prefix}/share/doc/xbmc/${docsf}" "${pkgdir}${_prefix}/share/doc/${pkgname}" 
     done

# cleanup some stuff
    msg "Cleanup unneeded files"
    rm -rf "${pkgdir}/usr/share/xsessions"
    rm -f "${pkgdir}/usr/share/xbmc/FEH.py"
    rm -f "${pkgdir}/usr/share/icons/hicolor/icon-theme.cache"

# strip
    msg "Stripping binaries"
    find "$pkgdir" -type f -exec strip {} \; >/dev/null 2>/dev/null
}