summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Jeremy Hansen <jebrhansen+github@gmail.com>2024-04-11 19:44:00 -0700
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2024-04-13 22:03:55 +0700
commitc61b4d5ee2da70d22077b4b6d7911e58b2920a9b (patch)
treed1c032942cf18954dcf7cd2269a71e9660f10670
parent89ddd3b60ac69147301f1252ac8afd93eb377aab (diff)
downloadslackbuilds-c61b4d5ee2da70d22077b4b6d7911e58b2920a9b.tar.gz
slackbuilds-c61b4d5ee2da70d22077b4b6d7911e58b2920a9b.tar.xz
multimedia/kodi: Version bump to 21.0 (Omega)
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--multimedia/kodi/README15
-rw-r--r--multimedia/kodi/kodi.SlackBuild52
-rw-r--r--multimedia/kodi/kodi.info24
3 files changed, 50 insertions, 41 deletions
diff --git a/multimedia/kodi/README b/multimedia/kodi/README
index 2601c145c7..44352744a8 100644
--- a/multimedia/kodi/README
+++ b/multimedia/kodi/README
@@ -12,8 +12,10 @@ dav1d - AV1 codec support
libcec - CEC support
libmicrohttpd - Web interface support
libnfs - Browse NFS shares
+libudfread - Universal Disk Format (UDF) support
lirc - Remote support
shairplay - Airplay Support
+sndio - Alternative audio backend
waylandpp - Early wayland support
NOTE:
@@ -25,10 +27,9 @@ upgraded to at least python3-3.9.14 or later from the patches/
directory on your favorite mirror. 3.9.12 and earlier had issues.
FINAL NOTE:
-If you are running into issues with playing certain formats that should
-be supported due to optional dependencies (I had issues with AV1
-content even with dav1d installed until I rebuilt ffmpeg), you may need
-to rebuild Slackware's ffmpeg to add that support or use Kodi's
-internal version by passing FFMPEG=internal to the SlackBuild script
-(this will cause the kodi build system to require internet access so
-root can download ffmpeg).
+FFMPEG on 15.0 is too old to be used in kodi v21, so it is using an
+internal version of 6.0.1. If you have FFMPEG v6+ installed (probably
+mainly -current users), you can have kodi build against the system
+version by passing FFMPEG=external when building. System versions of
+FFMPEG may need to be recompiled to enable certain functionality like
+AV1 after installing dav1d.
diff --git a/multimedia/kodi/kodi.SlackBuild b/multimedia/kodi/kodi.SlackBuild
index febd144de3..20d87b46eb 100644
--- a/multimedia/kodi/kodi.SlackBuild
+++ b/multimedia/kodi/kodi.SlackBuild
@@ -27,22 +27,22 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=kodi
SRCNAM=xbmc
-CODNAM=Nexus
-VERSION=${VERSION:-20.5}
+CODNAM=Omega
+VERSION=${VERSION:-21.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
# Versions used below
crossguidVER=${crossguiVER:-ca1bf4b810e2d188d04cb6286f957008ee1b7681}
-fmtVER=${fmtVER:-9.1.0}
-fstrcmpVER=${fstrcmpVER:-0.7.D001}
libdvdcssVER=${libdvdcssVER:-1.4.3-Next-Nexus-Alpha2-2}
libdvdnavVER=${libdvdnavVER:-6.1.1-Next-Nexus-Alpha2-2}
libdvdreadVER=${libdvdreadVER:-6.1.3-Next-Nexus-Alpha2-2}
rapidjsonVER=${rapidjsonVER:-1.1.0}
-spdlogVER=${spdlogVER:-1.10.0}
-udfreadVER=${udfreadVER:-1.1.2}
+groovyVER=${groovyVER:-4.0.16}
+comLangVER=${comLangVER:-3.14.0}
+comTextVER=${comTextVER:-1.11.0}
+ffmpegVER=${ffmpegVER:-6.0.1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -97,6 +97,7 @@ 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 pkg-config --exists libudfread ; then UDFREAD=ON; else UDFREAD=OFF; fi
if [ -f /usr/bin/shairplay ] ; then AIRPLAY=ON; else AIRPLAY=OFF; fi
# Adding early support for wayland. Needs libraries/waylandpp from SBo.
@@ -106,19 +107,32 @@ if pkg-config --exists wayland-client++; then PLATFORM="$PLATFORM wayland"; fi
mkdir -p $TMP/$PRGNAM-build
cd $TMP/$PRGNAM-build
-# Some optional features may not be supported with Slackware's default
-# ffmpeg package without being rebuilt. If the user would rather use
-# kodi's internal package, that might include playback support for
-# optional dependencies. Use Kodi's internal ffmpeg version by passing
-# FFMPEG=internal to the SlackBuild.
-if [ "${FFMPEG}" == "internal" ]; then FFMPEG=ON; else FFMPEG=OFF; fi
+# 15.0's ffmpeg is not supported in Omega, you need at least ffmpeg 6.0
+# Default to using the internal version, but allow switching to external
+# for -current users or people who upgrade their stock ffmpeg.
+# Pass FFMPEG=external to enable external support.
+if [ "${FFMPEG}" == "external" ]; then
+ FFMPEG="OFF"
+ FFMPEGURL=""
+else
+ FFMPEG="ON"
+ FFMPEGURL="-DFFMPEG_URL=$CWD/ffmpeg-$ffmpegVER.tar.gz"
+fi
+
+# There doesn't seem to be a way to specify the url of these files
+# (eg -DGROOVY_URL didn't work for the first one). But if you place them
+# in the expected location, it won't try and download them.
+mkdir -p build/download
+cp -a $CWD/apache-groovy-binary-$groovyVER.zip \
+ $CWD/commons-lang3-$comLangVER-bin.tar.gz \
+ $CWD/commons-text-$comTextVER-bin.tar.gz \
+ build/download
# Reasons for internal programs
# (so I can remember in the future why we're using them)
# Internal crossguid & rapidjson is recommended by upstream
-# fstrcmp and udfread currently unavailable on SBo
-# Using external spdlog & fmt breaks inputstream.adaptive
+# Internal ffmpeg since 15.0's is too old
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
@@ -129,10 +143,6 @@ if [ "${FFMPEG}" == "internal" ]; then FFMPEG=ON; else FFMPEG=OFF; fi
-DCORE_PLATFORM_NAME="$PLATFORM" \
-DENABLE_INTERNAL_CROSSGUID=ON \
-DENABLE_INTERNAL_RapidJSON=ON \
- -DENABLE_INTERNAL_FSTRCMP=ON \
- -DENABLE_INTERNAL_UDFREAD=ON \
- -DENABLE_INTERNAL_FMT=ON \
- -DENABLE_INTERNAL_SPDLOG=ON \
-DENABLE_INTERNAL_FFMPEG=$FFMPEG \
-DENABLE_AIRTUNES=$AIRPLAY \
-DENABLE_AVAHI=$AVAHI \
@@ -142,15 +152,13 @@ if [ "${FFMPEG}" == "internal" ]; then FFMPEG=ON; else FFMPEG=OFF; fi
-DENABLE_LIRCCLIENT=$LIRC \
-DENABLE_MICROHTTPD=$WEBSERVER \
-DENABLE_NFS=$NFS \
+ -DENABLE_UDFREAD=$UDFREAD \
-DCROSSGUID_URL=$CWD/crossguid-$crossguidVER.tar.gz \
- -DFMT_URL=$CWD/fmt-$fmtVER.tar.gz \
- -DFSTRCMP_URL=$CWD/fstrcmp-$fstrcmpVER.tar.gz \
-Dlibdvdcss_URL=$CWD/libdvdcss-$libdvdcssVER.tar.gz \
-Dlibdvdnav_URL=$CWD/libdvdnav-$libdvdnavVER.tar.gz \
-Dlibdvdread_URL=$CWD/libdvdread-$libdvdreadVER.tar.gz \
-DRAPIDJSON_URL=$CWD/rapidjson-$rapidjsonVER.tar.gz \
- -DSPDLOG_URL=$CWD/spdlog-$spdlogVER.tar.gz \
- -DUDFREAD_URL=$CWD/libudfread-$udfreadVER.tar.gz \
+ $FFMPEGURL \
-DCMAKE_BUILD_TYPE=Release ../$SRCNAM-$VERSION-$CODNAM
make
make install/strip DESTDIR=$PKG
diff --git a/multimedia/kodi/kodi.info b/multimedia/kodi/kodi.info
index 9a06496159..c5f6d7f60d 100644
--- a/multimedia/kodi/kodi.info
+++ b/multimedia/kodi/kodi.info
@@ -1,28 +1,28 @@
PRGNAM="kodi"
-VERSION="20.5"
+VERSION="21.0"
HOMEPAGE="https://kodi.tv/"
-DOWNLOAD="https://github.com/xbmc/xbmc/archive/20.5-Nexus/xbmc-20.5-Nexus.tar.gz \
+DOWNLOAD="https://github.com/xbmc/xbmc/archive/21.0-Omega/xbmc-21.0-Omega.tar.gz \
https://github.com/xbmc/crossguid/archive/ca1bf4b/crossguid-ca1bf4b810e2d188d04cb6286f957008ee1b7681.tar.gz \
https://github.com/xbmc/libdvdcss/archive/refs/tags/1.4.3-Next-Nexus-Alpha2-2/libdvdcss-1.4.3-Next-Nexus-Alpha2-2.tar.gz \
https://github.com/xbmc/libdvdnav/archive/refs/tags/6.1.1-Next-Nexus-Alpha2-2/libdvdnav-6.1.1-Next-Nexus-Alpha2-2.tar.gz \
https://github.com/xbmc/libdvdread/archive/refs/tags/6.1.3-Next-Nexus-Alpha2-2/libdvdread-6.1.3-Next-Nexus-Alpha2-2.tar.gz \
- https://github.com/fmtlib/fmt/archive/refs/tags/9.1.0/fmt-9.1.0.tar.gz \
- https://github.com/gabime/spdlog/archive/refs/tags/v1.10.0/spdlog-1.10.0.tar.gz \
https://github.com/miloyip/rapidjson/archive/v1.1.0/rapidjson-1.1.0.tar.gz \
- https://code.videolan.org/videolan/libudfread/-/archive/1.1.2/libudfread-1.1.2.tar.gz \
- https://fstrcmp.sourceforge.net/fstrcmp-0.7.D001.tar.gz"
-MD5SUM="abe2c7791f96e17b4476d268e5b01e3b \
+ http://mirrors.kodi.tv/build-deps/sources/apache-groovy-binary-4.0.16.zip \
+ http://mirrors.kodi.tv/build-deps/sources/commons-lang3-3.14.0-bin.tar.gz \
+ http://mirrors.kodi.tv/build-deps/sources/commons-text-1.11.0-bin.tar.gz \
+ http://mirrors.kodi.tv/build-deps/sources/ffmpeg-6.0.1.tar.gz"
+MD5SUM="74501a89f0ea23d2908a9b983ab3d6f8 \
d4a8d62f3f8d6d946be75cf5bfa92687 \
42dc3770ae928103e8033a18b007e79d \
2349cde54d950af21fa4936371ad3349 \
0d24c950abfef9dc02e231dda56912ac \
- 21fac48cae8f3b4a5783ae06b443973a \
- effea813cd81cfb5588806c5754e14f1 \
badd12c511e081fec6c89c43a7027bce \
- e53c37085c3bf01d5c6623021563dcae \
- 9c440bbdfcad9fd22e38f2388715b0cc"
+ bd9eb761a11372dd659da8c2cf1ae692 \
+ 88c83b3fa007ae35d4f82a2466cad423 \
+ ae1f7607159b192e12f9c8eaaaf3d927 \
+ ab9c27629c2a43689c63ff55fd7cbf67"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="zulu-openjdk11 libass flatbuffers tinyxml gtest"
+REQUIRES="zulu-openjdk11 libass flatbuffers tinyxml gtest fmt fstrcmp spdlog tinyxml2 libdisplay-info"
MAINTAINER="Jeremy Hansen"
EMAIL="jebrhansen+SBo@gmail.com"