aboutsummaryrefslogtreecommitdiff
path: root/multimedia/xbmc
diff options
context:
space:
mode:
authorLarry Hajali <larryhaja[at]gmail[dot]com>2012-04-23 19:35:02 -0500
committerErik Hanson <erik@slackbuilds.org>2012-04-23 19:35:02 -0500
commitc40f1a261110505b3b03f6e65d3a9276fdd75f3f (patch)
tree88fd0ea0b7547f76704babfa4745fe3a2c353713 /multimedia/xbmc
parent4d968b01ea07864c70dfffcad3f46f4226473706 (diff)
multimedia/xbmc: Updated for version 11.0.
Signed-off-by: Erik Hanson <erik@slackbuilds.org>
Diffstat (limited to 'multimedia/xbmc')
-rw-r--r--multimedia/xbmc/README23
-rw-r--r--multimedia/xbmc/patches/non-sse2-cpu.patch27
-rw-r--r--multimedia/xbmc/patches/system-includes.patch19
-rw-r--r--multimedia/xbmc/patches/xbmc-rtmpdump-build.patch13
-rw-r--r--multimedia/xbmc/xbmc.SlackBuild53
-rw-r--r--multimedia/xbmc/xbmc.info6
6 files changed, 90 insertions, 51 deletions
diff --git a/multimedia/xbmc/README b/multimedia/xbmc/README
index 9baade23c755e..a31423a6076d7 100644
--- a/multimedia/xbmc/README
+++ b/multimedia/xbmc/README
@@ -5,22 +5,25 @@ viewing and playing a vast library of audio, video and image formats.
XBMC has a sophisticated library management system that allows you to
organize all your media to give you quick and immediate access.
-XBMC requires libmpeg2, faad2, libmodplug, libmms and enca.
+XBMC requires libass, libmpeg2, libmodplug and yajl.
-Optional: vobcopy, lirc, faac, cwiid, pybluez, libdvdcss, libssh,
-lightblue, libvdpau, libass, rtmpdump, libmicrohttpd, libva, avahi,
-ffmpeg, libdca (aka libdts), a52dec (aka liba52) (all available at
-slackbuilds.org).
+Optional: libcec, pulseaudio, libbluray, libnfs,
+libdvdcss, vobcopy, lirc, cwiid, pybluez, libssh, id3lib,
+libvdpau, rtmpdump, libmicrohttpd, libva, avahi, ffmpeg
+(all available at slackbuilds.org).
-Optional: pulseaudio, libcrystalhd and libbluray (not available at
-slackbuilds.org)
+Optional: afpfs-ng is also an optional build time requirement but
+doesn't get picked up by xbmc due to lack of afpfs-ng header files.
+
+Optional: libcrystalhd and shairpoint (not available at slackbuilds.org)
Below are some paramaters that can be passed to the slackbuild to turn
on some optional components.
EXT_FFMPEG=yes|no (Default is no), requires ffmpeg
-EXT_A52DEC=yes|no (Default is no), requires a52dec
-EXT_DTS=yes|no (Default is no), requires libdca
-EXT_ALL=yes|no (Default is no), turns on all of the above options
USE_WII=yes|no (Default is no), requires cwiid and pybluez
WEBSERVER=yes|no (Default is no), requires libmicrohttpd
+
+Note: The use of external ffmpeg is discouraged by the XBMC developers.
+A patch is provided so XBMC can be built against newer ffmpeg. However,
+this patch is NOT fully tested.
diff --git a/multimedia/xbmc/patches/non-sse2-cpu.patch b/multimedia/xbmc/patches/non-sse2-cpu.patch
index 0af727f2f7f82..ebf927c1aca73 100644
--- a/multimedia/xbmc/patches/non-sse2-cpu.patch
+++ b/multimedia/xbmc/patches/non-sse2-cpu.patch
@@ -1,12 +1,21 @@
-diff -Naur xbmc-10.00.orig/xbmc/lib/libsquish/Makefile.in xbmc-10.00/xbmc/lib/libsquish/Makefile.in
---- xbmc-10.00.orig/xbmc/lib/libsquish/Makefile.in 2010-05-18 07:29:17.000000000 +0000
-+++ xbmc-10.00/xbmc/lib/libsquish/Makefile.in 2010-10-29 03:17:26.000000000 +0000
-@@ -8,7 +8,7 @@
- ifeq ($(ARCH),arm)
- CXXFLAGS+=-I.
+diff -Naur xbmc-11.0-Eden_beta1.orig/lib/libsquish/Makefile.in xbmc-11.0-Eden_beta1/lib/libsquish/Makefile.in
+--- xbmc-11.0-Eden_beta1.orig/lib/libsquish/Makefile.in 2011-12-23 03:12:21.000000000 +0000
++++ xbmc-11.0-Eden_beta1/lib/libsquish/Makefile.in 2012-01-02 20:14:20.792407216 +0000
+@@ -15,7 +15,7 @@
+ ifeq ($(findstring powerpc,$(ARCH)),powerpc)
+ CXXFLAGS+=-DSQUISH_USE_ALTIVEC=1 -maltivec
+ else ifeq ($(findstring x86,$(ARCH)), x86)
+- CXXFLAGS+=-DSQUISH_USE_SSE=2 -msse2
++ CXXFLAGS+=-DSQUISH_USE_SSE=1 -msse
+ endif
+
+ LIB=libsquish.a
+@@ -30,7 +30,7 @@
+ ifeq ($(findstring osx,$(ARCH)),osx)
+ g++ -m32 -DSQUISH_USE_SSE=2 -msse2 -I. $(SRCS) -dynamiclib -install_name `pwd`/libsquish-native.so -o $@
else
--CXXFLAGS+=-I. -DSQUISH_USE_SSE=2 -msse2
-+CXXFLAGS+=-I. -DSQUISH_USE_SSE=1 -msse
+- g++ -DSQUISH_USE_SSE=2 -msse2 -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
++ g++ -DSQUISH_USE_SSE=1 -msse -I. $(SRCS) -shared -fPIC -Wl,-soname,`pwd`/libsquish-native.so -o $@
endif
endif
- LIB=libsquish-@ARCH@.a
+
diff --git a/multimedia/xbmc/patches/system-includes.patch b/multimedia/xbmc/patches/system-includes.patch
new file mode 100644
index 0000000000000..8c076b36d4bd7
--- /dev/null
+++ b/multimedia/xbmc/patches/system-includes.patch
@@ -0,0 +1,19 @@
+diff -Naur xbmc-11.0-Eden_beta1.orig/Makefile.include.in xbmc-11.0-Eden_beta1/Makefile.include.in
+--- xbmc-11.0-Eden_beta1.orig/Makefile.include.in 2011-12-23 03:12:21.000000000 +0000
++++ xbmc-11.0-Eden_beta1/Makefile.include.in 2012-01-02 22:07:34.114048145 +0000
+@@ -32,7 +32,6 @@
+ CXXFLAGS+=@CXXFLAGS@
+ CFLAGS+=@CFLAGS@
+ LDFLAGS+=@LDFLAGS@
+-INCLUDES+=$(sort @INCLUDES@)
+ INCLUDES+=-I@abs_top_srcdir@/lib
+ INCLUDES+=-I@abs_top_srcdir@/xbmc
+ ifneq (@USE_EXTERNAL_FFMPEG@,1)
+@@ -40,6 +39,7 @@
+ endif
+ INCLUDES+=-I@abs_top_srcdir@/xbmc/linux
+ INCLUDES+=-I@abs_top_srcdir@/xbmc/cores/dvdplayer
++INCLUDES+=$(sort @INCLUDES@)
+ DEFINES+= \
+ @ARCH_DEFINES@ \
+ -D_FILE_DEFINED \
diff --git a/multimedia/xbmc/patches/xbmc-rtmpdump-build.patch b/multimedia/xbmc/patches/xbmc-rtmpdump-build.patch
new file mode 100644
index 0000000000000..e77d7d0e8a973
--- /dev/null
+++ b/multimedia/xbmc/patches/xbmc-rtmpdump-build.patch
@@ -0,0 +1,13 @@
+diff -Naur xbmc-11.0.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp xbmc-11.0/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+--- xbmc-11.0.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp 2012-03-21 22:07:50.000000000 +0000
++++ xbmc-11.0/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp 2012-03-31 21:44:15.320639375 +0000
+@@ -22,9 +22,7 @@
+ #if (defined HAVE_CONFIG_H) && (!defined WIN32)
+ #include "config.h"
+ #endif
+-#ifdef _WIN32
+ #include "system.h" // just for HAS_LIBRTMP
+-#endif
+
+ #ifdef HAS_LIBRTMP
+ #include "settings/AdvancedSettings.h"
diff --git a/multimedia/xbmc/xbmc.SlackBuild b/multimedia/xbmc/xbmc.SlackBuild
index 620aceb473a19..2c37f3ba3a4fd 100644
--- a/multimedia/xbmc/xbmc.SlackBuild
+++ b/multimedia/xbmc/xbmc.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for XBMC
-# Copyright 2009-2011 Larry Hajali <larryhaja[at]gmail[dot]com>
+# Copyright 2009-2012 Larry Hajali <larryhaja[at]gmail[dot]com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=xbmc
-VERSION=10.0
+VERSION=11.0
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -69,7 +69,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Let's get rid of the lsb_release dependency.
+# Let's get rid of the lsb_release dependency. May not be needed for 11.0.
sed -i 's|lsb_release -d|cat /etc/slackware-version|' \
xbmc/utils/SystemInfo.cpp
@@ -78,29 +78,24 @@ if ! grep 'sse2' /proc/cpuinfo 2>&1 > /dev/null; then
patch -p1 < $CWD/patches/non-sse2-cpu.patch
fi
-# Create configure scripts.
-[ ! -x bootstrap ] && chmod +x bootstrap
-./bootstrap
-
-# Here are some additional flags that can turned on in the script
-# so XBMC will use system libraries instead of shipped libraries.
-# --enable-external-ffmpeg * to use system ffmpeg
-# --enable-external-liba52 * to use system liba52 library
-# comes with a52dec
-# --enable-external-libdts * to use system DTS Coherent Acoustics decoder
-# --enable-external-python * to use system python (On by default)
-# --enable-external-libraries * to enable all optional system libraries
-OPT_DEPS="--enable-external-python"
-[ "${EXT_FFMPEG:-no}" == "yes" ] && OPT_DEPS="$OPT_DEPS --enable-external-ffmpeg"
-[ "${EXT_A52DEC:-no}" == "yes" ] && OPT_DEPS="$OPT_DEPS --enable-external-liba52"
-[ "${EXT_DTS:-no}" == "yes" ] && OPT_DEPS="$OPT_DEPS --enable-external-libdts"
-[ "${EXT_ALL:-no}" == "yes" ] && OPT_DEPS="--enable-external-libraries"
+# Patch for building against rtmpdump. Only needed if xbmc fails to build
+# w/rtmpdump. See the following link for a rather obtuse explanation.
+# http://slaxbmc.blogspot.com/2011/03/23-install-xbmc-from-source.html
+patch -p1 < $CWD/patches/xbmc-rtmpdump-build.patch
+
+# Build external ffmpeg.
+if [ "${EXT_FFMPEG:-no}" == "yes" ]; then
+ OPT_DEPS="--enable-external-ffmpeg"
+ patch -p1 < $CWD/patches/system-includes.patch
+else
+ OPT_DEPS="--disable-external-ffmpeg"
+fi
# Build webserver. Requires libmicrohttpd.
if [ "${WEBSERVER:-no}" == "yes" ]; then
- OPT_SERVER="--enable-webserver"
+ OPT_DEPS="$OPT_DEPS --enable-webserver"
else
- OPT_SERVER="--disable-webserver"
+ OPT_DEPS="$OPT_DEPS --disable-webserver"
fi
CFLAGS="$SLKCFLAGS" \
@@ -109,17 +104,17 @@ CXXFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-ccache \
+ --enable-static=no \
+ --enable-neon \
--disable-debug \
--enable-gl \
- --enable-dvdcss \
--enable-mid \
--enable-goom \
--enable-ffmpeg-libvorbis \
--disable-asap-codec \
- $OPT_SERVER \
$OPT_DEPS \
- --build=$ARCH-slackware-linux \
+ --enable-external-libraries \
+ --build=$ARCH-slackware-linux
make
@@ -128,7 +123,7 @@ if ! [ "${USE_WII:-no}" = "no" ]; then
make eventclients DESTDIR=$PKG WII_EXTRA_OPTS="-DCWIID_OLD"
fi
-make install install-livedatas DESTDIR=$PKG
+make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -138,12 +133,12 @@ mkdir -p $PKG/usr/man/man1
for i in diskmounter.1 runXBMC.1 xbmc.bin.1 xbmc.1 xbmc-standalone.1 xbmc-send.1 \
setAlsaVolumes.1 installXBMC.1
do
- install -D -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
+ install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
done
if ! [ "${USE_WII:-no}" = "no" ]; then
for i in xbmc-j2meremote.1 xbmc-ps3remote.1 xbmc-wiiremote.1; do
- install -D -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
+ install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
done
fi
gzip -9 $PKG/usr/man/man?/*.?
diff --git a/multimedia/xbmc/xbmc.info b/multimedia/xbmc/xbmc.info
index a1c199b9754dd..67b2b639a9fda 100644
--- a/multimedia/xbmc/xbmc.info
+++ b/multimedia/xbmc/xbmc.info
@@ -1,8 +1,8 @@
PRGNAM="xbmc"
-VERSION="10.0"
+VERSION="11.0"
HOMEPAGE="http://xbmc.org/"
-DOWNLOAD="http://mirrors.xbmc.org/releases/source/xbmc-10.0.tar.gz"
-MD5SUM="728fb514e5f43f27bb880305061b4e72"
+DOWNLOAD="http://mirrors.xbmc.org/releases/source/xbmc-11.0.tar.gz"
+MD5SUM="9e8a26ee25173c7268abea7f1d82d428"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Larry Hajali"