blob: 950d7048a6c49c0e2aa7674724352ad642f449ed (
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
|
# Contributor: [vEX] <niechift.dot.vex.at.gmail.dot.com>
# Contributor: Zeqadious <zeqadious.at.gmail.dot.com>
pkgname=xbmc
pkgver=8.10
pkgrel=10
pkgdesc="XBMC Media Center"
arch=('i686' 'x86_64')
url="http://xbmc.org"
license=('GPL' 'custom')
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')
makedepends=('autoconf' 'automake' 'boost' 'cmake' 'gcc' 'gperf'
'libtool>=2.2.6a-1' 'make' 'nasm' 'patch' 'pkgconfig' 'zip')
optdepends=('libcdio: optical disc support'
'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=("http://downloads.sourceforge.net/${pkgname}/XBMC-${pkgver}.src.tar.gz")
md5sums=('2d20d255a211223eaa47f1c6bcf4be8e')
build() {
cd "${srcdir}/XBMC"
# Remove Mac OS X specific files
rm -rf system/python/lib-osx/
rm system/players/dvdplayer/*-osx*
# Fix permissions for the configure scripts
find -type f -name "configure"|xargs chmod a+x || return 1
# Fix other permissions
find -type f -name "*.pl"|xargs chmod a+x || return 1
# Make it gcc 4.3.x compatible
sed '92i#include <stdlib.h>' -i guilib/system.h || return 1
# Clean up the configure files and make sure they support C++.
for file in `find . -type f -name configure.in -or -name configure.ac`; do
echo 'AC_PROG_CXX' >> "${file}"
sed -e '/AM_PATH_XMMS/ c\echo' \
-e '/AM_PATH_SDL2/ c\echo' \
-i ${file} || return 1
done
sed -e 's/test_libFLAC++//g' \
-i "${srcdir}/XBMC/xbmc/cores/paplayer/flac-1.2.1/src/Makefile.am" || return 1
# Fix some autoconf issues
touch ${srcdir}/XBMC/xbmc/cores/dvdplayer/Codecs/libmad/{NEWS,AUTHORS,ChangeLog} || return 1
touch ${srcdir}/XBMC/xbmc/visualizations/Goom/goom2k4-0/ylwrap || return 1
touch ${srcdir}/XBMC/xbmc/lib/libid3tag/libid3tag/{NEWS,README,AUTHORS,ChangeLog} || return 1
for dir in \
. \
xbmc/cores/dvdplayer/Codecs/libDVDCSS \
xbmc/cores/dvdplayer/Codecs/libdts \
xbmc/cores/dvdplayer/Codecs/libdvdnav \
xbmc/cores/dvdplayer/Codecs/libfaad2 \
xbmc/cores/dvdplayer/Codecs/libmad \
xbmc/cores/dvdplayer/Codecs/libmpeg2 \
xbmc/cores/paplayer/flac-1.2.1 \
xbmc/cores/paplayer/vorbisfile/libvorbis \
xbmc/cores/paplayer/vorbisfile/ogg \
xbmc/visualizations/Goom/goom2k4-0 \
xbmc/lib/libass \
xbmc/lib/libid3tag/libid3tag
do
autoreconf --install "${srcdir}/XBMC/${dir}" || return 1
done
cd "${srcdir}/XBMC/"
# Configure XBMC
./configure --prefix=/usr \
--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 instaleld if linked to OpenGL
sed -e 's/-lGLU -lGLEW -lGL//' \
-i ${srcdir}/XBMC/tools/XBMCTex/Makefile
# Now (finally) build
make || return 1
make prefix=${pkgdir}/usr install || return 1
# Fix the shell script
sed -i '4iexport SDL_AUDIODRIVER=alsa' ${pkgdir}/usr/bin/xbmc
# Xrandr
install -Dm755 ${srcdir}/XBMC/xbmc-xrandr \
${pkgdir}/usr/share/xbmc/xbmc-xrandr || return 1
# Menu item
install -Dm644 ${srcdir}/XBMC/tools/Linux/xbmc.desktop \
${pkgdir}/usr/share/applications/xbmc.desktop || return 1
install -Dm644 ${srcdir}/XBMC/tools/Linux/xbmc.png \
${pkgdir}/usr/share/pixmaps/xbmc.png || return 1
# XBMCTex
install -Dm755 ${srcdir}/XBMC/tools/XBMCTex/XBMCTex \
${pkgdir}/usr/share/xbmc/tools/xbmctex || return 1
# License(s)
install -dm755 ${pkgdir}/usr/share/licenses/${pkgname}
for licensef in LICENSE.GPL README.linux copying.txt; do
mv ${pkgdir}/usr/share/xbmc/${licensef} \
${pkgdir}/usr/share/licenses/${pkgname} || return 1
done
}
|