summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
authorLarry Hajali <larryhaja[at]gmail[dot]com>2015-02-05 08:11:27 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2015-02-05 08:11:27 +0700
commit43bf5fb2001a989a911043c15f23927e670b8697 (patch)
tree3787f14c3ca951dd44bd7b87cf8e55cc87d51545 /multimedia
parentda4682f47d40c3ea9f5bd3660adfaed61f71d422 (diff)
downloadslackbuilds-43bf5fb2001a989a911043c15f23927e670b8697.tar.gz
multimedia/kodi: Added (Multi-platform Media Center).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/kodi/README26
-rw-r--r--multimedia/kodi/doinst.sh9
-rw-r--r--multimedia/kodi/kodi.SlackBuild224
-rw-r--r--multimedia/kodi/kodi.info14
-rw-r--r--multimedia/kodi/patches/sse2.patch12
-rw-r--r--multimedia/kodi/patches/xbmc-13.0-dvdread.patch138
-rw-r--r--multimedia/kodi/patches/xbmc-Gotham-rtmpdump-build.patch13
-rw-r--r--multimedia/kodi/patches/xbmc-Helix-samba-4.0.patch24
-rw-r--r--multimedia/kodi/slack-desc19
9 files changed, 479 insertions, 0 deletions
diff --git a/multimedia/kodi/README b/multimedia/kodi/README
new file mode 100644
index 0000000000..b4f4da9a08
--- /dev/null
+++ b/multimedia/kodi/README
@@ -0,0 +1,26 @@
+XBMC is an award winning media center application for Linux, Mac OS X,
+Windows and XBox. The ultimate hub for all your media, XBMC is easy to
+use, looks slick, and has a large helpful community. XBMC supports
+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.
+
+Optional dependencies: libcec, pulseaudio, libbluray, libnfs, libva,
+libdvdcss, lirc, cwiid, pybluez, id3lib, libvdpau, rtmpdump, afpfs-ng,
+libmicrohttpd, avahi, lame, SDL2, cryptopp, and jsoncpp
+
+Optional: libcrystalhd and libshairport (not available at slackbuilds.org)
+
+Below are some paramaters that can be passed to the slackbuild to turn
+on some optional components.
+
+WII=yes|no (Default is no), requires cwiid and pybluez
+WEBSERVER=yes|no (Default is no), requires libmicrohttpd
+PULSE=yes|no (Default is no), requires pulseaudio
+
+NOTE:
+Please remove or rename /etc/oss.conf if it exists on your system
+prior to building this package or it will fail to build.
+
+ffmpeg on SBo is too old to build with kodi. Use ffmepg that is built
+by default with kodi.
diff --git a/multimedia/kodi/doinst.sh b/multimedia/kodi/doinst.sh
new file mode 100644
index 0000000000..3e5691a052
--- /dev/null
+++ b/multimedia/kodi/doinst.sh
@@ -0,0 +1,9 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/multimedia/kodi/kodi.SlackBuild b/multimedia/kodi/kodi.SlackBuild
new file mode 100644
index 0000000000..2dfca03e07
--- /dev/null
+++ b/multimedia/kodi/kodi.SlackBuild
@@ -0,0 +1,224 @@
+#!/bin/sh
+
+# Slackware build script for kodi
+
+# Copyright 2009-2015 Larry Hajali <larryhaja[at]gmail[dot]com>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=kodi
+SRCNAM=xbmc
+VERSION=${VERSION:-14.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$VERSION-Helix
+tar xvf $CWD/$VERSION-Helix.tar.gz
+cd $SRCNAM-$VERSION-Helix
+tar xvf $CWD/$SRCNAM-pvr-addons-Helix_rc3.tar.gz || tar xvf $CWD/Helix_rc3.tar.gz
+# Don't have the Makefile download ffmpeg during install.
+if [ -f "$CWD/FFmpeg-2.4.4-Helix.tar.gz" ]; then
+ ln -s $CWD/FFmpeg-2.4.4-Helix.tar.gz tools/depends/target/ffmpeg/ffmpeg-2.4.4-Helix.tar.gz
+elif [ -f "$CWD/2.4.4-Helix.tar.gz" ]; then
+ ln -s $CWD/2.4.4-Helix.tar.gz tools/depends/target/ffmpeg/ffmpeg-2.4.4-Helix.tar.gz
+else
+ echo "FFMPEG wasn't found. Please download it and have it available"
+ echo "in the source directory ${CWD}."
+ exit 1
+fi
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Fix for sse2 cpu's.
+if grep 'sse2' /proc/cpuinfo 2>&1 > /dev/null; then
+ patch -p1 < $CWD/patches/sse2.patch
+fi
+
+# No need to show Git: "Version" in a release build.
+sed -i '/Git:/s|.*| return GetVersionShort();|' $SRCNAM/GUIInfoManager.cpp
+
+# 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-Gotham-rtmpdump-build.patch
+
+# Patch for Samba 4.0.
+patch -p1 < $CWD/patches/xbmc-Helix-samba-4.0.patch
+
+# Use installed libdvdread.
+patch -p1 < $CWD/patches/xbmc-13.0-dvdread.patch
+
+# Hack for using afpfs-ng.
+cat lib/afpfs-ng/fix_afpfs-ng_includes.patch | head -1336 | tail -1172 | patch -p1
+AFPFS_NGFLAGS="-I$PWD/include"
+
+# The version of ffmpeg on SBo is too old to compile kodi.
+# Optional ffmpeg is still available but not turned on by
+# default.
+if [ "${FFMPEG:-no}" == "yes" ]; then
+ OPT_DEPS="--with-ffmpeg=shared"
+else
+ OPT_DEPS=""
+fi
+
+# Build webserver. Requires libmicrohttpd.
+if [ "${WEBSERVER:-no}" == "yes" ]; then
+ OPT_DEPS="$OPT_DEPS --enable-webserver"
+else
+ OPT_DEPS="$OPT_DEPS --disable-webserver"
+fi
+
+# Use pulseaudio.
+if [ "${PULSE:-no}" == "yes" ]; then
+ OPT_DEPS="$OPT_DEPS --enable-pulse"
+fi
+
+# Build the pvr addons.
+cd $SRCNAM-pvr-addons-Helix_rc3
+ # Fix include statements. Only needed if jsoncpp is installed.
+ if [ -d /usr/include/jsoncpp ]; then
+ sed -i 's|<json.*/|<jsoncpp/|' addons/*/*/*.*
+ sed -i '/sstream/s|.*|&\n#include <iostream>|' addons/*/*/FilmonAPI.cpp
+ fi
+ ./bootstrap
+ CFLAGS="$SLKCFLAGS $AFPFS_NGFLAGS -DGL_GLEXT_PROTOTYPES" \
+ CXXFLAGS="$SLKCFLAGS $AFPFS_NGFLAGS -DGL_GLEXT_PROTOTYPES" \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/xbmc/addons \
+ --enable-release \
+ --enable-addons-with-dependencies \
+ --enable-static=no \
+ --disable-silent-rules \
+ --disable-dependency-tracking \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+ make
+cd -
+
+# Only link to static library.
+sed -i 's|-lsquish-native|-lsquish|' tools/TexturePacker/Makefile.in
+
+# Need to fix an autoreconf error with older version of pkg-config.
+# http://forum.kodi.tv/showthread.php?tid=195791
+cat /usr/share/aclocal/pkg.m4 > m4/pkg.m4
+echo 'm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])' \
+ >> m4/pkg.m4
+sed -i "/autoreconf/s|.*|& -I $PWD/m4|" bootstrap.mk
+./bootstrap
+
+CFLAGS="$SLKCFLAGS $AFPFS_NGFLAGS" \
+CXXFLAGS="$SLKCFLAGS $AFPFS_NGFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-static=no \
+ --disable-debug \
+ --enable-gl \
+ --enable-mid \
+ --enable-goom \
+ --enable-alsa \
+ --disable-asap-codec \
+ --enable-texturepacker \
+ $OPT_DEPS \
+ --build=$ARCH-slackware-linux
+
+make VERBOSE=1
+
+# Wii controller usage. Default is no.
+if ! [ "${WII:-no}" = "no" ]; then
+ make eventclients DESTDIR=$PKG WII_EXTRA_OPTS="-DCWIID_OLD"
+ find $PKG/usr/lib${LIBDIRSUFFIX}/python* -iname "*\.py" -exec chmod 0644 '{}' \;
+ # Create byte-compiled python files.
+ python -m compileall $PKG/usr/lib${LIBDIRSUFFIX}/python*/site-packages/$PRGNAM
+fi
+
+make install DESTDIR=$PKG
+python -m compileall $PKG/usr/share/$PRGNAM/addons/service.xbmc.versioncheck
+
+install -m 0755 tools/TexturePacker/TexturePacker $PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
+
+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
+
+# Install manpages.
+mkdir -p $PKG/usr/man/man1
+for i in $PRGNAM.bin.1 $PRGNAM.1 $PRGNAM-standalone.1; do
+ install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
+done
+
+if ! [ "${WII:-no}" = "no" ]; then
+ for i in $PRGNAM-j2meremote.1 $PRGNAM-ps3remote.1 $PRGNAM-wiiremote.1 $PRGNAM-send.1; do
+ install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
+ done
+fi
+gzip -9 $PKG/usr/man/man?/*.?
+
+cp -a \
+ tools/EventClients/README.txt $SRCNAM-pvr-addons-Helix_rc3/COPYING \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# Final clean up.
+find $PKG \( -name "Makefile*" -o -name "*cmake*" -o -name "*\.in" \) -exec rm -f '{}' \;
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/multimedia/kodi/kodi.info b/multimedia/kodi/kodi.info
new file mode 100644
index 0000000000..2f833f2fb3
--- /dev/null
+++ b/multimedia/kodi/kodi.info
@@ -0,0 +1,14 @@
+PRGNAM="kodi"
+VERSION="14.0"
+HOMEPAGE="http://xbmc.org/"
+DOWNLOAD="http://mirrors.kodi.tv/releases/source/14.0-Helix.tar.gz \
+ https://github.com/opdenkamp/xbmc-pvr-addons/archive/Helix_rc3.tar.gz \
+ https://github.com/xbmc/FFmpeg/archive/2.4.4-Helix.tar.gz"
+MD5SUM="9717c539789789b8aeaf1dcfdb9f2c69 \
+ 5fd7b09f11e0fb6c3a8874d4ed20a694 \
+ 19b5d29ef6b5a6fc202c652fe3905d9b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="jdk libass libmpeg2 libmodplug yajl tinyxml"
+MAINTAINER="Larry Hajali"
+EMAIL="larryhaja[at]gmail[dot]com"
diff --git a/multimedia/kodi/patches/sse2.patch b/multimedia/kodi/patches/sse2.patch
new file mode 100644
index 0000000000..d9b730ed2f
--- /dev/null
+++ b/multimedia/kodi/patches/sse2.patch
@@ -0,0 +1,12 @@
+diff -Naur Git-xbmc.orig/lib/libsquish/config Git-xbmc/lib/libsquish/config
+--- Git-xbmc.orig/lib/libsquish/config 2012-11-18 14:14:35.000000000 +0000
++++ Git-xbmc/lib/libsquish/config 2012-12-07 02:54:22.864062271 +0000
+@@ -4,7 +4,7 @@
+ USE_ALTIVEC ?= 0
+
+ # define to 1 to use SSE2 instructions
+-USE_SSE ?= 0
++USE_SSE ?= 1
+
+ # default flags
+ CXXFLAGS ?= -O2
diff --git a/multimedia/kodi/patches/xbmc-13.0-dvdread.patch b/multimedia/kodi/patches/xbmc-13.0-dvdread.patch
new file mode 100644
index 0000000000..d694a95cae
--- /dev/null
+++ b/multimedia/kodi/patches/xbmc-13.0-dvdread.patch
@@ -0,0 +1,138 @@
+From 7bc0877dc9715e891159392abf669f970722dece Mon Sep 17 00:00:00 2001
+From: Ken Dreyer <ktdreyer@ktdreyer.com>
+Date: Mon, 6 May 2013 17:07:40 -0600
+Subject: [PATCH 1/3] Fedora: use external dvdread
+
+Original patch by Alex Lancaster <alexlan[AT]fedoraproject org>
+(cherry picked from commit 9f9845af842a376d5bdf70742785e7727695fd03)
+---
+ bootstrap.mk | 5 -----
+ configure.in | 19 -------------------
+ lib/libdvd/Makefile.in | 20 +++++++-------------
+ 3 files changed, 7 insertions(+), 37 deletions(-)
+
+diff --git a/bootstrap.mk b/bootstrap.mk
+index 8bc4795..1fc31a4 100644
+--- a/bootstrap.mk
++++ b/bootstrap.mk
+@@ -8,7 +8,6 @@ ifneq ($(wildcard lib/libdvd/libdvdcss/configure.ac),)
+ BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdcss/configure.ac
+ DVD_CSS=lib/libdvd/libdvdcss/configure
+ endif
+-BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdread/configure.ac
+ BOOTSTRAP_SUBDIRS += lib/libdvd/libdvdnav/configure.ac
+
+ ifneq ($(wildcard pvr-addons/Makefile.am),)
+@@ -18,10 +17,6 @@ endif
+ BOOTSTRAP_TARGETS=$(basename $(BOOTSTRAP_SUBDIRS))
+ all: $(BOOTSTRAP_TARGETS)
+
+-#preserve order for libdvd. dvdcss (if present) -> dvdread -> dvdnav.
+-lib/libdvd/libdvdread/configure: $(DVD_CSS)
+-lib/libdvd/libdvdnav/configure: lib/libdvd/libdvdread/configure
+-
+ %: %.ac
+ autoreconf -vif $(@D)
+ -@rm -rf $(@D)/autom4te.cache
+diff --git a/configure.in b/configure.in
+index beb8aac..343292e 100644
+--- a/configure.in
++++ b/configure.in
+@@ -2860,27 +2860,9 @@
+ --with-pic
+ ], [$SKIP_CONFIG_DVDCSS])
+
+-XB_CONFIG_MODULE([lib/libdvd/libdvdread], [
+- ./configure2 \
+- --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src $DROID_DVDLIB_SEEK64" \
+- --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+- --host=$host_alias \
+- --build=$build_alias \
+- --target=$target_alias \
+- --enable-static \
+- --disable-shared \
+- --disable-strip \
+- --disable-opts \
+- --cc="$CC" &&
+- mkdir -p `pwd`/../includes/dvdread
+- cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
+- cp `pwd`/../libdvdread/src/dvdread/*.h `pwd`/../includes/dvdread
+-], [0])
+-
+ XB_CONFIG_MODULE([lib/libdvd/libdvdnav], [
+ ./configure2 \
+ --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes $DROID_DVDLIB_SEEK64" \
+- --extra-ldflags="-L`pwd`/../libdvdread/obj" \
+ --with-dvdread-config="`pwd`/../dvdread-config" \
+ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
+ --host=$host_alias \
+diff --git a/lib/libdvd/Makefile.in b/lib/libdvd/Makefile.in
+index 69d2286..1f5eebb 100644
+--- a/lib/libdvd/Makefile.in
++++ b/lib/libdvd/Makefile.in
+@@ -5,8 +5,7 @@ CXX=@CXX@
+
+ SYSDIR=@abs_top_srcdir@/system/players/dvdplayer
+ SOS= libdvdnav-$(ARCH).so
+-DIRS= libdvdread \
+- libdvdnav
++DIRS= libdvdnav
+
+ WRAPPER=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper.o
+ WRAPPER_MACH_ALIAS=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper_mach_alias
+@@ -14,7 +13,7 @@ WRAPPER_MACH_ALIAS=@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper_mach_al
+ ifeq ($(findstring osx,$(ARCH)),osx)
+ LDFLAGS +=-bundle -undefined dynamic_lookup -read_only_relocs suppress
+ else
+-LDFLAGS += -shared -fPIC -rdynamic
++LDFLAGS += -shared -fPIC -rdynamic -ldvdread
+ endif
+
+ ifeq ($(ARCH), powerpc-osx)
+@@ -35,8 +34,7 @@ SLIB=$(addprefix $(SYSDIR)/, $(SOS))
+
+ DISTCLEAN_FILES=includes/dvdread/*.h \
+ includes/dvdcss/*.h \
+- libdvdnav/config.h \
+- libdvdread/config.h
++ libdvdnav/config.h
+
+ .PHONY: $(DIRS) compile
+
+@@ -48,9 +46,9 @@ $(SYSDIR)/libdvdcss-$(ARCH).so: $($(WRAPPER)) libdvdcss/src/.libs/libdvdcss.a
+ $(CC) $(LDFLAGS) -Wl,-alias_list,$(WRAPPER_MACH_ALIAS) -o $@ \
+ $(WRAPPER) libdvdcss/src/*.o $(BUNDLE1_O)
+
+-$(SYSDIR)/libdvdnav-$(ARCH).so: $($(WRAPPER)) $(DVDCSS_A) libdvdread/obj/libdvdread.a libdvdnav/obj/libdvdnav.a
++$(SYSDIR)/libdvdnav-$(ARCH).so: $($(WRAPPER)) $(DVDCSS_A) libdvdnav/obj/libdvdnav.a
+ $(CC) $(LDFLAGS) -Wl,-alias_list,$(WRAPPER_MACH_ALIAS) -o $@ \
+- $(WRAPPER) $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o $(BUNDLE1_O)
++ $(WRAPPER) $(DVDCSS_O) libdvdnav/obj/*.o $(BUNDLE1_O)
+
+ else
+
+@@ -59,8 +57,8 @@ $(SYSDIR)/libdvdcss-$(ARCH).so: $(WRAPPER) libdvdcss/src/.libs/libdvdcss.a
+ libdvdcss/src/*.o -Wl,--unresolved-symbols=ignore-all -lm \
+ `cat $(WRAPPER:.o=.def)` $(WRAPPER)
+
+-$(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdread/obj/libdvdread.a libdvdnav/obj/libdvdnav.a
+- $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ $(DVDCSS_O) libdvdread/obj/*.o libdvdnav/obj/*.o -lm \
++$(SYSDIR)/libdvdnav-$(ARCH).so: $(WRAPPER) $(DVDCSS_A) libdvdnav/obj/libdvdnav.a
++ $(CC) -o $@ $(LDFLAGS) -Wl,--soname,$@ $(DVDCSS_O) libdvdnav/obj/*.o -lm \
+ -Wl,--unresolved-symbols=ignore-all \
+ `cat $(WRAPPER:.o=.def)` $(WRAPPER)
+
+@@ -70,10 +68,6 @@ libdvdcss/src/.libs/libdvdcss.a: libdvdcss;
+ libdvdcss: compile
+ $(MAKE) -C $@
+
+-libdvdread/obj/libdvdread.a: libdvdread;
+-libdvdread: compile
+- $(MAKE) -C $@
+-
+ libdvdnav/obj/libdvdnav.a: libdvdnav;
+ libdvdnav: compile
+ $(MAKE) -C $@
+--
+1.8.5.3
+
diff --git a/multimedia/kodi/patches/xbmc-Gotham-rtmpdump-build.patch b/multimedia/kodi/patches/xbmc-Gotham-rtmpdump-build.patch
new file mode 100644
index 0000000000..b745a55754
--- /dev/null
+++ b/multimedia/kodi/patches/xbmc-Gotham-rtmpdump-build.patch
@@ -0,0 +1,13 @@
+diff -Naur xbmc-Gotham_alpha9.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp xbmc-Gotham_alpha9/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp
+--- xbmc-Gotham_alpha9.orig/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp 2013-10-31 16:48:45.000000000 +0000
++++ xbmc-Gotham_alpha9/xbmc/cores/dvdplayer/DVDInputStreams/DVDInputStreamRTMP.cpp 2013-11-28 05:47:36.418763917 +0000
+@@ -21,9 +21,7 @@
+ #if (defined HAVE_CONFIG_H) && (!defined TARGET_WINDOWS)
+ #include "config.h"
+ #endif
+-#ifdef TARGET_WINDOWS
+ #include "system.h" // just for HAS_LIBRTMP
+-#endif
+
+ #ifdef HAS_LIBRTMP
+ #include "settings/AdvancedSettings.h"
diff --git a/multimedia/kodi/patches/xbmc-Helix-samba-4.0.patch b/multimedia/kodi/patches/xbmc-Helix-samba-4.0.patch
new file mode 100644
index 0000000000..bb570ad9f0
--- /dev/null
+++ b/multimedia/kodi/patches/xbmc-Helix-samba-4.0.patch
@@ -0,0 +1,24 @@
+diff -Naur xbmc-14.0-Helix.orig/xbmc/filesystem/SMBDirectory.cpp xbmc-14.0-Helix/xbmc/filesystem/SMBDirectory.cpp
+--- xbmc-14.0-Helix.orig/xbmc/filesystem/SMBDirectory.cpp 2014-12-22 23:11:35.000000000 +0000
++++ xbmc-14.0-Helix/xbmc/filesystem/SMBDirectory.cpp 2014-12-24 03:32:09.227643266 +0000
+@@ -42,7 +42,7 @@
+ #include "threads/SingleLock.h"
+ #include "PasswordManager.h"
+
+-#include <libsmbclient.h>
++#include <samba-4.0/libsmbclient.h>
+
+ #if defined(TARGET_DARWIN)
+ #define XBMC_SMB_MOUNT_PATH "Library/Application Support/Kodi/Mounts/"
+diff -Naur xbmc-14.0-Helix.orig/xbmc/filesystem/SMBFile.cpp xbmc-14.0-Helix/xbmc/filesystem/SMBFile.cpp
+--- xbmc-14.0-Helix.orig/xbmc/filesystem/SMBFile.cpp 2014-12-22 23:11:35.000000000 +0000
++++ xbmc-14.0-Helix/xbmc/filesystem/SMBFile.cpp 2014-12-24 03:32:52.697913705 +0000
+@@ -26,7 +26,7 @@
+ #include "SMBFile.h"
+ #include "PasswordManager.h"
+ #include "SMBDirectory.h"
+-#include <libsmbclient.h>
++#include <samba-4.0/libsmbclient.h>
+ #include "settings/AdvancedSettings.h"
+ #include "settings/Settings.h"
+ #include "threads/SingleLock.h"
diff --git a/multimedia/kodi/slack-desc b/multimedia/kodi/slack-desc
new file mode 100644
index 0000000000..d6fb509386
--- /dev/null
+++ b/multimedia/kodi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kodi: kodi (Multi-platform Media Center)
+kodi:
+kodi: XBMC is an award winning media center application for Linux, Mac OS X,
+kodi: Windows and XBox. The ultimate hub for all your media, XBMC is easy to
+kodi: use, looks slick, and has a large helpful community. XBMC supports
+kodi: viewing and playing a vast library of audio, video and image formats.
+kodi: XBMC has a sophisticated library management system that allows you to
+kodi: organize all your media to give you quick and immediate access.
+kodi:
+kodi: Homepage: http://kodi.tv
+kodi: