From c40f1a261110505b3b03f6e65d3a9276fdd75f3f Mon Sep 17 00:00:00 2001 From: Larry Hajali Date: Mon, 23 Apr 2012 19:35:02 -0500 Subject: multimedia/xbmc: Updated for version 11.0. Signed-off-by: Erik Hanson --- multimedia/xbmc/README | 23 +++++----- multimedia/xbmc/patches/non-sse2-cpu.patch | 27 ++++++++---- multimedia/xbmc/patches/system-includes.patch | 19 ++++++++ multimedia/xbmc/patches/xbmc-rtmpdump-build.patch | 13 ++++++ multimedia/xbmc/xbmc.SlackBuild | 53 ++++++++++------------- multimedia/xbmc/xbmc.info | 6 +-- 6 files changed, 90 insertions(+), 51 deletions(-) create mode 100644 multimedia/xbmc/patches/system-includes.patch create mode 100644 multimedia/xbmc/patches/xbmc-rtmpdump-build.patch (limited to 'multimedia/xbmc') diff --git a/multimedia/xbmc/README b/multimedia/xbmc/README index 9baade23c7..a31423a607 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 0af727f2f7..ebf927c1ac 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 0000000000..8c076b36d4 --- /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 0000000000..e77d7d0e8a --- /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 620aceb473..2c37f3ba3a 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 +# Copyright 2009-2012 Larry Hajali # 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 a1c199b975..67b2b639a9 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" -- cgit v1.2.3