blob: 2e90b207dc9e492f6d1be35c2e164725299c3470 (
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
|
# 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=20231
pkgrel=3
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' 'x-server' 'libcdio' 'libsamplerate')
makedepends=('subversion' 'autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf'
'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip')
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')
noextract=('libcurl-not-in-lib64.patch' \
'libfaad2-enable-AC_PROG_CXX.patch' \
'xbmc-safe-fullscreen.patch')
md5sums=('96636ee964e37b78ca62235eb10d29c1' \
'6864778d6adc3ccc79130c294f2fffd9' \
'c4d53522773846d8670884cc38f94aa0')
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 --quiet -R . && svn up --quiet -r $pkgver) || return 1
else
msg "Checking out SVN tree of -r$pkgver"
svn co $_svntrunk --config-dir ./ --quiet -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 --disable-pulse --enable-vdpau || 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
}
|