blob: 74d2b7e535a751ac842e81e01bad19f4b4d6d4f6 (
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
133
134
135
136
137
138
|
# 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=21337
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' 'avahi' 'libmad'
'a52dec' 'libdca' 'faad2' 'libmpeg2' 'libvorbis' 'libogg'
'libmpcdec' 'flac' 'wavpack' 'xorg-utils')
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'
'Lircmap.xml')
noextract=('libcurl-not-in-lib64.patch'
'Lircmap.xml')
md5sums=('ac1244a5b4aad0e7d59e86a0d318df1b'
'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
# Apply patches
cd "$srcdir/$_svnmod"
# Arch's libcurl lives in /usr/lib, not /usr/lib64 - fix the path:
msg "Patching with libcurl-not-in-lib64.patch"
patch -p0 < "$srcdir/libcurl-not-in-lib64.patch" || return 1
# 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
cd "$srcdir/$_svnmod"
# 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
# - We cannot use external ffmpeg as we would loose VDPAU functionality
# because Arch's ffmpeg package does not support VDPAU
# - We don't want to rely on AUR packages, so we also don't use libass
# as long as it's in AUR
msg "Configuring XBMC"
make clean
./configure --prefix=${_prefix} \
--enable-external-libmad \
--enable-external-liba52 \
--enable-external-libdts \
--enable-external-libfaad \
--enable-external-libmpeg2 \
--enable-external-libvorbis \
--enable-external-libogg \
--enable-external-libmpcdec \
--enable-external-libflac \
--enable-external-libwavpack \
--disable-external-libass \
--disable-external-python \
--disable-external-ffmpeg \
--disable-debug || return 1
# Fix false negative detections of realloc that happens some times
msg "Fixing false negative detections of realloc"
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
msg "Fixing XBMCTex on systems using the nvidia driver blob"
sed -e 's/-lGLU -lGLEW -lGL//' \
-i ${srcdir}/$_svnmod/tools/XBMCTex/Makefile
# Now (finally) build
msg "Running make"
make || return 1
msg "Running make install"
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
}
|