blob: e58360025c9f4501e928dc60d6cbbfe44efa2d5a (
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
|
# Contributors : Richard Atkinson atkinsonr-at-gmail
# Ralf Barth <archlinux dot org at haggy dot org>
#
# 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=20449
pkgrel=1
pkgdesc="XBMC Media Center from SVN (linuxport branch)"
provides=('xbmc')
conflicts=('xbmc' 'xbmc-smoothvideo' 'xbmc-vdpau')
arch=('i686' 'x86_64')
url="http://xbmc.org"
license=('GPL' 'LGPL')
depends=('alsa-lib' 'curl' 'enca' 'faac' 'freetype2' 'fribidi' 'gawk' 'glew' \
'hal' 'jasper' 'libgl' 'libjpeg>=6b-5' 'libmad' 'libmysqlclient' \
'libxinerama' 'libxrandr' 'lzo2' 'sdl_image' 'sdl_mixer' 'sqlite3' \
'tre' 'unzip' 'libcdio' 'libsamplerate' 'python')
makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf'
'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip' 'flex' 'bison')
optdepends=('lirc: remote controller support'
'pmount: mount removable devices as normal user'
'smbclient: access windows shares'
'unrar: access compressed files without unpacking them')
install=("${pkgname}.install")
source=('libcurl-not-in-lib64.patch' \
'libfaad2-enable-AC_PROG_CXX.patch' \
'xbmc-safe-fullscreen.patch'
'Lircmap.xml')
noextract=('libcurl-not-in-lib64.patch' \
'libfaad2-enable-AC_PROG_CXX.patch' \
'xbmc-safe-fullscreen.patch')
md5sums=('96636ee964e37b78ca62235eb10d29c1'
'6864778d6adc3ccc79130c294f2fffd9'
'c4d53522773846d8670884cc38f94aa0'
'3f93186f1ea4aad73011d00754c7265a')
options=(!makeflags)
build() {
_svntrunk=http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/linuxport/XBMC
_svnmod=XBMC
_prefix=/usr
cd ${srcdir}/
if [ -d $_svnmod/.svn ]; then
msg "SVN tree found, reverting changes and updating to -r$pkgver"
(cd $_svnmod && svn revert -R . && svn up -r $pkgver) || return 1
else
msg "Checking out SVN tree of -r$pkgver"
svn co $_svntrunk --config-dir ./ -r $pkgver $_svnmod || return 1
fi
msg "Done. Starting make..."
# Apply patches
cd "$srcdir/$_svnmod"
# Experimental safe fullscreen patch from the forums (by motd2k)
msg "Patching with xbmc-safe-fullscreen.patch"
patch --quiet -p0 < "$srcdir/xbmc-safe-fullscreen.patch" || return 1
# Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path:
msg "Patching with libcurl-not-in-lib64.patch"
patch --quiet -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1
# libfaad2 complains about a missing AC_PROG_CXX - add it and bootstrap:
msg "Patching with libfaad2-enable-AC_PROG_CXX.patch"
patch --quiet -p0 < "$srcdir/libfaad2-enable-AC_PROG_CXX.patch" || return 1
autoreconf -vif xbmc/cores/dvdplayer/Codecs/libfaad2
# libass needs a bootstrap due to newer autotools in Arch Linux
autoreconf -vif xbmc/lib/libass
# Another autotools mismatch between Arch and Ubuntu (xbmc-linuxport is developed against Ubuntu)
autoreconf -vif "$srcdir/$_svnmod/xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss"
# Goom also needs a fixup due to newer autotools
cd "$srcdir/$_svnmod/xbmc/visualizations/Goom/goom2k4-0"
aclocal
libtoolize --copy --force
./autogen.sh --enable-static --with-pic
# Configure XBMC
cd "$srcdir/$_svnmod"
make distclean
./configure --prefix=${_prefix} \
--disable-debug || return 1
# Fix false negative detections of realloc that happens some times
if grep -q 'HAVE_REALLOC 0' config.h; then
sed -e 's|#define HAVE_REALLOC 0|#define HAVE_REALLOC 1|' \
-e 's|#define realloc rpl_realloc|/* #define realloc rpl_realloc */|' \
-i config.h || return 1
fi
# XBMCTex will segfault on systems with nvidia installed if linked to OpenGL
sed -e 's/-lGLU -lGLEW -lGL//' \
-i ${srcdir}/$_svnmod/tools/XBMCTex/Makefile
# Now (finally) build
make || return 1
make prefix=${pkgdir}${_prefix} install || return 1
# Install
install -Dm755 ${srcdir}/$_svnmod/xbmc-xrandr \
${pkgdir}${_prefix}/share/xbmc/xbmc-xrandr || return 1
install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.desktop \
${pkgdir}${_prefix}/share/applications/xbmc.desktop || return 1
install -Dm644 ${srcdir}/$_svnmod/tools/Linux/xbmc.png \
${pkgdir}${_prefix}/share/pixmaps/xbmc.png || return 1
install -Dm755 ${srcdir}/$_svnmod/tools/XBMCTex/XBMCTex \
${pkgdir}${_prefix}/share/xbmc/tools/xbmctex || return 1
# Skins often use build.sh that looks for /usr/bin/XBMCTex
ln -s "${_prefix}/share/xbmc/tools/xbmctex" "$pkgdir/usr/bin/XBMCTex"
install -dm755 ${pkgdir}${_prefix}/share/licenses/${pkgname}
for licensef in LICENSE.GPL README.linux copying.txt; do
mv ${pkgdir}${_prefix}/share/xbmc/${licensef} \
${pkgdir}${_prefix}/share/licenses/${pkgname} || return 1
done
# Use custom Lircmap to support StreamZap remote
cp $srcdir/Lircmap.xml ${pkgdir}${_prefix}/share/xbmc/system/Lircmap.xml
}
|