summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Jeremy Hansen2022-03-05 12:10:52 +0100
committer Willy Sudiarto Raharjo2022-03-07 02:45:28 +0100
commitc24fcbc634c09aa3ad9d450fef1499ca0ae0b676 (patch)
tree4c825366f1575c6ad0baf3b8dedffa57179d9d84
parent1d4e76d3df58c1c27d2579958d09434dd5d81312 (diff)
downloadslackbuilds-c24fcbc634c09aa3ad9d450fef1499ca0ae0b676.tar.gz
multimedia/kodi: Updated for version 19.4.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--multimedia/kodi/README29
-rw-r--r--multimedia/kodi/kodi.SlackBuild135
-rw-r--r--multimedia/kodi/kodi.info10
-rw-r--r--multimedia/kodi/patches/kodi-texturepacker.patch17
-rw-r--r--multimedia/kodi/patches/xbmc-Krypton-samba-4.0.patch24
5 files changed, 70 insertions, 145 deletions
diff --git a/multimedia/kodi/README b/multimedia/kodi/README
index 1d4038e386..3f040551f7 100644
--- a/multimedia/kodi/README
+++ b/multimedia/kodi/README
@@ -5,24 +5,15 @@ viewing and playing a vast library of audio, video and image formats.
Kodi has a sophisticated library management system that allows you to
organize all your media to give you quick and immediate access.
-Optional dependencies: libcec, libnfs, lirc, cwiid, python2-pybluez,
- avahi, shairplay, and openjdk
-
-Optional: libcrystalhd (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 yes), requires libmicrohttpd
+Optional autodetected dependencies:
+avahi - Network discovery
+cwiid - Controller support
+dav1d - AV1 codec support
+libcec - CEC support
+libmicrohttpd - Web interface support
+libnfs - Browse NFS shares
+lirc - Remote support
+shairplay - Airplay Support
NOTE:
-Kodi can be compiled with openjdk instead of jdk.
-
-Please remove or rename /etc/oss.conf if it exists on your system
-prior to building this package or it will fail to build.
-
-Using the system ffmpeg in the Kodi slackbuild is currently not
-supported. The option to build Kodi with system ffmpeg is still
-available in the slackbuild but it won't be supported by the
-maintainer.
+Kodi can be compiled with jdk11 instead of zulu-openjdk11.
diff --git a/multimedia/kodi/kodi.SlackBuild b/multimedia/kodi/kodi.SlackBuild
index a954a733eb..57083cf36f 100644
--- a/multimedia/kodi/kodi.SlackBuild
+++ b/multimedia/kodi/kodi.SlackBuild
@@ -26,9 +26,8 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=kodi
SRCNAM=xbmc
-CODNAM=Krypton
-VERSION=${VERSION:-17.6}
-FFMPEGVER=${FFMPEGVER:-3.1.11}
+CODNAM=Matrix
+VERSION=${VERSION:-19.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -75,9 +74,6 @@ cd $TMP
rm -rf $SRCNAM-$VERSION-$CODNAM
tar xvf $CWD/$SRCNAM-$VERSION-$CODNAM.tar.gz
cd $SRCNAM-$VERSION-$CODNAM
-# Don't have the Makefile download ffmpeg during install.
-ln -s $CWD/FFmpeg-${FFMPEGVER}-${CODNAM}.tar.gz \
- tools/depends/target/ffmpeg/ffmpeg-${FFMPEGVER}-${CODNAM}-17.5.tar.gz
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -85,89 +81,70 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# No need to show Git: "Version" in a release build.
-sed -i '/Git:/s|.*| return GetVersionShort();|' $SRCNAM/utils/SystemInfo.cpp
-
-# Patch for Samba 4.0.
-patch -p1 < $CWD/patches/xbmc-Krypton-samba-4.0.patch
-
-# Fix static linking for Texturepacker. Thanks to Gentoo.
-# Issue: http://forum.kodi.tv/showthread.php?tid=220407
-patch -p0 < $CWD/patches/kodi-texturepacker.patch
-
-# 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:-yes}" == "yes" ]; then
- OPT_DEPS="$OPT_DEPS --enable-webserver"
-else
- OPT_DEPS="$OPT_DEPS --disable-webserver"
-fi
-
-export PATH="$PATH:$PWD/tools/depends/native/JsonSchemaBuilder/bin"
-
-./bootstrap
-
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --disable-silent-rules \
- --enable-static=no \
- --disable-debug \
- --enable-gl \
- --enable-mid \
- --enable-alsa \
- --enable-texturepacker \
- --enable-pulse \
- $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 2>/dev/null
-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
+# Autodetection of "optional" dependencies sucks. It does not work and
+# compilation will fail on each of these if not explicitly disabled.
+# Figured I'd mplemented my own autodetection instead of requiring
+# passing a bunch of annoying flags :)
+if pkg-config --exists avahi-core ; then AVAHI=ON; else AVAHI=OFF; fi
+if pkg-config --exists cwiid ; then CWIID=ON; else CWIID=OFF; fi
+if pkg-config --exists dav1d ; then DAV1D=ON; else DAV1D=OFF; fi
+if pkg-config --exists libmicrohttpd ; then WEBSERVER=ON; else WEBSERVER=OFF; fi
+if pkg-config --exists libcec ; then CEC=ON; else CEC=OFF; fi
+if pkg-config --exists libnfs ; then NFS=ON; else NFS=OFF; fi
+if pkg-config --exists lirc ; then LIRC=ON; else LIRC=OFF; fi
+if [ -f /usr/bin/shairplay ] ; then AIRPLAY=ON; else AIRPLAY=OFF; fi
+
+mkdir -p $TMP/$PRGNAM-build
+cd $TMP/$PRGNAM-build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DAPP_RENDER_SYSTEM=gl \
+ -DCORE_PLATFORM_NAME="x11" \
+ -DENABLE_INTERNAL_FSTRCMP=ON \
+ -DENABLE_INTERNAL_UDFREAD=ON \
+ -DENABLE_AIRTUNES=$AIRPLAY \
+ -DENABLE_AVAHI=$AVAHI \
+ -DENABLE_CEC=$LIBCEC \
+ -DENABLE_DAV1D=$DAV1D \
+ -DENABLE_EVENTCLIENTS=$CWIID \
+ -DENABLE_LIRCCLIENT=$LIRC \
+ -DENABLE_MICROHTTPD=$WEBSERVER \
+ -DENABLE_NFS=$NFS \
+ -DCMAKE_BUILD_TYPE=Release ../$SRCNAM-$VERSION-$CODNAM
+ make
+ make install/strip DESTDIR=$PKG
+cd ..
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.
+# 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
+for i in {$PRGNAM{,.bin,-standalone},TexturePacker}.1; do
+ install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i
done
-if ! [ "${WII:-no}" = "no" ]; then
- for i in $PRGNAM-ps3remote.1 $PRGNAM-send.1 $PRGNAM-wiiremote.1; do
- install -m 0644 docs/manpages/$i $PKG/usr/man/man1/$i
+# Install Event Control manpages if enabled
+if [ $CWIID == "ON" ]; then
+ for i in $PRGNAM{-ps3remote,-wiiremote,-send}.1; do
+ install -m 0644 $SRCNAM-$VERSION-$CODNAM/docs/manpages/$i $PKG/usr/man/man1/$i
done
fi
-gzip -9 $PKG/usr/man/man?/*.?
-
-cp -a tools/EventClients/README.txt $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 '{}' \;
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+(
+ cd $SRCNAM-$VERSION-$CODNAM
+ cp -a README.md privacy-policy.txt version.txt docs/MANIFESTO.md $PKG/usr/doc/$PRGNAM-$VERSION
+ if [ $CWIID == "ON" ]; then
+ cat tools/EventClients/README.txt > $PKG/usr/doc/$PRGNAM-$VERSION/Event-Client-README.txt
+ fi
+ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+)
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/multimedia/kodi/kodi.info b/multimedia/kodi/kodi.info
index 7617a5da6b..534d2a0627 100644
--- a/multimedia/kodi/kodi.info
+++ b/multimedia/kodi/kodi.info
@@ -1,12 +1,10 @@
PRGNAM="kodi"
-VERSION="17.6"
+VERSION="19.4"
HOMEPAGE="https://kodi.tv/"
-DOWNLOAD="https://github.com/xbmc/xbmc/archive/17.6-Krypton/xbmc-17.6-Krypton.tar.gz \
- https://github.com/xbmc/FFmpeg/archive/3.1.11-Krypton-17.5/FFmpeg-3.1.11-Krypton.tar.gz"
-MD5SUM="a64c2fc56ddc41b9b0dded55eaabf170 \
- 6cf2d25e2a38fd274d9fb37a7bb4f953"
+DOWNLOAD="https://github.com/xbmc/xbmc/archive/19.4-Matrix/xbmc-19.4-Matrix.tar.gz"
+MD5SUM="a668854505eff3ca5ed9f33e3ac91c80"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="zulu-openjdk8 libass crossguid yajl tinyxml libmicrohttpd"
+REQUIRES="zulu-openjdk11 libass flatbuffers fmt rapidjson spdlog tinyxml shairplay gtest"
MAINTAINER="Larry Hajali"
EMAIL="larryhaja[at]gmail[dot]com"
diff --git a/multimedia/kodi/patches/kodi-texturepacker.patch b/multimedia/kodi/patches/kodi-texturepacker.patch
deleted file mode 100644
index fe3dcdcf7a..0000000000
--- a/multimedia/kodi/patches/kodi-texturepacker.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- tools/depends/native/TexturePacker/Makefile.old 2015-03-17 22:29:18.880029509 +0100
-+++ tools/depends/native/TexturePacker/Makefile 2015-03-17 22:29:41.459671679 +0100
-@@ -9,14 +9,10 @@
-
- ifeq ($(NATIVEPLATFORM),)
- PLATFORM = native
-- EXTRA_CONFIGURE = --enable-static
- else
- PLATFORM = $(NATIVEPLATFORM)
- endif
-
--ifeq ($(NATIVE_OS), linux)
-- EXTRA_CONFIGURE = --enable-static
--endif
- ifeq ($(NATIVE_OS), android)
- EXTRA_CONFIGURE = --enable-static
- endif
diff --git a/multimedia/kodi/patches/xbmc-Krypton-samba-4.0.patch b/multimedia/kodi/patches/xbmc-Krypton-samba-4.0.patch
deleted file mode 100644
index 6916ead2ce..0000000000
--- a/multimedia/kodi/patches/xbmc-Krypton-samba-4.0.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naur xbmc-17.1-Krypton.orig/xbmc/filesystem/SMBDirectory.cpp xbmc-17.1-Krypton/xbmc/filesystem/SMBDirectory.cpp
---- xbmc-17.1-Krypton.orig/xbmc/filesystem/SMBDirectory.cpp 2017-03-20 16:17:49.000000000 +0000
-+++ xbmc-17.1-Krypton/xbmc/filesystem/SMBDirectory.cpp 2017-03-20 23:01:52.444160749 +0000
-@@ -45,7 +45,7 @@
- #include "linux/XTimeUtils.h"
- #endif
-
--#include <libsmbclient.h>
-+#include <samba-4.0/libsmbclient.h>
-
- struct CachedDirEntry
- {
-diff -Naur xbmc-17.1-Krypton.orig/xbmc/filesystem/SMBFile.cpp xbmc-17.1-Krypton/xbmc/filesystem/SMBFile.cpp
---- xbmc-17.1-Krypton.orig/xbmc/filesystem/SMBFile.cpp 2017-03-20 16:17:49.000000000 +0000
-+++ xbmc-17.1-Krypton/xbmc/filesystem/SMBFile.cpp 2017-03-20 23:00:17.355154034 +0000
-@@ -26,7 +26,7 @@
- #include "SMBFile.h"
- #include "PasswordManager.h"
- #include "SMBDirectory.h"
--#include <libsmbclient.h>
-+#include <samba-4.0/libsmbclient.h>
- #include "filesystem/SpecialProtocol.h"
- #include "settings/AdvancedSettings.h"
- #include "settings/Settings.h"